cs-project-svn_notify Mailing List for CS-Project
Brought to you by:
crazedsanity
You can subscribe to this list here.
2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(65) |
Dec
(47) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2008 |
Jan
(34) |
Feb
(82) |
Mar
(21) |
Apr
(12) |
May
(16) |
Jun
|
Jul
(6) |
Aug
(8) |
Sep
|
Oct
|
Nov
|
Dec
|
2009 |
Jan
(1) |
Feb
(52) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(9) |
Aug
(5) |
Sep
(12) |
Oct
(11) |
Nov
(4) |
Dec
(15) |
2010 |
Jan
|
Feb
|
Mar
(6) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(9) |
2012 |
Jan
(2) |
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
From: <cra...@us...> - 2012-09-11 03:15:19
|
Revision: 1041 http://cs-project.svn.sourceforge.net/cs-project/?rev=1041&view=rev Author: crazedsanity Date: 2012-09-11 03:15:10 +0000 (Tue, 11 Sep 2012) Log Message: ----------- Some documentation... and stuff. Modified Paths: -------------- trunk/current/docs/CS-Project_Ideas.xmind Added Paths: ----------- trunk/current/docs/CS-Project Database Design.xmind trunk/current/docs/CS-Project Misc. Documentation.xmind trunk/current/docs/CS-Project__redesign-active_project.bmml trunk/current/docs/Meeting_and_Misc_Notes.xmind trunk/current/docs/assets/ trunk/current/docs/assets/symbols.bmml trunk/current/docs/considerations.doc trunk/current/docs/cs-project_ideas.txt trunk/current/docs/natural_URLs.doc trunk/current/docs/todo.txt Property Changed: ---------------- trunk/current/docs/ Property changes on: trunk/current/docs ___________________________________________________________________ Modified: svn:ignore - .directory *.tmp .~* + .directory *.tmp .~* *.*~ Added: trunk/current/docs/CS-Project Database Design.xmind =================================================================== --- trunk/current/docs/CS-Project Database Design.xmind (rev 0) +++ trunk/current/docs/CS-Project Database Design.xmind 2012-09-11 03:15:10 UTC (rev 1041) @@ -0,0 +1,1423 @@ +PK |
From: <cra...@us...> - 2012-06-28 01:33:25
|
Revision: 1040 http://cs-project.svn.sourceforge.net/cs-project/?rev=1040&view=rev Author: crazedsanity Date: 2012-06-28 01:33:19 +0000 (Thu, 28 Jun 2012) Log Message: ----------- Moving "2.0" into "current". Added Paths: ----------- trunk/current/ Removed Paths: ------------- trunk/2.0/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cra...@us...> - 2012-01-26 02:52:25
|
Revision: 1039 http://cs-project.svn.sourceforge.net/cs-project/?rev=1039&view=rev Author: crazedsanity Date: 2012-01-26 02:52:19 +0000 (Thu, 26 Jan 2012) Log Message: ----------- Fix paths for svn:externals. Property Changed: ---------------- trunk/2.0/lib/ Property changes on: trunk/2.0/lib ___________________________________________________________________ Modified: svn:externals - cs-content https://cs-content.svn.sourceforge.net/svnroot/cs-content/trunk/1.0 cs-phpxml https://cs-phpxml.svn.sourceforge.net/svnroot/cs-phpxml/trunk/1.0 cs-webapplibs https://cs-webapplibs.svn.sourceforge.net/svnroot/cs-webapplibs/trunk/0.3 + cs-content https://cs-content.svn.sourceforge.net/svnroot/cs-content/trunk/current cs-phpxml https://cs-phpxml.svn.sourceforge.net/svnroot/cs-phpxml/trunk/current cs-webapplibs https://cs-webapplibs.svn.sourceforge.net/svnroot/cs-webapplibs/trunk/current This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cra...@us...> - 2012-01-26 02:44:49
|
Revision: 1038 http://cs-project.svn.sourceforge.net/cs-project/?rev=1038&view=rev Author: crazedsanity Date: 2012-01-26 02:44:43 +0000 (Thu, 26 Jan 2012) Log Message: ----------- Fix SVN externals paths. Property Changed: ---------------- trunk/1.2/lib/ Property changes on: trunk/1.2/lib ___________________________________________________________________ Modified: svn:externals - cs-content https://cs-content.svn.sourceforge.net/svnroot/cs-content/trunk/current cs-phpxml https://cs-phpxml.svn.sourceforge.net/svnroot/cs-phpxml/trunk/1.0 cs-webapplibs https://cs-webapplibs.svn.sourceforge.net/svnroot/cs-webapplibs/trunk/0.3 + cs-content https://cs-content.svn.sourceforge.net/svnroot/cs-content/trunk/current cs-phpxml https://cs-phpxml.svn.sourceforge.net/svnroot/cs-phpxml/trunk/current cs-webapplibs https://cs-webapplibs.svn.sourceforge.net/svnroot/cs-webapplibs/trunk/current This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cra...@us...> - 2011-12-31 05:45:43
|
Revision: 1037 http://cs-project.svn.sourceforge.net/cs-project/?rev=1037&view=rev Author: crazedsanity Date: 2011-12-31 05:45:37 +0000 (Sat, 31 Dec 2011) Log Message: ----------- merge "natural_URLs.doc" into XMind document. Modified Paths: -------------- trunk/2.0/docs/CS-Project_Ideas.xmind Removed Paths: ------------- trunk/2.0/docs/natural_URLs.doc Modified: trunk/2.0/docs/CS-Project_Ideas.xmind =================================================================== (Binary files differ) Deleted: trunk/2.0/docs/natural_URLs.doc =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cra...@us...> - 2011-12-31 05:16:03
|
Revision: 1036 http://cs-project.svn.sourceforge.net/cs-project/?rev=1036&view=rev Author: crazedsanity Date: 2011-12-31 05:15:57 +0000 (Sat, 31 Dec 2011) Log Message: ----------- Merge todo.txt into XMind document. Modified Paths: -------------- trunk/2.0/docs/CS-Project_Ideas.xmind Removed Paths: ------------- trunk/2.0/docs/todo.txt Modified: trunk/2.0/docs/CS-Project_Ideas.xmind =================================================================== (Binary files differ) Deleted: trunk/2.0/docs/todo.txt =================================================================== --- trunk/2.0/docs/todo.txt 2011-12-31 05:08:16 UTC (rev 1035) +++ trunk/2.0/docs/todo.txt 2011-12-31 05:15:57 UTC (rev 1036) @@ -1,8 +0,0 @@ - -capabilities need to be documented better - * BBCode stuff - * upgrading - -Look into moving SVN projects from sf.net to CrazedSanity.com - * ohloh.net - * cia.vc This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cra...@us...> - 2011-12-31 05:08:22
|
Revision: 1035 http://cs-project.svn.sourceforge.net/cs-project/?rev=1035&view=rev Author: crazedsanity Date: 2011-12-31 05:08:16 +0000 (Sat, 31 Dec 2011) Log Message: ----------- Moved data from the considerations doc into XMind doc. Modified Paths: -------------- trunk/2.0/docs/CS-Project_Ideas.xmind Removed Paths: ------------- trunk/2.0/docs/considerations.doc Modified: trunk/2.0/docs/CS-Project_Ideas.xmind =================================================================== (Binary files differ) Deleted: trunk/2.0/docs/considerations.doc =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cra...@us...> - 2011-12-31 05:06:03
|
Revision: 1034 http://cs-project.svn.sourceforge.net/cs-project/?rev=1034&view=rev Author: crazedsanity Date: 2011-12-31 05:05:57 +0000 (Sat, 31 Dec 2011) Log Message: ----------- Apparently forgot to save AFTER editing a note... so it didn't actually get saved. Modified Paths: -------------- trunk/2.0/docs/CS-Project_Ideas.xmind Modified: trunk/2.0/docs/CS-Project_Ideas.xmind =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cra...@us...> - 2011-12-31 05:05:21
|
Revision: 1033 http://cs-project.svn.sourceforge.net/cs-project/?rev=1033&view=rev Author: crazedsanity Date: 2011-12-31 05:05:14 +0000 (Sat, 31 Dec 2011) Log Message: ----------- Moved info from the text document into the XMind document. So it's all (or mostly) in one place. Modified Paths: -------------- trunk/2.0/docs/CS-Project_Ideas.xmind Removed Paths: ------------- trunk/2.0/docs/cs-project_ideas.txt Modified: trunk/2.0/docs/CS-Project_Ideas.xmind =================================================================== (Binary files differ) Deleted: trunk/2.0/docs/cs-project_ideas.txt =================================================================== --- trunk/2.0/docs/cs-project_ideas.txt 2011-12-29 02:33:51 UTC (rev 1032) +++ trunk/2.0/docs/cs-project_ideas.txt 2011-12-31 05:05:14 UTC (rev 1033) @@ -1,291 +0,0 @@ - -================================================================================ -Client systems need a "key" (PHP, MD5... something) in order to securely communicate with main cs-project server & verify their identity. -================================================================================ - - - - -================================================================================ -Tasks should create notifications (users associated with project or helpdesk issue). -================================================================================ - - - - -================================================================================ -Should be a panel to display info about users on given project: - * what users are working on - * last login for each user -================================================================================ - - - -================================================================================ -Display user associations as "{username} ({Proper Name})" -================================================================================ - - - -================================================================================ -Send notifications for existing issues/projects when: - * user associated/disassociated - * issue has been assigned - * projects are created/completed. -================================================================================ - - - -================================================================================ -User that performs action to spawn email notification should have option (beside button) to "edit" notification (probably more like add a personal message about it)... this should also be logged somewhere (?). -================================================================================ - - - - -================================================================================ -Summary page: - * should show more reports (more systems should log "report" things) - * allow filtering (change log type, filter on user, date, etc) -================================================================================ - - - - -================================================================================ -File uploads: - * only link to notes - * make notes generic - -- remove "record_id" column from note_table - -- create "linker" table for notes, wherein "type" indicates what the note is linked to (i.e. task, project, issue, etc) - -- convert task comments into notes - -EXAMPLE ("av_check" value indicates whether it was scanned; if it is set, the -file is free of viruses; if not, it should be automatically scanned if there is -a clamscan client available at time of download)::: - - - *** file_table *** -file_id | file_name | av_check | md5sum | encoded_contents ---------+-------------------------+------------+----------------------------------+-------------- - 10 | cs-project_redesign.epz | 2008-09-17 | ddf3bb6a56463b73047398091daec26a | (base64 code) - 20 | cs-project_redesign.png | | ddf3bb6a56463b73047398091daec26a | (base64 code) - 30 | new_logo.png | | ddf3bb6a56463b73047398091daec26a | (base64 code) - - *** note_table *** -note_id | subject | body | created | updated | creator_contact_id | is_solution ---------+-----------------+-------------------------------------------+---------+---------+--------------------+------------ - 200 | Attached File | Filename attached: new_logo.png | | | 101 | f - 201 | Comment | My new design, in Pencil and png formats. | | | 101 | f - - - ** note_file_table *** -note_file_id | note_id | file_id --------------+---------+--------- - 1 | 200 | 30 - 2 | 201 | 10 - 3 | 201 | 20 - -================================================================================ - - - - - -================================================================================ -Post-upgrade notifications: - * upgrades should be able to specify actions that need to be performed - * notify users of new features (or things that have changed; consider storing so each user can see upon login) -================================================================================ - - - -================================================================================ -#1: This is a logo customized for the active project (the active project in the example is CS-Project) -#2: Admin/group admin goes to the admin tab, which shows extra options for having that title. -#3: Where "group switcher" was now has the "active project switcher" -#4: Preference contains ONLY the user's preferences (no admin stuff) -#5: Admin tab only shows for those with administrative titles associated with their account. -#6: Summary is similar to the v1.x tab, but has information about newly-assigned items, etc (the exclamation shows when there's something new to show--since their last viewing of it). -#7: Overview is where the old "projects" tab was. -#8: Contacts is just like in v1.x, but can show contacts only associated with the current project or ALL of them. -#9: The url no should no longer use project id's, but instead use a human-readable link to the active project (the active project can be switched this way as well). -#10: Issues linked directly to the active project. They should be linked to sub-projects (or "milestones"). Only show if there are applicable issues? -#11: As with issues, tasks linked directly to the main project. Only show if there are applicable tasks? -#12: Documentation is basically notes and uploaded files that help development or are help docs for using the system... the count would probably only include the actual note records, not the files associated with them. NOTE: this could incorporate requirements documentation from that one Tigris.org project... -#13: the main projects beneath the active project are displayed like root projects used to be; progress is updated automatically based on sub-projects. - - - - -Project Leader(s): -Dan Falconer (slaughter) - -Lead Developer(s): -Dan Falconer (slaughter) - -Developers: -Bill Bray (bilfurd) -Jesse Lesperance (jlesperance) -Vikas Rajput (vikasrajput) -================================================================================ - - - -================================================================================ -More Changes for 1.2.x: - * CONFIG CHANGES - -- move config from /CONFIG to /CONFIG/CS-PROJECT - -- add section for cs-content - * Update CS-Content to use a configuration - -- USE CONSTANTS - -- in prepare() (or in some other pre-check), make sure required - constants, such as "SITE_ROOT", are available - -- add considerations for using cs_siteConfig (i.e. check for a constant - "CS-CONTENT_USE_SITECONFIG": a value of false or no constant makes it - need the normal constants; non-false should have the path to the site's - config, and check for "CS-CONTENT_SITECONFIG_SECTION" for where to find - the section [default='CS-CONTENT']) - * Incorporate CS-VersionParse (required for new version of cs-content) - * Incorporate CS-WebDBUpgrade -================================================================================ - - - -================================================================================ -Use API-Style Calls for Interface - -REASONING: - * makes future API integration easier - -- when using an external API, use XML libs to wrap into XML doc - -- encryption can be done via protocol or at the API level - * simplify interface by using standardized calls - -Information: - * GET for retrieving information - * POST for changing information - * Each call has a "type", "name", and "parameters" - -EXAMPLES: ----------- -+ Updating a Project (i.e. projectClass::update_project()): -POST = array( - 'type' => "project", - 'name' => "updateProject", - 'params' => array( - 0 => 101, - 1 => array( - 'project_name' => "New Project Name", - 'ancestry' => "400:101" - ) - ) -); - -+ Updating a Pref: -POST = array( - 'type' => "pref", - 'name' => "update_user_pref", - 'params' => array( - 0 => 101, - 1 => 1 - ) -); - -+ Retrieving All Contacts: -GET = array( - 'type' => "contact", - 'name' => "getAllContacts", - 'params' => NULL -); -================================================================================ - - - -================================================================================ -CS-CONTENT CONFIG PARAMETERS (all are GLOBAL unless otherwise specified): - * SITE_ROOT - -- contentSystemClass.php lines 67-70 - -- cs_fileSystemClass.php lines 38-40 - -- cs_genericPageClass.php lines 62-63 - * TMPLDIR - -- contentSystemClass.php lines 352,437,533,559,588 - * IGNORE_FOLDERS - -- contentSystemClass.php line 88 - * IGNORE_FILES - -- contentSystemClass.php line 87 - * VERSION_FILE_LOCATION (make a small abstract class that extends cs_versionAbstract and sets the version file location directly in the constructor to avoid code duplication) - -- contentSystemClass.php line 112 - -- cs_bbCodeParser.class.php line 33 - -- cs_fileSystemClass.php line 32 - -- cs_genericPageClass.php line 36 - -- cs_globalFunctions.php line 33 - -- cs_phpDB.php line line 36 - -- cs_sessionClass.php line 29 - -- !!! cs_siteConfig.php !!! - -- cs_tabsClass.php line 28 - * INCLUDESDIR - -- contentSystemClass.php lines 346 - * LIBDIR - -- cs_genericPageClass.php line 65 - * DO_NOT_REDIRECT_TO_SCRIPTS - -- cs_genericPageClass.php lines 101-102 - * DROP_GET_VARS_FOR_LOGIN - -- cs_genericPageClass.php lines 107-108 - * MINI-PARSER_DEFAULT_BEGIN (not required) - -- cs_genericPageClass.php lines 236-237 - * MINI-PARSER_DEFAULT_END (not required) - -- cs-genericPageClass.php lines 236-237 -================================================================================ - - - -================================================================================ -Promotion: "Why Simple Upgrades Are So Important" ----- - -So you've got a web application. It is an integral part of your business, and finding bugs means your company's productivity drops sharply or grinds to a halt: you want a fix FAST. - -This is the very reason why upgradability is so important, especially in a web application. As many developers have already experienced, rolling out an update to a database-driven web application which requires a change to the database requires a lot of coordination, usually at least a few minutes of downtime, and lots of careful planning. - -Now let's say you have a web application built by a third party. You've found this bug, and need a fix fast. Let's also say the vendor is very quick to patch the bug and get a new release to you as quickly as possible. Here is what seems to be the most common scenario: - - * back-up database, just in case - * Download the new release - * Install the new release over the top of the old one, or wipe-out your installation & install "from scratch" - * copy old configuration file(s), attempt to update based on vendor's release notes or new example configs - * update license files with existing information - * manually run database schema changes or run a script that does it automatically - * try running the web application again, tweak files until it all works again - * verify the bug has been fixed (all too often, the requested bug has not been fixed, and you'll have to wait for another release) - -There is another, more comforting scenario. One that puts customer's minds at ease and helps system administrators sleep at night. This scenario is one that CS-Project has embraced from the beginning: - - * run command (svn update) to retrieve latest release - * go to web app in browser (or refresh if it's already open) - -This is the point where most people ask, "okay, and then what?" Loading the webpage again automatically spawns an upgrade process. The first person to access the website will cause the upgrade to run, which temporarily blocks others from accessing it: the upgrade is blazing fast, so normally nobody even realizes an upgrade happened, unless they notice the version number changed. - -Seem too simple? Well, CS-Project was built on the idea that upgrading should be part of the process. Software development is a complex process that is often prone to error, so we made sure upgrades are simple, and upgrading is painless and can be done without fear. Changing database schema or smoothing-out invalid data is quick and efficient. - -How do we do it? The basis of the system involves storing two versions: one on the filesystem, indicating the version of the application; the other stored in the database, indicating the version of schema that is running. When the application is updated, the application version becomes higher than the version stored in the database, so the application knows that it should perform an upgrade. - -Each release comes with upgrade scripts for each release, and those scripts are the ones that make the necessary changes to the database (including schema changes) and make necessary changes to the configuration file. - -Remember that problem with upgrading? That scenario was based upon a rare usecase, wherein the customer keeps their app as up-to-date as possible, always installing the latest patch or fix when it becomes available. But what about the more common cases, where the customer doesn't upgrade for months or years? - -CS-Project accounts for that as well. Even if an installation is 50 upgrades behind, upgrading to the most recent release of a given version is simple and painless. The upgrade system runs through all upgrade scripts (not every release has a script) until the database and application match versions. This process generally only takes a few seconds, even on economy or old hardware. -================================================================================ - - - -================================================================================ -(only sort-of related) -CS-PHPXML LOGIC CHANGES (proposal) - -Instead of creating a massive array which differentiates the internal vs. external nature of an item based upon whether the item is all upper or all lower case... well, create a list of all the paths. In this array, one can list values, attributes, etc. - -The only catch is when dealing with tags that have values: if there's a value, I believe it cannot have tags (i.e. paths) beneath it. There would have to be special checks to ensure this doesn't happen. -================================================================================ - - - This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cra...@us...> - 2011-12-29 02:33:58
|
Revision: 1032 http://cs-project.svn.sourceforge.net/cs-project/?rev=1032&view=rev Author: crazedsanity Date: 2011-12-29 02:33:51 +0000 (Thu, 29 Dec 2011) Log Message: ----------- Updated notes & stuff. Modified Paths: -------------- trunk/2.0/docs/CS-Project_Ideas.xmind Modified: trunk/2.0/docs/CS-Project_Ideas.xmind =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cra...@us...> - 2011-12-29 01:08:50
|
Revision: 1031 http://cs-project.svn.sourceforge.net/cs-project/?rev=1031&view=rev Author: crazedsanity Date: 2011-12-29 01:08:44 +0000 (Thu, 29 Dec 2011) Log Message: ----------- Consolidate into a single document. Modified Paths: -------------- trunk/2.0/docs/CS-Project_Ideas.xmind Removed Paths: ------------- trunk/2.0/docs/CS-Project Database Design.xmind trunk/2.0/docs/CS-Project Misc. Documentation.xmind trunk/2.0/docs/Meeting_and_Misc_Notes.xmind Deleted: trunk/2.0/docs/CS-Project Database Design.xmind =================================================================== (Binary files differ) Deleted: trunk/2.0/docs/CS-Project Misc. Documentation.xmind =================================================================== (Binary files differ) Modified: trunk/2.0/docs/CS-Project_Ideas.xmind =================================================================== (Binary files differ) Deleted: trunk/2.0/docs/Meeting_and_Misc_Notes.xmind =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cra...@us...> - 2011-12-15 23:48:18
|
Revision: 1030 http://cs-project.svn.sourceforge.net/cs-project/?rev=1030&view=rev Author: crazedsanity Date: 2011-12-15 23:48:11 +0000 (Thu, 15 Dec 2011) Log Message: ----------- Minor changes to make things easier to read. Modified Paths: -------------- trunk/2.0/docs/CS-Project_Ideas.xmind Modified: trunk/2.0/docs/CS-Project_Ideas.xmind =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cra...@us...> - 2011-12-13 04:55:46
|
Revision: 1029 http://cs-project.svn.sourceforge.net/cs-project/?rev=1029&view=rev Author: crazedsanity Date: 2011-12-13 04:55:40 +0000 (Tue, 13 Dec 2011) Log Message: ----------- Fixed pointer for cs-content (uses "current") Property Changed: ---------------- trunk/1.2/lib/ Property changes on: trunk/1.2/lib ___________________________________________________________________ Modified: svn:externals - cs-content https://cs-content.svn.sourceforge.net/svnroot/cs-content/trunk/1.0 cs-phpxml https://cs-phpxml.svn.sourceforge.net/svnroot/cs-phpxml/trunk/1.0 cs-webapplibs https://cs-webapplibs.svn.sourceforge.net/svnroot/cs-webapplibs/trunk/0.3 + cs-content https://cs-content.svn.sourceforge.net/svnroot/cs-content/trunk/current cs-phpxml https://cs-phpxml.svn.sourceforge.net/svnroot/cs-phpxml/trunk/1.0 cs-webapplibs https://cs-webapplibs.svn.sourceforge.net/svnroot/cs-webapplibs/trunk/0.3 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cra...@us...> - 2011-07-12 02:55:55
|
Revision: 1028 http://cs-project.svn.sourceforge.net/cs-project/?rev=1028&view=rev Author: crazedsanity Date: 2011-07-12 02:55:46 +0000 (Tue, 12 Jul 2011) Log Message: ----------- Updated documentation, etc. Modified Paths: -------------- trunk/2.0/docs/CS-Project_Ideas.xmind trunk/2.0/docs/CS-Project__redesign-active_project.ep trunk/2.0/docs/CS-Project__redesign-helpdesk.ep trunk/2.0/docs/Meeting_and_Misc_Notes.xmind Added Paths: ----------- trunk/2.0/docs/CS-Project__redesign.ep.zip trunk/2.0/docs/images/dev-logo.gif trunk/2.0/docs/todo.txt Property Changed: ---------------- trunk/2.0/docs/CS-Project_Ideas.xmind trunk/2.0/docs/CS-Project__redesign-active_project-summary.ep trunk/2.0/docs/CS-Project__redesign-active_project.ep trunk/2.0/docs/CS-Project__redesign-helpdesk.ep trunk/2.0/docs/Meeting_and_Misc_Notes.xmind trunk/2.0/docs/considerations.doc trunk/2.0/docs/cs-project_ideas.txt trunk/2.0/docs/images/bug.gif trunk/2.0/docs/images/check_green.gif trunk/2.0/docs/images/check_red.gif trunk/2.0/docs/images/check_yellow.gif trunk/2.0/docs/images/checkmark__whitebg-blueopenbox-greencheck.jpeg trunk/2.0/docs/images/checkmark__whitebg-greencheck.jpeg trunk/2.0/docs/images/checkmark__whitebg-greencircle-whitecheck-3d.jpeg trunk/2.0/docs/images/checkmark__whitebg-greencircle-whitecheck.jpeg trunk/2.0/docs/images/close.gif trunk/2.0/docs/images/cs-project_logo.gif trunk/2.0/docs/images/exclamation.gif trunk/2.0/docs/images/exclamation__black-yellowgradientcircle.jpeg trunk/2.0/docs/images/exclamation__black-yellowgradienttriangle.jpeg trunk/2.0/docs/images/feature_request.gif trunk/2.0/docs/images/firefox_navigation_screenshot.png trunk/2.0/docs/images/icon-help.png trunk/2.0/docs/images/logout__blacktext-grayperson.jpeg trunk/2.0/docs/images/logout__graytext-leftcurlarrow.jpeg trunk/2.0/docs/images/logout__redtext-whitebg-personopendoor.jpeg trunk/2.0/docs/images/logout__whitetext-grayroundbg-whitearrowright.jpeg trunk/2.0/docs/images/logouter__blacktext-redsquare-powersymbol.jpeg trunk/2.0/docs/images/open.gif trunk/2.0/docs/images/red_x.gif trunk/2.0/docs/images/user_add.jpeg trunk/2.0/docs/images/user_remove.jpeg trunk/2.0/docs/natural_URLs.doc Modified: trunk/2.0/docs/CS-Project_Ideas.xmind =================================================================== (Binary files differ) Property changes on: trunk/2.0/docs/CS-Project_Ideas.xmind ___________________________________________________________________ Added: svn:keywords + Date Author Revision HeadURL ID Property changes on: trunk/2.0/docs/CS-Project__redesign-active_project-summary.ep ___________________________________________________________________ Added: svn:keywords + Date Author Revision HeadURL ID Modified: trunk/2.0/docs/CS-Project__redesign-active_project.ep =================================================================== --- trunk/2.0/docs/CS-Project__redesign-active_project.ep 2010-03-25 04:10:47 UTC (rev 1027) +++ trunk/2.0/docs/CS-Project__redesign-active_project.ep 2011-07-12 02:55:46 UTC (rev 1028) @@ -1,5 +1,5 @@ <?xml version="1.0"?> -<Document xmlns="http://www.evolus.vn/Namespace/Pencil"><Properties/><Pages><Page><Properties><Property name="name">Project - Active Project Redesign</Property><Property name="id">1221499389990_1559</Property><Property name="width">1242</Property><Property name="height">782</Property><Property name="dimBackground">false</Property></Properties><Content><g xmlns="http://www.w3.org/2000/svg" p:type="Shape" xmlns:p="http://www.evolus.vn/Namespace/Pencil" p:def="Evolus.WindowsXP.Widgets:Frame" transform="matrix(1, 0, 0, 1, 5, 5)" p:locked="true"><p:metadata><p:property name="box"><![CDATA[1010,620]]></p:property><p:property name="withClose"><![CDATA[true]]></p:property><p:property name="withMax"><![CDATA[true]]></p:property><p:property name="withMin"><![CDATA[true]]></p:property><p:property name="withShadow"><![CDATA[false]]></p:property><p:property name="titleText"><![CDATA[CS-Project - Mozilla Firefox]]></p:property><p:property name="textColor"><![CDATA[#FFFFFFFF]]></p:property><p:property name="textFont"><![CDATA[Trebuchet MS|bold|normal|13px|none]]></p:property><p:property name="textAlign"><![CDATA[0,1]]></p:property><p:property name="withRoomForIcon"><![CDATA[false]]></p:property></p:metadata> +<Document xmlns="http://www.evolus.vn/Namespace/Pencil"><Properties/><Pages><Page><Properties><Property name="name">Project - Active Project Redesign</Property><Property name="id">1221499389990_1559</Property><Property name="width">1242</Property><Property name="height">782</Property><Property name="dimBackground">false</Property></Properties><Content><g xmlns="http://www.w3.org/2000/svg" p:type="Shape" xmlns:p="http://www.evolus.vn/Namespace/Pencil" p:def="Evolus.WindowsXP.Widgets:Frame" transform="matrix(1, 0, 0, 1, 5, 5)" id="d67c6c5d74d3412e9ac731dd303745e4"><p:metadata><p:property name="box"><![CDATA[1010,620]]></p:property><p:property name="withClose"><![CDATA[true]]></p:property><p:property name="withMax"><![CDATA[true]]></p:property><p:property name="withMin"><![CDATA[true]]></p:property><p:property name="withShadow"><![CDATA[false]]></p:property><p:property name="titleText"><![CDATA[CS-Project - Mozilla Firefox]]></p:property><p:property name="textColor"><![CDATA[#FFFFFFFF]]></p:property><p:property name="textFont"><![CDATA[Trebuchet MS|bold|normal|13px|none]]></p:property><p:property name="textAlign"><![CDATA[0,1]]></p:property><p:property name="withRoomForIcon"><![CDATA[false]]></p:property></p:metadata> <defs> <pattern patternUnits="userSpaceOnUse" x="0" y="0" width="1" height="29" p:name="titlePattern" id="titlePattern11221489040866778"> <image image-rendering="optimizeQuality" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAdCAYAAABrAQZpAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9gBEAohNhFyT2EAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAXklEQVQI123KsRHCMBAAwfuTRAW04z5cOjEhjB1AYMaW/CSEJBstzM90mq64HuDtDvJ+4dgOpO/ISCRPJETgDw0pgVCQUjFawaRiVDAu7ZejBmZPjLPj+CSyPDC2hS8XER5NU5DfKgAAAABJRU5ErkJggg==" xmlns:xlink="http://www.w3.org/1999/xlink" x="0" y="0" width="1" height="29"/> @@ -21,29 +21,29 @@ <rect x="0" y="5" width="1010" height="615" transform="translate(2, 2)" p:filter="url(#shadingFilter11221489040866778)" style="stroke: none; opacity: 0.6; fill-opacity: 1; fill: rgb(0, 0, 0); visibility: hidden;" p:name="bgRect" id="bgRect11221489040866778"/> <rect x="1.5" y="25.5" style="fill: rgb(236, 233, 216); stroke: rgb(0, 85, 229); stroke-width: 3px;" p:name="bodyRect" id="bodyRect11221489040866778" width="1007" height="593"/> <use xlink:href="#cornerImage11221489040866778" xmlns:xlink="http://www.w3.org/1999/xlink" x="0" y="0"/> - <rect x="8" y="0" width="994" height="29" style="stroke: none; fill: url(#titlePattern11221489040866778) rgb(0, 0, 0);" p:name="titleRect" id="titleRect11221489040866778"/> + <rect x="8" y="0" width="994" height="29" style="stroke: none; fill: url("#titlePattern11221489040866778") rgb(0, 0, 0);" p:name="titleRect" id="titleRect11221489040866778"/> <use xlink:href="#cornerImage11221489040866778" xmlns:xlink="http://www.w3.org/1999/xlink" x="0" y="0" transform="translate(1010) scale(-1, 1)" p:name="titleCorner" id="titleCorner11221489040866778"/> <text x="9" y="16" style="font-size: 13px; font-style: normal; font-weight: bold; text-align: left; text-anchor: start; dominant-baseline: central; fill: rgb(10, 24, 131); font-family: Trebuchet MS; fill-opacity: 1; text-decoration: none;" xml:space="preserve" p:name="shadowText" id="shadowText11221489040866778">CS-Project - Mozilla Firefox</text><path id="shadowText11221489040866778_underline" style="fill: none; stroke-width: 1px; visibility: hidden;"/><path id="shadowText11221489040866_underline778" style="fill: none; stroke-width: 1px; visibility: hidden;"/> <text x="8" y="15" style="font-size: 13px; font-style: normal; font-weight: bold; text-align: left; text-anchor: start; dominant-baseline: central; fill: rgb(255, 255, 255); font-family: Trebuchet MS; fill-opacity: 1; text-decoration: none;" xml:space="preserve" p:name="text" id="text11221489040866778">CS-Project - Mozilla Firefox</text><path id="text11221489040866778_underline" style="fill: none; stroke-width: 1px; visibility: hidden;"/><path id="text11221489040866_underline778" style="fill: none; stroke-width: 1px; visibility: hidden;"/> <g p:name="closeButton" id="closeButton11221489040866778" transform="translate(983)" style="visibility: visible;"> - <rect x="0.5" y="5.5" width="20" height="20" rx="2" ry="2" style="stroke: rgb(255, 255, 255); stroke-width: 1px; fill: url(#closeButtonFill11221489040866778) rgb(0, 0, 0);"/> + <rect x="0.5" y="5.5" width="20" height="20" rx="2" ry="2" style="stroke: rgb(255, 255, 255); stroke-width: 1px; fill: url("#closeButtonFill11221489040866778") rgb(0, 0, 0);"/> <path d="M 6,11 L 15,20" style="stroke: rgb(255, 255, 255); stroke-width: 2px; fill: none;"/> <path d="M 6,20 L 15,11" style="stroke: rgb(255, 255, 255); stroke-width: 2px; fill: none;"/> </g> <g p:name="maxButton" id="maxButton11221489040866778" transform="translate(960)" style="visibility: visible;"> - <rect x="0.5" y="5.5" width="20" height="20" rx="2" ry="2" style="stroke: rgb(255, 255, 255); stroke-width: 1px; fill: url(#otherButtonFill11221489040866778) rgb(0, 0, 0);"/> + <rect x="0.5" y="5.5" width="20" height="20" rx="2" ry="2" style="stroke: rgb(255, 255, 255); stroke-width: 1px; fill: url("#otherButtonFill11221489040866778") rgb(0, 0, 0);"/> <rect x="0" y="0" width="10" height="10" transform="translate(5.5, 10.5)" style="stroke: rgb(255, 255, 255); stroke-width: 1px; fill: none;"/> <path d="M 0,1.5 L 10,1.5" transform="translate(5.5, 10.5)" style="stroke: rgb(255, 255, 255); stroke-width: 2px; fill: none;"/> </g> <g p:name="minButton" id="minButton11221489040866778" transform="translate(937)" style="visibility: visible;"> - <rect x="0.5" y="5.5" width="20" height="20" rx="2" ry="2" style="stroke: rgb(255, 255, 255); stroke-width: 1px; fill: url(#otherButtonFill11221489040866778) rgb(0, 0, 0);"/> + <rect x="0.5" y="5.5" width="20" height="20" rx="2" ry="2" style="stroke: rgb(255, 255, 255); stroke-width: 1px; fill: url("#otherButtonFill11221489040866778") rgb(0, 0, 0);"/> <path d="M 0,1.5 L 9,1.5" transform="translate(5, 19)" style="stroke: rgb(255, 255, 255); stroke-width: 3px; fill: none;"/> </g> - </g><g xmlns="http://www.w3.org/2000/svg" p:type="Group" xmlns:p="http://www.evolus.vn/Namespace/Pencil" p:locked="true"><g xmlns="http://www.w3.org/2000/svg" p:type="Shape" xmlns:p="http://www.evolus.vn/Namespace/Pencil" p:def="Evolus.WindowsXP.Widgets:TextBox" transform="matrix(1, 0, 0, 1, 235, 37)"><p:metadata><p:property name="box"><![CDATA[705,20]]></p:property><p:property name="textContent"><![CDATA[http://project.cs/projects/cs-project/overview]]></p:property><p:property name="textColor"><![CDATA[#000000FF]]></p:property><p:property name="textFont"><![CDATA[Tahoma|normal|normal|11px|none]]></p:property><p:property name="textAlign"><![CDATA[0,1]]></p:property><p:property name="status"><![CDATA[normal]]></p:property><p:property name="disabled"><![CDATA[false]]></p:property></p:metadata> + </g><g xmlns="http://www.w3.org/2000/svg" p:type="Group" xmlns:p="http://www.evolus.vn/Namespace/Pencil" id="e9c30b4e1e41416a928612e45e932c1f"><g xmlns="http://www.w3.org/2000/svg" p:type="Shape" xmlns:p="http://www.evolus.vn/Namespace/Pencil" p:def="Evolus.WindowsXP.Widgets:TextBox" transform="matrix(1, 0, 0, 1, 235, 37)" id="69d87b8eeb1d4e10bb5c7bbb90411486"><p:metadata><p:property name="box"><![CDATA[705,20]]></p:property><p:property name="textContent"><![CDATA[http://project.cs/projects/cs-project/overview]]></p:property><p:property name="textColor"><![CDATA[#000000FF]]></p:property><p:property name="textFont"><![CDATA[Tahoma|normal|normal|11px|none]]></p:property><p:property name="textAlign"><![CDATA[0,1]]></p:property><p:property name="status"><![CDATA[normal]]></p:property><p:property name="disabled"><![CDATA[false]]></p:property></p:metadata> <rect width="704" height="19" x="0.5" y="0.5" style="overflow: visible; marker: none; opacity: 1; color: rgb(0, 0, 0); fill: rgb(255, 255, 255); fill-opacity: 1; fill-rule: nonzero; stroke: rgb(127, 157, 185); stroke-width: 1; stroke-linecap: square; stroke-linejoin: miter; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0pt; stroke-opacity: 1; visibility: visible; display: inline;" p:name="rect" id="rect11221499497043"/> <text x="5" y="13" style="text-align: left; text-anchor: start; dominant-baseline: auto; fill: rgb(0, 0, 0); fill-opacity: 1; font-family: Tahoma; font-size: 11px; font-weight: normal; font-style: normal; text-decoration: none;" xml:space="preserve" p:name="text" id="text11221499497043">http://project.cs/projects/cs-project/overview</text><path id="text11221499497043_underline" style="fill: none; stroke-width: 1px; visibility: hidden;"/> - </g><g xmlns="http://www.w3.org/2000/svg" p:type="Shape" xmlns:p="http://www.evolus.vn/Namespace/Pencil" p:def="Evolus.Common:Bitmap" transform="matrix(1, 0, 0, 1, 10, 35)"><p:metadata><p:property name="box"><![CDATA[229,23]]></p:property><p:property name="imageData"><![CDATA[229,23,images/firefox_navigation_screenshot.png]]></p:property><p:property name="withBlur"><![CDATA[false]]></p:property><p:property name="fillColor"><![CDATA[#FFFFFF00]]></p:property><p:property name="strokeColor"><![CDATA[#000000FF]]></p:property><p:property name="strokeStyle"><![CDATA[0|]]></p:property></p:metadata> + </g><g xmlns="http://www.w3.org/2000/svg" p:type="Shape" xmlns:p="http://www.evolus.vn/Namespace/Pencil" p:def="Evolus.Common:Bitmap" transform="matrix(1, 0, 0, 1, 10, 35)" id="45e560d10056461b91a94364f96b94a6"><p:metadata><p:property name="box"><![CDATA[229,23]]></p:property><p:property name="imageData"><![CDATA[229,23,images/firefox_navigation_screenshot.png]]></p:property><p:property name="withBlur"><![CDATA[false]]></p:property><p:property name="fillColor"><![CDATA[#FFFFFF00]]></p:property><p:property name="strokeColor"><![CDATA[#000000FF]]></p:property><p:property name="strokeStyle"><![CDATA[0|]]></p:property></p:metadata> <defs> <filter height="1.2558399" y="-0.12792" width="1.06396" x="-0.03198" p:name="imageShading" id="imageShading21221499639179"> <feGaussianBlur stdDeviation="1.3325" in="SourceAlpha"/> @@ -57,11 +57,11 @@ </defs> <use xlink:href="#container21221499639179" xmlns:xlink="http://www.w3.org/1999/xlink" transform="translate(1, 1)" p:filter="url(#imageShading21221499639179)" style="opacity: 0.6; visibility: hidden;" p:name="bgCopy" id="bgCopy21221499639179"/> <use xlink:href="#container21221499639179" xmlns:xlink="http://www.w3.org/1999/xlink"/> - </g><g xmlns="http://www.w3.org/2000/svg" p:type="Shape" xmlns:p="http://www.evolus.vn/Namespace/Pencil" p:def="Evolus.WindowsXP.Widgets:Seprator" transform="matrix(1, 0, 0, 1, 10, 55)"><p:metadata><p:property name="box"><![CDATA[1000,10]]></p:property><p:property name="type"><![CDATA[normal]]></p:property></p:metadata> + </g><g xmlns="http://www.w3.org/2000/svg" p:type="Shape" xmlns:p="http://www.evolus.vn/Namespace/Pencil" p:def="Evolus.WindowsXP.Widgets:Seprator" transform="matrix(1, 0, 0, 1, 10, 55)" id="a94a06c9c86c4c3e9bdd0b9be8f98ec5"><p:metadata><p:property name="box"><![CDATA[1000,10]]></p:property><p:property name="type"><![CDATA[normal]]></p:property></p:metadata> <rect style="fill: rgb(0, 0, 0); fill-opacity: 0; stroke: none;" x="0" y="0" p:name="bgRect" id="bgRect101221500462927" width="1000" height="10"/> <path style="fill: none; stroke: rgb(172, 168, 153); stroke-width: 1px;" d="M 0 5 L 1000 5" transform="translate(0.5, 0.5)" p:name="line1" id="line1101221500462927"/> <path style="fill: none; stroke: rgb(255, 255, 255); stroke-width: 1px; visibility: visible;" d="M 0 6 L 1000 6" transform="translate(0.5, 0.5)" p:name="line2" id="line2101221500462927"/> - </g></g><g xmlns="http://www.w3.org/2000/svg" p:type="Shape" xmlns:p="http://www.evolus.vn/Namespace/Pencil" p:def="Evolus.WindowsXP.Widgets:TabPanel" transform="matrix(1, 0, 0, 1, 20, 165)"><p:metadata><p:property name="box"><![CDATA[980,430]]></p:property><p:property name="withShadow"><![CDATA[false]]></p:property><p:property name="height"><![CDATA[0,25]]></p:property><p:property name="start"><![CDATA[175,0]]></p:property><p:property name="end"><![CDATA[265,0]]></p:property><p:property name="tabTitle"><![CDATA[Overview]]></p:property><p:property name="textColor"><![CDATA[#000000FF]]></p:property><p:property name="textFont"><![CDATA[Tahoma|normal|normal|11px|none]]></p:property><p:property name="textAlign"><![CDATA[1,1]]></p:property></p:metadata> + </g></g><g xmlns="http://www.w3.org/2000/svg" p:type="Shape" xmlns:p="http://www.evolus.vn/Namespace/Pencil" p:def="Evolus.WindowsXP.Widgets:TabPanel" transform="matrix(1, 0, 0, 1, 20, 165)" id="454dd3b30b664b9b81e144a80d98e8cc"><p:metadata><p:property name="box"><![CDATA[980,430]]></p:property><p:property name="withShadow"><![CDATA[false]]></p:property><p:property name="height"><![CDATA[0,25]]></p:property><p:property name="start"><![CDATA[175,0]]></p:property><p:property name="end"><![CDATA[265,0]]></p:property><p:property name="tabTitle"><![CDATA[Overview]]></p:property><p:property name="textColor"><![CDATA[#000000FF]]></p:property><p:property name="textFont"><![CDATA[Tahoma|normal|normal|11px|none]]></p:property><p:property name="textAlign"><![CDATA[1,1]]></p:property></p:metadata> <defs> <filter height="1.2558399" y="-0.12792" width="1.06396" x="-0.03198" p:name="shadingFilter" id="shadingFilter31221499706834"> <feGaussianBlur stdDeviation="1.3325" in="SourceAlpha"/> @@ -73,17 +73,17 @@ <path style="stroke: none; fill: rgb(51, 51, 51);" p:name="boxForShadowing" id="boxForShadowing31221499706834" d="M 975 26 L 980 26 L 980 430 L 1 430 L 1 425 L 975 425 z"/> </defs> <use xlink:href="#boxForShadowing31221499706834" xmlns:xlink="http://www.w3.org/1999/xlink" transform="translate(1, 1)" p:filter="url(#shadingFilter31221499706834)" style="opacity: 0.6; visibility: hidden;" p:name="shadow" id="shadow31221499706834"/> - <rect style="fill: url(#markerGradient31221499706834) rgb(0, 0, 0);" rx="3" ry="3" p:name="activeMarker" id="activeMarker31221499706834" transform="translate(175)" width="91" height="5"/> + <rect style="fill: url("#markerGradient31221499706834") rgb(0, 0, 0);" rx="3" ry="3" p:name="activeMarker" id="activeMarker31221499706834" transform="translate(175)" width="91" height="5"/> <path style="stroke: rgb(145, 155, 156); stroke-width: 1px; fill: rgb(244, 243, 238);" transform="translate(0.5, 0.5)" p:name="path" id="path31221499706834" d="M 265 2.5 L 265 25 L 980 25 L 980 430 L 0 430 L 0 25 L 175 25 L 175 2.5"/> <text x="195" y="14" style="text-align: left; text-anchor: start; dominant-baseline: central; fill: rgb(0, 0, 0); fill-opacity: 1; font-family: Tahoma; font-size: 11px; font-weight: normal; font-style: normal; text-decoration: none;" xml:space="preserve" p:name="text" id="text31221499706834">Overview</text><path id="text31221499706834_underline" style="fill: none; stroke-width: 1px; visibility: hidden;"/> - </g><g xmlns="http://www.w3.org/2000/svg" p:type="Shape" xmlns:p="http://www.evolus.vn/Namespace/Pencil" p:def="Evolus.WindowsXP.Widgets:TabHeader" transform="matrix(1, 0, 0, 1, 285, 165)"><p:metadata><p:property name="box"><![CDATA[115,23]]></p:property><p:property name="disabled"><![CDATA[false]]></p:property><p:property name="tabTitle"><![CDATA[Contacts (8/300)]]></p:property><p:property name="textColor"><![CDATA[#483EFAFF]]></p:property><p:property name="textFont"><![CDATA[Tahoma|normal|normal|11px|underline]]></p:property><p:property name="textAlign"><![CDATA[1,1]]></p:property></p:metadata> + </g><g xmlns="http://www.w3.org/2000/svg" p:type="Shape" xmlns:p="http://www.evolus.vn/Namespace/Pencil" p:def="Evolus.WindowsXP.Widgets:TabHeader" transform="matrix(1, 0, 0, 1, 285, 165)" id="5bb787c6aba344b5a430f9c9e1b58f13"><p:metadata><p:property name="box"><![CDATA[115,23]]></p:property><p:property name="disabled"><![CDATA[false]]></p:property><p:property name="tabTitle"><![CDATA[Contacts (8/300)]]></p:property><p:property name="textColor"><![CDATA[#483EFAFF]]></p:property><p:property name="textFont"><![CDATA[Tahoma|normal|normal|11px|underline]]></p:property><p:property name="textAlign"><![CDATA[1,1]]></p:property></p:metadata> <g transform="translate(0.5, 2.5)"> <path style="fill: rgb(245, 244, 234); stroke-width: 1px; fill-opacity: 1; stroke: rgb(145, 167, 180); stroke-opacity: 1;" p:name="rect" id="rect51221499906339" d="M 0 22.5 L 0 5 C 0 0 0 0 5 0 L 108 0 C 113 0 113 0 113 5 L 113 22.5"/> <text x="12" y="12" style="text-align: left; text-anchor: start; dominant-baseline: central; fill: rgb(72, 62, 250); fill-opacity: 1; font-family: Tahoma; font-size: 11px; font-weight: normal; font-style: normal; text-decoration: underline;" transform="translate(0, -1)" xml:space="preserve" p:name="text" id="text51221499906339">Contacts (8/300)</text><path id="text51221499906339_underline" style="fill: none; stroke-width: 1px; visibility: visible; stroke: rgb(72, 62, 250); stroke-opacity: 1;" d="M 13 18.5 L 105 18.5"/> </g> - </g><g xmlns="http://www.w3.org/2000/svg" p:type="Shape" xmlns:p="http://www.evolus.vn/Namespace/Pencil" p:def="Evolus.Common:PlainText" transform="matrix(1, 0, 0, 1, 20, 150)"><p:metadata><p:property name="disabled"><![CDATA[false]]></p:property><p:property name="label"><![CDATA[CS-Project Version 2.0.0-ALPHA1]]></p:property><p:property name="textColor"><![CDATA[#000000FF]]></p:property><p:property name="textFont"><![CDATA[Arial|normal|normal|8px|none]]></p:property></p:metadata> + </g><g xmlns="http://www.w3.org/2000/svg" p:type="Shape" xmlns:p="http://www.evolus.vn/Namespace/Pencil" p:def="Evolus.Common:PlainText" transform="matrix(1, 0, 0, 1, 20, 150)" id="6f220b506831457cbc60795dcbac230d"><p:metadata><p:property name="disabled"><![CDATA[false]]></p:property><p:property name="label"><![CDATA[CS-Project Version 2.0.0-ALPHA1]]></p:property><p:property name="textColor"><![CDATA[#000000FF]]></p:property><p:property name="textFont"><![CDATA[Arial|normal|normal|8px|none]]></p:property></p:metadata> <text y="6" x="0" style="font-size: 8px; font-style: normal; font-weight: normal; text-align: left; text-anchor: start; dominant-baseline: central; fill: rgb(0, 0, 0); font-family: Arial; fill-opacity: 1; text-decoration: none;" xml:space="preserve" p:name="text" id="text71221500075867">CS-Project Version 2.0.0-ALPHA1</text><path id="text71221500075867_underline" style="fill: none; stroke-width: 1px; visibility: hidden;"/> - </g><g xmlns="http://www.w3.org/2000/svg" p:type="Shape" xmlns:p="http://www.evolus.vn/Namespace/Pencil" p:def="Evolus.GTK.Widgets:Panel" transform="matrix(1, 0, 0, 1, 240, 68)"><p:metadata><p:property name="box"><![CDATA[260,77]]></p:property><p:property name="withBlur"><![CDATA[true]]></p:property></p:metadata> + </g><g xmlns="http://www.w3.org/2000/svg" p:type="Shape" xmlns:p="http://www.evolus.vn/Namespace/Pencil" p:def="Evolus.GTK.Widgets:Panel" transform="matrix(1, 0, 0, 1, 240, 68)" id="9d313fe6090d4d529002968246516d4c"><p:metadata><p:property name="box"><![CDATA[260,77]]></p:property><p:property name="withBlur"><![CDATA[true]]></p:property></p:metadata> <defs> <filter height="1.2558399" y="-0.12792" width="1.06396" x="-0.03198" p:name="shadingFilter" id="shadingFilter91221500252926"> <feGaussianBlur stdDeviation="1.3325" in="SourceAlpha"/> @@ -92,10 +92,10 @@ </defs> <use xlink:href="#rect91221500252926" xmlns:xlink="http://www.w3.org/1999/xlink" transform="translate(2, 2)" p:filter="url(#shadingFilter91221500252926)" style="opacity: 0.6; visibility: visible;" p:heavy="true" p:name="bgCopy" id="bgCopy91221500252926" filter="url(#shadingFilter91221500252926)"/> <use xlink:href="#rect91221500252926" xmlns:xlink="http://www.w3.org/1999/xlink"/> - </g><g xmlns="http://www.w3.org/2000/svg" p:type="Shape" xmlns:p="http://www.evolus.vn/Namespace/Pencil" p:def="Evolus.Common:RichTextBox" transform="matrix(1, 0, 0, 1, 242, 68)"><p:metadata><p:property name="width"><![CDATA[235,0]]></p:property><p:property name="textContent"><![CDATA[<h3 _moz_dirty=""><span style="text-decoration: underline;" _moz_dirty="">Current User</span></h3><span style="font-weight: bold;" _moz_dirty="">CrazedSanity Dot Com</span><br _moz_dirty=""/>Dan Falconer (<a _moz_dirty="" href="[object XULElement]">slaughter</a>)<br _moz_dirty=""/>Lead Developer, <a _moz_dirty="" href="[object XULElement]">Group Admin</a>, <a _moz_dirty="" href="[object XULElement]">Admin</a>]]></p:property><p:property name="textFont"><![CDATA[Arial|normal|normal|12px|none]]></p:property><p:property name="textColor"><![CDATA[#000000FF]]></p:property></p:metadata> + </g><g xmlns="http://www.w3.org/2000/svg" p:type="Shape" xmlns:p="http://www.evolus.vn/Namespace/Pencil" p:def="Evolus.Common:RichTextBox" transform="matrix(1, 0, 0, 1, 242, 68)" id="0f734aa8b75845f5ade676ceec6352dd"><p:metadata><p:property name="width"><![CDATA[235,0]]></p:property><p:property name="textContent"><![CDATA[<h3 _moz_dirty=""><span style="text-decoration: underline;" _moz_dirty="">Current User</span></h3><span style="font-weight: bold;" _moz_dirty="">CrazedSanity Dot Com</span><br _moz_dirty=""/>Dan Falconer (<a _moz_dirty="" href="[object XULElement]">slaughter</a>)<br _moz_dirty=""/>Lead Developer, <a _moz_dirty="" href="[object XULElement]">Group Admin</a>, <a _moz_dirty="" href="[object XULElement]">Admin</a>]]></p:property><p:property name="textFont"><![CDATA[Arial|normal|normal|12px|none]]></p:property><p:property name="textColor"><![CDATA[#000000FF]]></p:property></p:metadata> - <foreignObject x="0" y="0" width="235" height="71" p:name="text" id="text81221500119581" style="font-family: Arial; font-size: 12px; font-weight: normal; font-style: normal; text-decoration: none; color: rgb(0, 0, 0); opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml"><h3 _moz_dirty=""><span style="text-decoration: underline;" _moz_dirty="">Current User</span></h3><span style="font-weight: bold;" _moz_dirty="">CrazedSanity Dot Com</span><br _moz_dirty=""/>Dan Falconer (<a _moz_dirty="" href="[object XULElement]">slaughter</a>)<br _moz_dirty=""/>Lead Developer, <a _moz_dirty="" href="[object XULElement]">Group Admin</a>, <a _moz_dirty="" href="[object XULElement]">Admin</a></div></foreignObject><path id="text81221500119581_underline" style="fill: none; stroke-width: 1px; visibility: hidden;"/> - </g><g xmlns="http://www.w3.org/2000/svg" p:type="Shape" xmlns:p="http://www.evolus.vn/Namespace/Pencil" p:def="Evolus.WindowsXP.Widgets:Combo" transform="matrix(1, 0, 0, 1, 510, 90)"><p:metadata><p:property name="box"><![CDATA[179,20]]></p:property><p:property name="buttonText"><![CDATA[(*) CS-Project]]></p:property><p:property name="textColor"><![CDATA[#000000FF]]></p:property><p:property name="textFont"><![CDATA[Tahoma|normal|normal|11px|none]]></p:property><p:property name="textAlign"><![CDATA[0,1]]></p:property><p:property name="disabled"><![CDATA[false]]></p:property><p:property name="focused"><![CDATA[false]]></p:property></p:metadata> + <foreignObject x="0" y="0" width="235" height="71" p:name="text" id="text81221500119581" style="font-family: Arial; font-size: 12px; font-weight: normal; font-style: normal; text-decoration: none; color: rgb(0, 0, 0); opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml"><h3><span style="text-decoration: underline;">Current User</span></h3><span style="font-weight: bold;">CrazedSanity Dot Com</span><br />Dan Falconer (<a href="[object%20XULElement]">slaughter</a>)<br />Lead Developer, <a href="[object%20XULElement]">Group Admin</a>, <a href="[object%20XULElement]">Admin</a></div></foreignObject><path id="text81221500119581_underline" style="fill: none; stroke-width: 1px; visibility: hidden;"/> + </g><g xmlns="http://www.w3.org/2000/svg" p:type="Shape" xmlns:p="http://www.evolus.vn/Namespace/Pencil" p:def="Evolus.WindowsXP.Widgets:Combo" transform="matrix(1, 0, 0, 1, 510, 90)" id="a05abeaba03746238847da5b817c4830"><p:metadata><p:property name="box"><![CDATA[179,20]]></p:property><p:property name="buttonText"><![CDATA[(*) CS-Project]]></p:property><p:property name="textColor"><![CDATA[#000000FF]]></p:property><p:property name="textFont"><![CDATA[Tahoma|normal|normal|11px|none]]></p:property><p:property name="textAlign"><![CDATA[0,1]]></p:property><p:property name="disabled"><![CDATA[false]]></p:property><p:property name="focused"><![CDATA[false]]></p:property></p:metadata> <defs p:name="defs2177" id="defs2177111221500506650"> <linearGradient x1="0%" y1="0%" x2="100%" y2="100%" p:name="linearGradient4129" id="linearGradient4129111221500506650"> @@ -106,14 +106,14 @@ <rect width="178" height="19" x="0.5" y="0.5" style="opacity: 1; color: rgb(0, 0, 0); fill: rgb(255, 255, 255); fill-opacity: 1; fill-rule: nonzero; stroke: none;" p:name="bgRect1" id="bgRect1111221500506650"/> <rect width="20" height="20" x="159" y="0" style="opacity: 1; color: rgb(0, 0, 0); fill: rgb(255, 255, 255); fill-opacity: 1; fill-rule: nonzero; stroke: none;" p:name="bgRect2" id="bgRect2111221500506650"/> <rect width="178" height="19" x="0.5" y="0.5" style="overflow: visible; marker: none; opacity: 1; color: rgb(0, 0, 0); fill: none; fill-opacity: 1; fill-rule: nonzero; stroke: rgb(127, 157, 185); stroke-width: 1; stroke-linecap: square; stroke-linejoin: miter; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0pt; stroke-opacity: 1; visibility: visible; display: inline;" p:name="rect" id="rect111221500506650"/> - <rect width="16" height="15" rx="1" ry="1" x="160.5" y="2.5" style="overflow: visible; marker: none; opacity: 1; color: rgb(0, 0, 0); fill: url(#linearGradient4129111221500506650) rgb(0, 0, 0); fill-opacity: 1; fill-rule: nonzero; stroke: rgb(195, 211, 248); stroke-width: 0.969547; stroke-linecap: square; stroke-linejoin: miter; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0pt; stroke-opacity: 1; visibility: visible; display: inline;" p:name="dropRect" id="dropRect111221500506650"/> + <rect width="16" height="15" rx="1" ry="1" x="160.5" y="2.5" style="overflow: visible; marker: none; opacity: 1; color: rgb(0, 0, 0); fill: url("#linearGradient4129111221500506650") rgb(0, 0, 0); fill-opacity: 1; fill-rule: nonzero; stroke: rgb(195, 211, 248); stroke-width: 0.969547; stroke-linecap: square; stroke-linejoin: miter; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0pt; stroke-opacity: 1; visibility: visible; display: inline;" p:name="dropRect" id="dropRect111221500506650"/> <path d="M 172.5,8 L 168.5,12 L 164.5,8" style="overflow: visible; marker: none; color: rgb(0, 0, 0); fill: none; fill-opacity: 1; fill-rule: nonzero; stroke: rgb(77, 97, 133); stroke-width: 2; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 1; visibility: visible; display: inline;" p:name="marker" id="marker111221500506650"/> <rect width="155" height="15" x="2.5" y="2.5" style="opacity: 1; color: rgb(0, 0, 0); fill: rgb(49, 106, 197); fill-opacity: 1; fill-rule: nonzero; stroke: rgb(255, 255, 255); stroke-dasharray: 1, 1; visibility: hidden;" p:name="focusRect" id="focusRect111221500506650"/> <text x="5" y="10" style="text-align: left; text-anchor: start; dominant-baseline: central; fill: rgb(0, 0, 0); fill-opacity: 1; font-family: Tahoma; font-size: 11px; font-weight: normal; font-style: normal; text-decoration: none;" xml:space="preserve" p:name="text" id="text111221500506650">(*) CS-Project</text><path id="text111221500506650_underline" style="fill: none; stroke-width: 1px; visibility: hidden;"/> - </g><g xmlns="http://www.w3.org/2000/svg" p:type="Shape" xmlns:p="http://www.evolus.vn/Namespace/Pencil" p:def="Evolus.Common:RichTextBox" transform="matrix(1, 0, 0, 1, 510, 70)"><p:metadata><p:property name="width"><![CDATA[200,0]]></p:property><p:property name="textContent"><![CDATA[<span _moz_dirty="" style="font-weight: bold;">Switch Active Project:<br _moz_dirty=""/></span>]]></p:property><p:property name="textFont"><![CDATA[Arial|normal|normal|12px|none]]></p:property><p:property name="textColor"><![CDATA[#000000FF]]></p:property></p:metadata> + </g><g xmlns="http://www.w3.org/2000/svg" p:type="Shape" xmlns:p="http://www.evolus.vn/Namespace/Pencil" p:def="Evolus.Common:RichTextBox" transform="matrix(1, 0, 0, 1, 510, 70)" id="47a22d130004418b9cc8c10678fdc96c"><p:metadata><p:property name="width"><![CDATA[200,0]]></p:property><p:property name="textContent"><![CDATA[<span _moz_dirty="" style="font-weight: bold;">Switch Active Project:<br _moz_dirty=""/></span>]]></p:property><p:property name="textFont"><![CDATA[Arial|normal|normal|12px|none]]></p:property><p:property name="textColor"><![CDATA[#000000FF]]></p:property></p:metadata> - <foreignObject x="0" y="0" width="200" height="15" p:name="text" id="text121221500540174" style="font-family: Arial; font-size: 12px; font-weight: normal; font-style: normal; text-decoration: none; color: rgb(0, 0, 0); opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml"><span _moz_dirty="" style="font-weight: bold;">Switch Active Project:<br _moz_dirty=""/></span></div></foreignObject><path id="text121221500540174_underline" style="fill: none; stroke-width: 1px; visibility: hidden;"/> - </g><g xmlns="http://www.w3.org/2000/svg" p:type="Shape" xmlns:p="http://www.evolus.vn/Namespace/Pencil" p:def="Evolus.Common:Bitmap" transform="matrix(1, 0, 0, 1, 710, 75)"><p:metadata><p:property name="box"><![CDATA[72,30]]></p:property><p:property name="imageData"><![CDATA[72,30,images/logout__whitetext-grayroundbg-whitearrowright.jpeg]]></p:property><p:property name="withBlur"><![CDATA[false]]></p:property><p:property name="fillColor"><![CDATA[#FFFFFFFF]]></p:property><p:property name="strokeColor"><![CDATA[#000000FF]]></p:property><p:property name="strokeStyle"><![CDATA[0|]]></p:property></p:metadata> + <foreignObject x="0" y="0" width="200" height="15" p:name="text" id="text121221500540174" style="font-family: Arial; font-size: 12px; font-weight: normal; font-style: normal; text-decoration: none; color: rgb(0, 0, 0); opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml"><span style="font-weight: bold;">Switch Active Project:<br /></span></div></foreignObject><path id="text121221500540174_underline" style="fill: none; stroke-width: 1px; visibility: hidden;"/> + </g><g xmlns="http://www.w3.org/2000/svg" p:type="Shape" xmlns:p="http://www.evolus.vn/Namespace/Pencil" p:def="Evolus.Common:Bitmap" transform="matrix(1, 0, 0, 1, 710, 75)" id="c897e9dbec0848db94572f14288249a6"><p:metadata><p:property name="box"><![CDATA[72,30]]></p:property><p:property name="imageData"><![CDATA[72,30,images/logout__whitetext-grayroundbg-whitearrowright.jpeg]]></p:property><p:property name="withBlur"><![CDATA[false]]></p:property><p:property name="fillColor"><![CDATA[#FFFFFFFF]]></p:property><p:property name="strokeColor"><![CDATA[#000000FF]]></p:property><p:property name="strokeStyle"><![CDATA[0|]]></p:property></p:metadata> <defs> <filter height="1.2558399" y="-0.12792" width="1.06396" x="-0.03198" p:name="imageShading" id="imageShading131221500849602"> <feGaussianBlur stdDeviation="1.3325" in="SourceAlpha"/> @@ -127,10 +127,10 @@ </defs> <use xlink:href="#container131221500849602" xmlns:xlink="http://www.w3.org/1999/xlink" transform="translate(1, 1)" p:filter="url(#imageShading131221500849602)" style="opacity: 0.6; visibility: hidden;" p:name="bgCopy" id="bgCopy131221500849602"/> <use xlink:href="#container131221500849602" xmlns:xlink="http://www.w3.org/1999/xlink"/> - </g><g xmlns="http://www.w3.org/2000/svg" p:type="Shape" xmlns:p="http://www.evolus.vn/Namespace/Pencil" p:def="Evolus.Common:RichTextBox" transform="matrix(1, 0, 0, 1, 515, 120)"><p:metadata><p:property name="width"><![CDATA[150,0]]></p:property><p:property name="textContent"><![CDATA[<a _moz_dirty="" href="[object XULElement]"><span style="font-weight: bold;" _moz_dirty="">Update Preferences</span><br _moz_dirty=""/></a>]]></p:property><p:property name="textFont"><![CDATA[Arial|normal|normal|12px|none]]></p:property><p:property name="textColor"><![CDATA[#000000FF]]></p:property></p:metadata> + </g><g xmlns="http://www.w3.org/2000/svg" p:type="Shape" xmlns:p="http://www.evolus.vn/Namespace/Pencil" p:def="Evolus.Common:RichTextBox" transform="matrix(1, 0, 0, 1, 515, 120)" id="0fa4b6647ac2434380b793351158fd8a"><p:metadata><p:property name="width"><![CDATA[150,0]]></p:property><p:property name="textContent"><![CDATA[<a _moz_dirty="" href="[object XULElement]"><span style="font-weight: bold;" _moz_dirty="">Update Preferences</span><br _moz_dirty=""/></a>]]></p:property><p:property name="textFont"><![CDATA[Arial|normal|normal|12px|none]]></p:property><p:property name="textColor"><![CDATA[#000000FF]]></p:property></p:metadata> - <foreignObject x="0" y="0" width="150" height="15" p:name="text" id="text141221501019259" style="font-family: Arial; font-size: 12px; font-weight: normal; font-style: normal; text-decoration: none; color: rgb(0, 0, 0); opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml"><a _moz_dirty="" href="[object XULElement]"><span style="font-weight: bold;" _moz_dirty="">Update Preferences</span><br _moz_dirty=""/></a></div></foreignObject><path id="text141221501019259_underline" style="fill: none; stroke-width: 1px; visibility: hidden;"/> - </g><g xmlns="http://www.w3.org/2000/svg" p:type="Shape" xmlns:p="http://www.evolus.vn/Namespace/Pencil" p:def="Evolus.GTK.Widgets:Panel" transform="matrix(1, 0, 0, 1, 15, 65)"><p:metadata><p:property name="box"><![CDATA[220,80]]></p:property><p:property name="withBlur"><![CDATA[true]]></p:property></p:metadata> + <foreignObject x="0" y="0" width="150" height="15" p:name="text" id="text141221501019259" style="font-family: Arial; font-size: 12px; font-weight: normal; font-style: normal; text-decoration: none; color: rgb(0, 0, 0); opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml"><a href="[object%20XULElement]"><span style="font-weight: bold;">Update Preferences</span><br /></a></div></foreignObject><path id="text141221501019259_underline" style="fill: none; stroke-width: 1px; visibility: hidden;"/> + </g><g xmlns="http://www.w3.org/2000/svg" p:type="Shape" xmlns:p="http://www.evolus.vn/Namespace/Pencil" p:def="Evolus.GTK.Widgets:Panel" transform="matrix(1, 0, 0, 1, 15, 65)" id="b95add0370a24c99a5f892489f193f86"><p:metadata><p:property name="box"><![CDATA[220,80]]></p:property><p:property name="withBlur"><![CDATA[true]]></p:property></p:metadata> <defs> <filter height="1.2558399" y="-0.12792" width="1.06396" x="-0.03198" p:name="shadingFilter" id="shadingFilter151221501087249"> <feGaussianBlur stdDeviation="1.3325" in="SourceAlpha"/> @@ -139,24 +139,24 @@ </defs> <use xlink:href="#rect151221501087249" xmlns:xlink="http://www.w3.org/1999/xlink" transform="translate(2, 2)" p:filter="url(#shadingFilter151221501087249)" style="opacity: 0.6; visibility: visible;" p:heavy="true" p:name="bgCopy" id="bgCopy151221501087249" filter="url(#shadingFilter151221501087249)"/> <use xlink:href="#rect151221501087249" xmlns:xlink="http://www.w3.org/1999/xlink"/> - </g><g xmlns="http://www.w3.org/2000/svg" p:type="Shape" xmlns:p="http://www.evolus.vn/Namespace/Pencil" p:def="Evolus.Common:Bitmap" transform="matrix(1, 0, 0, 1, 15, 65)"><p:metadata><p:property name="box"><![CDATA[220,80]]></p:property><p:property name="imageData"><![CDATA[239,87,images/cs-project_logo.gif]]></p:property><p:property name="withBlur"><![CDATA[false]]></p:property><p:property name="fillColor"><![CDATA[#FFFFFFFF]]></p:property><p:property name="strokeColor"><![CDATA[#000000FF]]></p:property><p:property name="strokeStyle"><![CDATA[0|]]></p:property></p:metadata> + </g><g xmlns="http://www.w3.org/2000/svg" p:type="Shape" xmlns:p="http://www.evolus.vn/Namespace/Pencil" p:def="Evolus.Common:Bitmap" transform="matrix(1, 0, 0, 1, 58, 68)" id="4bc542d699d8482698f9584d92b2f5a7"><p:metadata><p:property name="box"><![CDATA[118,67]]></p:property><p:property name="imageData"><![CDATA[118,67,data:image/png;base64,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]]></p:property><p:property name="withBlur"><![CDATA[false]]></p:property><p:property name="fillColor"><![CDATA[#FFFFFFFF]]></p:property><p:property name="strokeColor"><![CDATA[#000000FF]]></p:property><p:property name="strokeStyle"><![CDATA[0|]]></p:property></p:metadata> <defs> <filter height="1.2558399" y="-0.12792" width="1.06396" x="-0.03198" p:name="imageShading" id="imageShading61221499981280"> <feGaussianBlur stdDeviation="1.3325" in="SourceAlpha"/> </filter> <g p:name="container" id="container61221499981280"> - <rect style="fill: rgb(255, 255, 255); stroke: rgb(0, 0, 0); stroke-opacity: 1; stroke-width: 0pt; fill-opacity: 1;" p:name="bgRect" id="bgRect61221499981280" width="220" height="80" transform="translate(0)"/> - <g p:name="imageContainer" id="imageContainer61221499981280" transform="scale(0.920502, 0.91954)"> - <image x="0" y="0" p:name="image" id="image61221499981280" xlink:href="images/cs-project_logo.gif" xmlns:xlink="http://www.w3.org/1999/xlink" width="239" height="87"/> + <rect style="fill: rgb(255, 255, 255); stroke: rgb(0, 0, 0); stroke-opacity: 1; stroke-width: 0pt; fill-opacity: 1;" p:name="bgRect" id="bgRect61221499981280" width="118" height="67" transform="translate(0)"/> + <g p:name="imageContainer" id="imageContainer61221499981280" transform="scale(1)"> + <image x="0" y="0" p:name="image" id="image61221499981280" xlink:href="data:image/png;base64,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" xmlns:xlink="http://www.w3.org/1999/xlink" width="118" height="67"/> </g> </g> </defs> <use xlink:href="#container61221499981280" xmlns:xlink="http://www.w3.org/1999/xlink" transform="translate(1, 1)" p:filter="url(#imageShading61221499981280)" style="opacity: 0.6; visibility: hidden;" p:name="bgCopy" id="bgCopy61221499981280"/> <use xlink:href="#container61221499981280" xmlns:xlink="http://www.w3.org/1999/xlink"/> - </g><g xmlns="http://www.w3.org/2000/svg" p:type="Shape" xmlns:p="http://www.evolus.vn/Namespace/Pencil" p:def="Evolus.Common:RichTextBox" transform="matrix(1, 0, 0, 1, 45, 212)"><p:metadata><p:property name="width"><![CDATA[200,0]]></p:property><p:property name="textContent"><![CDATA[<h1 _moz_dirty="">Version 1.x</h1>]]></p:property><p:property name="textFont"><![CDATA[Arial|normal|normal|12px|none]]></p:property><p:property name="textColor"><![CDATA[#000000FF]]></p:property></p:metadata> + </g><g xmlns="http://www.w3.org/2000/svg" p:type="Shape" xmlns:p="http://www.evolus.vn/Namespace/Pencil" p:def="Evolus.Common:RichTextBox" transform="matrix(1, 0, 0, 1, 45, 212)" id="a5be072997df48efa0b458da6da19e67"><p:metadata><p:property name="width"><![CDATA[200,0]]></p:property><p:property name="textContent"><![CDATA[<h1 _moz_dirty="">Version 1.x</h1>]]></p:property><p:property name="textFont"><![CDATA[Arial|normal|normal|12px|none]]></p:property><p:property name="textColor"><![CDATA[#000000FF]]></p:property></p:metadata> - <foreignObject x="0" y="0" width="200" height="29" p:name="text" id="text171221501703904" style="font-family: Arial; font-size: 12px; font-weight: normal; font-style: normal; text-decoration: none; color: rgb(0, 0, 0); opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml"><h1 _moz_dirty="">Version 1.x</h1></div></foreignObject><path id="text171221501703904_underline" style="fill: none; stroke-width: 1px; visibility: hidden;"/> - </g><g xmlns="http://www.w3.org/2000/svg" p:type="Shape" xmlns:p="http://www.evolus.vn/Namespace/Pencil" p:def="Evolus.Common:Bitmap" transform="matrix(1, 0, 0, 1, 25, 218)"><p:metadata><p:property name="box"><![CDATA[15,15]]></p:property><p:property name="imageData"><![CDATA[9,9,images/open.gif]]></p:property><p:property name="withBlur"><![CDATA[false]]></p:property><p:property name="fillColor"><![CDATA[#FFFFFFFF]]></p:property><p:property name="strokeColor"><![CDATA[#000000FF]]></p:property><p:property name="strokeStyle"><![CDATA[0|]]></p:property></p:metadata> + <foreignObject x="0" y="0" width="200" height="29" p:name="text" id="text171221501703904" style="font-family: Arial; font-size: 12px; font-weight: normal; font-style: normal; text-decoration: none; color: rgb(0, 0, 0); opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml"><h1>Version 1.x</h1></div></foreignObject><path id="text171221501703904_underline" style="fill: none; stroke-width: 1px; visibility: hidden;"/> + </g><g xmlns="http://www.w3.org/2000/svg" p:type="Shape" xmlns:p="http://www.evolus.vn/Namespace/Pencil" p:def="Evolus.Common:Bitmap" transform="matrix(1, 0, 0, 1, 25, 218)" id="48866020368b4f2f96fb989a9fba4a57"><p:metadata><p:property name="box"><![CDATA[15,15]]></p:property><p:property name="imageData"><![CDATA[9,9,images/open.gif]]></p:property><p:property name="withBlur"><![CDATA[false]]></p:property><p:property name="fillColor"><![CDATA[#FFFFFFFF]]></p:property><p:property name="strokeColor"><![CDATA[#000000FF]]></p:property><p:property name="strokeStyle"><![CDATA[0|]]></p:property></p:metadata> <defs> <filter height="1.2558399" y="-0.12792" width="1.06396" x="-0.03198" p:name="imageShading" id="imageShading181221501797147"> <feGaussianBlur stdDeviation="1.3325" in="SourceAlpha"/> @@ -170,7 +170,7 @@ </defs> <use xlink:href="#container181221501797147" xmlns:xlink="http://www.w3.org/1999/xlink" transform="translate(1, 1)" p:filter="url(#imageShading181221501797147)" style="opacity: 0.6; visibility: hidden;" p:name="bgCopy" id="bgCopy181221501797147"/> <use xlink:href="#container181221501797147" xmlns:xlink="http://www.w3.org/1999/x... [truncated message content] |
From: <cra...@us...> - 2010-03-25 04:10:53
|
Revision: 1027 http://cs-project.svn.sourceforge.net/cs-project/?rev=1027&view=rev Author: crazedsanity Date: 2010-03-25 04:10:47 +0000 (Thu, 25 Mar 2010) Log Message: ----------- Added document to use for the next meeting & to keep notes for previous meetings. Added Paths: ----------- trunk/2.0/docs/Meeting_and_Misc_Notes.xmind Added: trunk/2.0/docs/Meeting_and_Misc_Notes.xmind =================================================================== (Binary files differ) Property changes on: trunk/2.0/docs/Meeting_and_Misc_Notes.xmind ___________________________________________________________________ Added: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cra...@us...> - 2010-03-24 04:04:00
|
Revision: 1026 http://cs-project.svn.sourceforge.net/cs-project/?rev=1026&view=rev Author: crazedsanity Date: 2010-03-24 04:03:55 +0000 (Wed, 24 Mar 2010) Log Message: ----------- Updated & new exports of the *.ep files. Modified Paths: -------------- trunk/2.0/docs/Project - Active Project Redesign.png Added Paths: ----------- trunk/2.0/docs/Helpdesk - Existing Issue.png trunk/2.0/docs/Summary (Active Project).png Added: trunk/2.0/docs/Helpdesk - Existing Issue.png =================================================================== (Binary files differ) Property changes on: trunk/2.0/docs/Helpdesk - Existing Issue.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Modified: trunk/2.0/docs/Project - Active Project Redesign.png =================================================================== (Binary files differ) Added: trunk/2.0/docs/Summary (Active Project).png =================================================================== (Binary files differ) Property changes on: trunk/2.0/docs/Summary (Active Project).png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cra...@us...> - 2010-03-24 01:06:55
|
Revision: 1025 http://cs-project.svn.sourceforge.net/cs-project/?rev=1025&view=rev Author: crazedsanity Date: 2010-03-24 01:06:49 +0000 (Wed, 24 Mar 2010) Log Message: ----------- Export of the pencil project. Added Paths: ----------- trunk/2.0/docs/Project - Active Project Redesign.png Added: trunk/2.0/docs/Project - Active Project Redesign.png =================================================================== (Binary files differ) Property changes on: trunk/2.0/docs/Project - Active Project Redesign.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cra...@us...> - 2010-03-22 14:43:30
|
Revision: 1024 http://cs-project.svn.sourceforge.net/cs-project/?rev=1024&view=rev Author: crazedsanity Date: 2010-03-22 14:43:21 +0000 (Mon, 22 Mar 2010) Log Message: ----------- Updated ideas document. Modified Paths: -------------- trunk/2.0/docs/CS-Project_Ideas.xmind Modified: trunk/2.0/docs/CS-Project_Ideas.xmind =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cra...@us...> - 2010-03-09 04:49:13
|
Revision: 1023 http://cs-project.svn.sourceforge.net/cs-project/?rev=1023&view=rev Author: crazedsanity Date: 2010-03-09 04:49:07 +0000 (Tue, 09 Mar 2010) Log Message: ----------- Updated ideas plus some miscellaneous documentation (just BBCode stuff right now). Modified Paths: -------------- trunk/2.0/docs/CS-Project_Ideas.xmind Added Paths: ----------- trunk/2.0/docs/CS-Project Misc. Documentation.xmind Added: trunk/2.0/docs/CS-Project Misc. Documentation.xmind =================================================================== (Binary files differ) Property changes on: trunk/2.0/docs/CS-Project Misc. Documentation.xmind ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Modified: trunk/2.0/docs/CS-Project_Ideas.xmind =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cra...@us...> - 2010-03-01 03:25:37
|
Revision: 1022 http://cs-project.svn.sourceforge.net/cs-project/?rev=1022&view=rev Author: crazedsanity Date: 2010-03-01 03:25:30 +0000 (Mon, 01 Mar 2010) Log Message: ----------- Example apache configuration. Added Paths: ----------- trunk/1.2/docs/samples/apache_config Added: trunk/1.2/docs/samples/apache_config =================================================================== --- trunk/1.2/docs/samples/apache_config (rev 0) +++ trunk/1.2/docs/samples/apache_config 2010-03-01 03:25:30 UTC (rev 1022) @@ -0,0 +1,19 @@ +<VirtualHost *:80> + ServerName project.cs.local + ServerAdmin webmaster@localhost + + DocumentRoot /home/danf/www/cs-project/public_html + <Directory /home/danf/www> + Options FollowSymLinks + AllowOverride All + </Directory> + + ErrorLog /var/log/apache2/project.cs.local-error.log + + # Possible values include: debug, info, notice, warn, error, crit, + # alert, emerg. + LogLevel warn + + CustomLog /var/log/apache2/project.cs.local-access.log combined + +</VirtualHost> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cra...@us...> - 2009-12-16 04:56:29
|
Revision: 1021 http://cs-project.svn.sourceforge.net/cs-project/?rev=1021&view=rev Author: crazedsanity Date: 2009-12-16 04:56:21 +0000 (Wed, 16 Dec 2009) Log Message: ----------- Set svn:keywords on includes script. Property Changed: ---------------- trunk/2.0/includes/ajax/test.inc Property changes on: trunk/2.0/includes/ajax/test.inc ___________________________________________________________________ Added: svn:keywords + Author Revision HeadURL Date This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cra...@us...> - 2009-12-16 04:54:00
|
Revision: 1020 http://cs-project.svn.sourceforge.net/cs-project/?rev=1020&view=rev Author: crazedsanity Date: 2009-12-16 04:53:50 +0000 (Wed, 16 Dec 2009) Log Message: ----------- Updated AJAX test. Should be pretty useful for reference. Modified Paths: -------------- trunk/2.0/includes/ajax/test.inc trunk/2.0/public_html/js/ajax.js trunk/2.0/public_html/js/cs-project.js trunk/2.0/templates/content/index.content.tmpl trunk/2.0/templates/main.shared.tmpl Added Paths: ----------- trunk/2.0/public_html/js/webtoolkit.base64.js trunk/2.0/public_html/js/webtoolkit.url.js Modified: trunk/2.0/includes/ajax/test.inc =================================================================== --- trunk/2.0/includes/ajax/test.inc 2009-12-16 01:52:53 UTC (rev 1019) +++ trunk/2.0/includes/ajax/test.inc 2009-12-16 04:53:50 UTC (rev 1020) @@ -10,13 +10,24 @@ * Last Updated:::::::: $Date$ */ -sleep(1); $page->printOnFinish=false; $xml = new cs_phpxmlCreator("ajaxresponse"); + $xml->add_tag("time", microtime()); -$xml->add_tag("callback_success", 'callback_test'); -$xml->add_tag("post_data", htmlentities($page->gfObj->debug_print($_POST,0))); +if($_POST) { + $xml->add_tag("callback_success", 'callback_test'); + $xml->add_tag("post_data", base64_encode($page->gfObj->debug_print($_POST,0))); +} +else { + $xml->add_tag("callback_success", 'callback_get'); + if(count($_GET)) { + foreach($_GET as $gName=>$gVal) { + $xml->add_tag("_get_". $gName, $gVal); + } + $xml->add_tag("all_get_tags", base64_encode($page->gfObj->debug_print($_GET))); + } +} print($xml->create_xml_string()); Modified: trunk/2.0/public_html/js/ajax.js =================================================================== --- trunk/2.0/public_html/js/ajax.js 2009-12-16 01:52:53 UTC (rev 1019) +++ trunk/2.0/public_html/js/ajax.js 2009-12-16 04:53:50 UTC (rev 1020) @@ -31,12 +31,7 @@ cache : false, async : isAsync, dataType : 'text/xml', - success: function (returnXml) { - var xml = parseXML(returnXml); - if($(xml).find('type').text() == 'auth') { - updateLoginBox(xml); - } - }, + success: ajax_successCallback, error: function (returnXml) { alert("Call to " + type + " failed::: " + returnXml); } Modified: trunk/2.0/public_html/js/cs-project.js =================================================================== --- trunk/2.0/public_html/js/cs-project.js 2009-12-16 01:52:53 UTC (rev 1019) +++ trunk/2.0/public_html/js/cs-project.js 2009-12-16 04:53:50 UTC (rev 1020) @@ -29,7 +29,7 @@ //------------------------------------------------------------------------- - function ajax_getTestResponse() { + function ajax_postTestResponse() { myPostData = { @@ -39,6 +39,15 @@ show_ajaxLoading("Checking response..."); ajax_doPost("test", myPostData, "WAIT", "Doing a test POST via AJAX, be patient."); + }//end ajax_postTestResponse() + //------------------------------------------------------------------------- + + + + //------------------------------------------------------------------------- + function ajax_getTestResponse() { + show_ajaxLoading("Sending GET request.."); + ajax_getRequest("test"); }//end ajax_getTestResponse() //------------------------------------------------------------------------- @@ -48,9 +57,19 @@ function callback_test(xmlObj) { $xmlObj = $(xmlObj); updatePageLoadData("Response complete... time was (" + $xmlObj.find("time").text() +")"); - $("#response").html($xmlObj.find("post_data").text()); + $("#response").html(Base64.decode($xmlObj.find("post_data").text())); }//end callback_test() //------------------------------------------------------------------------- + + + + //------------------------------------------------------------------------- + function callback_get(xmlObj) { + $xmlObj = $(xmlObj); + updatePageLoadData("GET response complete..."); + $("#getData").html(Base64.decode($xmlObj.find("all_get_tags").text())); + }//end callback_get() + //------------------------------------------------------------------------- /* END AJAX TEST FUNCTIONS */ @@ -60,6 +79,9 @@ $(document).ready(function() { updatePageLoadData("page loaded!"); $("#button1").click(function() { + ajax_postTestResponse(); + }); + $("#button2").click(function() { ajax_getTestResponse(); }); }); Added: trunk/2.0/public_html/js/webtoolkit.base64.js =================================================================== --- trunk/2.0/public_html/js/webtoolkit.base64.js (rev 0) +++ trunk/2.0/public_html/js/webtoolkit.base64.js 2009-12-16 04:53:50 UTC (rev 1020) @@ -0,0 +1,142 @@ +/** +* +* Base64 encode / decode +* http://www.webtoolkit.info/ +* +**/ + +var Base64 = { + + // private property + _keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", + + // public method for encoding + encode : function (input) { + var output = ""; + var chr1, chr2, chr3, enc1, enc2, enc3, enc4; + var i = 0; + + input = Base64._utf8_encode(input); + + while (i < input.length) { + + chr1 = input.charCodeAt(i++); + chr2 = input.charCodeAt(i++); + chr3 = input.charCodeAt(i++); + + enc1 = chr1 >> 2; + enc2 = ((chr1 & 3) << 4) | (chr2 >> 4); + enc3 = ((chr2 & 15) << 2) | (chr3 >> 6); + enc4 = chr3 & 63; + + if (isNaN(chr2)) { + enc3 = enc4 = 64; + } else if (isNaN(chr3)) { + enc4 = 64; + } + + output = output + + this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) + + this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4); + + } + + return output; + }, + + // public method for decoding + decode : function (input) { + var output = ""; + var chr1, chr2, chr3; + var enc1, enc2, enc3, enc4; + var i = 0; + + input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ""); + + while (i < input.length) { + + enc1 = this._keyStr.indexOf(input.charAt(i++)); + enc2 = this._keyStr.indexOf(input.charAt(i++)); + enc3 = this._keyStr.indexOf(input.charAt(i++)); + enc4 = this._keyStr.indexOf(input.charAt(i++)); + + chr1 = (enc1 << 2) | (enc2 >> 4); + chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); + chr3 = ((enc3 & 3) << 6) | enc4; + + output = output + String.fromCharCode(chr1); + + if (enc3 != 64) { + output = output + String.fromCharCode(chr2); + } + if (enc4 != 64) { + output = output + String.fromCharCode(chr3); + } + + } + + output = Base64._utf8_decode(output); + + return output; + + }, + + // private method for UTF-8 encoding + _utf8_encode : function (string) { + string = string.replace(/\r\n/g,"\n"); + var utftext = ""; + + for (var n = 0; n < string.length; n++) { + + var c = string.charCodeAt(n); + + if (c < 128) { + utftext += String.fromCharCode(c); + } + else if((c > 127) && (c < 2048)) { + utftext += String.fromCharCode((c >> 6) | 192); + utftext += String.fromCharCode((c & 63) | 128); + } + else { + utftext += String.fromCharCode((c >> 12) | 224); + utftext += String.fromCharCode(((c >> 6) & 63) | 128); + utftext += String.fromCharCode((c & 63) | 128); + } + + } + + return utftext; + }, + + // private method for UTF-8 decoding + _utf8_decode : function (utftext) { + var string = ""; + var i = 0; + var c = c1 = c2 = 0; + + while ( i < utftext.length ) { + + c = utftext.charCodeAt(i); + + if (c < 128) { + string += String.fromCharCode(c); + i++; + } + else if((c > 191) && (c < 224)) { + c2 = utftext.charCodeAt(i+1); + string += String.fromCharCode(((c & 31) << 6) | (c2 & 63)); + i += 2; + } + else { + c2 = utftext.charCodeAt(i+1); + c3 = utftext.charCodeAt(i+2); + string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63)); + i += 3; + } + + } + + return string; + } + +} Added: trunk/2.0/public_html/js/webtoolkit.url.js =================================================================== --- trunk/2.0/public_html/js/webtoolkit.url.js (rev 0) +++ trunk/2.0/public_html/js/webtoolkit.url.js 2009-12-16 04:53:50 UTC (rev 1020) @@ -0,0 +1,78 @@ +/** +* +* URL encode / decode +* http://www.webtoolkit.info/ +* +**/ + +var Url = { + + // public method for url encoding + encode : function (string) { + return escape(this._utf8_encode(string)); + }, + + // public method for url decoding + decode : function (string) { + return this._utf8_decode(unescape(string)); + }, + + // private method for UTF-8 encoding + _utf8_encode : function (string) { + string = string.replace(/\r\n/g,"\n"); + var utftext = ""; + + for (var n = 0; n < string.length; n++) { + + var c = string.charCodeAt(n); + + if (c < 128) { + utftext += String.fromCharCode(c); + } + else if((c > 127) && (c < 2048)) { + utftext += String.fromCharCode((c >> 6) | 192); + utftext += String.fromCharCode((c & 63) | 128); + } + else { + utftext += String.fromCharCode((c >> 12) | 224); + utftext += String.fromCharCode(((c >> 6) & 63) | 128); + utftext += String.fromCharCode((c & 63) | 128); + } + + } + + return utftext; + }, + + // private method for UTF-8 decoding + _utf8_decode : function (utftext) { + var string = ""; + var i = 0; + var c = c1 = c2 = 0; + + while ( i < utftext.length ) { + + c = utftext.charCodeAt(i); + + if (c < 128) { + string += String.fromCharCode(c); + i++; + } + else if((c > 191) && (c < 224)) { + c2 = utftext.charCodeAt(i+1); + string += String.fromCharCode(((c & 31) << 6) | (c2 & 63)); + i += 2; + } + else { + c2 = utftext.charCodeAt(i+1); + c3 = utftext.charCodeAt(i+2); + string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63)); + i += 3; + } + + } + + return string; + } + +} \ No newline at end of file Modified: trunk/2.0/templates/content/index.content.tmpl =================================================================== --- trunk/2.0/templates/content/index.content.tmpl 2009-12-16 01:52:53 UTC (rev 1019) +++ trunk/2.0/templates/content/index.content.tmpl 2009-12-16 04:53:50 UTC (rev 1020) @@ -5,10 +5,19 @@ so you can watch the data being sent.</p> <form> - <input type="button" id="button1" value="Click me"/> + <input type="button" id="button1" value="POST Test"/> + <input type="button" id="button2" value="GET Test" /> </form> +<div id="pageLoadData" style="border:solid #000 1px;">This gets updated once the page is completely loaded.</div> +<table border="1" width="80%" align="center"> + <tr> + <th width="50%">POST Stuff:</th> + <th width="50%">GET Stuff:</th> + </tr> + <tr> + <td id="response">No data yet... CLICK THE BUTTON!!!</td> + <td id="getData" style="border:solid #000 1px;">Click the "GET TEST" button!</td> + </tr> +</table> -<div id="pageLoadData" style="border:solid #000 1px;">This gets updated once the page is completely loaded.</div> - -<div id="response">No data yet... CLICK THE BUTTON!!!</div> Modified: trunk/2.0/templates/main.shared.tmpl =================================================================== --- trunk/2.0/templates/main.shared.tmpl 2009-12-16 01:52:53 UTC (rev 1019) +++ trunk/2.0/templates/main.shared.tmpl 2009-12-16 04:53:50 UTC (rev 1020) @@ -5,6 +5,8 @@ <link rel="stylesheet" href="/css/crazed.css" type="text/css"> <script language="javascript" src="/js/jquery-1.3.2.min.js" type="text/javascript"></script> <script language="javascript" src="/js/jquery.blockUI.js" type="text/javascript"></script> +<script language="javascript" src="/js/webtoolkit.url.js" type="text/javascript"></script> +<script language="javascript" src="/js/webtoolkit.base64.js" type="text/javascript"></script> <script language="javascript" src="/js/ajax.js" type="text/javascript"></script> <script language="javascript" src="/js/cs-project.js" type="text/javascript"></script> </head> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cra...@us...> - 2009-12-16 01:52:58
|
Revision: 1019 http://cs-project.svn.sourceforge.net/cs-project/?rev=1019&view=rev Author: crazedsanity Date: 2009-12-16 01:52:53 +0000 (Wed, 16 Dec 2009) Log Message: ----------- Remove unnecessary method from the AJAX class (it was copied from CrazedSanity.com's JS). Modified Paths: -------------- trunk/2.0/public_html/js/ajax.js Modified: trunk/2.0/public_html/js/ajax.js =================================================================== --- trunk/2.0/public_html/js/ajax.js 2009-12-16 01:46:51 UTC (rev 1018) +++ trunk/2.0/public_html/js/ajax.js 2009-12-16 01:52:53 UTC (rev 1019) @@ -45,20 +45,6 @@ -function handle_ajaxLoginResult(xml) { - if(typeof xml == "object") { - updateLoginBox(xml); - - //they're logged in. Redirect. - if($(xml).find('status').text() == 1 && getURLVar('loginDestination')) { - var dest = Url.decode(getURLVar('loginDestination')); - document.location=dest; - } - } -} - - - function ajax_successCallback(xmlData) { var xmlObj = parseXML(xmlData); var $xmlObj = $(xmlObj); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cra...@us...> - 2009-12-16 01:47:03
|
Revision: 1018 http://cs-project.svn.sourceforge.net/cs-project/?rev=1018&view=rev Author: crazedsanity Date: 2009-12-16 01:46:51 +0000 (Wed, 16 Dec 2009) Log Message: ----------- Test code to show off AJAX stuff (with jQuery), plus svn:externals for core libraries. Modified Paths: -------------- trunk/2.0/includes/ajax/test.inc trunk/2.0/public_html/index.php trunk/2.0/public_html/js/cs-project.js Added Paths: ----------- trunk/2.0/includes/ trunk/2.0/public_html/images/ajax-loader.gif trunk/2.0/public_html/js/ajax.js trunk/2.0/public_html/js/jquery.blockUI.js trunk/2.0/templates/content/ trunk/2.0/templates/content/index.content.tmpl trunk/2.0/templates/footer.shared.tmpl trunk/2.0/templates/header.shared.tmpl trunk/2.0/templates/infobar.shared.tmpl trunk/2.0/templates/main.shared.tmpl trunk/2.0/templates/menu.shared.tmpl trunk/2.0/templates/system/ trunk/2.0/templates/system/404.shared.tmpl trunk/2.0/templates/system/message_box.tmpl Removed Paths: ------------- trunk/2.0/public_html/includes/ Modified: trunk/2.0/includes/ajax/test.inc =================================================================== --- trunk/2.0/public_html/includes/ajax/test.inc 2009-12-14 16:16:39 UTC (rev 1016) +++ trunk/2.0/includes/ajax/test.inc 2009-12-16 01:46:51 UTC (rev 1018) @@ -10,5 +10,15 @@ * Last Updated:::::::: $Date$ */ +sleep(1); +$page->printOnFinish=false; +$xml = new cs_phpxmlCreator("ajaxresponse"); +$xml->add_tag("time", microtime()); +$xml->add_tag("callback_success", 'callback_test'); +$xml->add_tag("post_data", htmlentities($page->gfObj->debug_print($_POST,0))); +print($xml->create_xml_string()); + + +exit; ?> Added: trunk/2.0/public_html/images/ajax-loader.gif =================================================================== (Binary files differ) Property changes on: trunk/2.0/public_html/images/ajax-loader.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Modified: trunk/2.0/public_html/index.php =================================================================== --- trunk/2.0/public_html/index.php 2009-12-14 16:20:46 UTC (rev 1017) +++ trunk/2.0/public_html/index.php 2009-12-16 01:46:51 UTC (rev 1018) @@ -11,4 +11,9 @@ */ +require_once(dirname(__FILE__) .'/../lib/cs-content/__autoload.php'); + +$cs = new contentSystem(); +$cs->finish(); + ?> Added: trunk/2.0/public_html/js/ajax.js =================================================================== --- trunk/2.0/public_html/js/ajax.js (rev 0) +++ trunk/2.0/public_html/js/ajax.js 2009-12-16 01:46:51 UTC (rev 1018) @@ -0,0 +1,118 @@ +//Use this for compatibility with Internet Explorer, so elements can actually be found. Done this +//way instead of via JQuery because JQuery doesn't actually support parsing XML +//(see http://dev.jquery.com/ticket/3143) +// +//SOURCE::: +//http://groups.google.com/group/jquery-en/browse_frm/thread/95718c9aab2c7483/af37adcb54b816c3?lnk=gst&q=parsexml&pli=1 +function parseXML( xml ) { + if( window.ActiveXObject && window.GetObject ) { + var dom = new ActiveXObject( 'Microsoft.XMLDOM' ); + dom.loadXML( xml ); + return dom; + } + if( window.DOMParser ) + return new DOMParser().parseFromString( xml, 'text/xml' ); + throw new Error( 'No XML parser available' ); +} + + +function ajax_getRequest(type, isAsync, url) { + if(isAsync != false && isAsync != true) { + isAsync = true; + } + + myUrl='/ajax/'; + if(url != undefined) { + myUrl = url; + } + + $.ajax ({ + url : myUrl + type, + cache : false, + async : isAsync, + dataType : 'text/xml', + success: function (returnXml) { + var xml = parseXML(returnXml); + if($(xml).find('type').text() == 'auth') { + updateLoginBox(xml); + } + }, + error: function (returnXml) { + alert("Call to " + type + " failed::: " + returnXml); + } + }); +} + + + +function handle_ajaxLoginResult(xml) { + if(typeof xml == "object") { + updateLoginBox(xml); + + //they're logged in. Redirect. + if($(xml).find('status').text() == 1 && getURLVar('loginDestination')) { + var dest = Url.decode(getURLVar('loginDestination')); + document.location=dest; + } + } +} + + + +function ajax_successCallback(xmlData) { + var xmlObj = parseXML(xmlData); + var $xmlObj = $(xmlObj); + if($xmlObj.find('callback_success').text()) { + //call the callback function... + var funcname = $xmlObj.find('callback_success').text(); + //TODO: figure out how to AVOID using eval() here... + eval(funcname + '(xmlObj)'); + } +} + + + +function ajax_doPost(formName, postData, msgTitle, msgBody, isAsync) { + if(msgTitle != undefined && msgTitle != null && msgTitle.length) { + $.growlUI(msgTitle, msgBody); + } + + if(isAsync == undefined) { + isAsync = true; + } + + var myUrl = "/ajax/" + formName; + + $.ajax({ + url: myUrl, + type: "POST", + data: postData, + success: ajax_successCallback + }); +} + + + + +//Code to pull _GET vars, from http://techfeed.net/blog/index.cfm/2007/2/6/JavaScript-URL-variables +function getURLVar(urlVarName) { + //divide the URL in half at the '?' + var urlHalves = String(document.location).split('?'); + var urlVarValue = ''; + if(urlHalves[1]){ + //load all the name/value pairs into an array + var urlVars = urlHalves[1].split('&'); + //loop over the list, and find the specified url variable + for(i=0; i<=(urlVars.length); i++){ + if(urlVars[i]){ + //load the name/value pair into an array + var urlVarPair = urlVars[i].split('='); + if (urlVarPair[0] && urlVarPair[0] == urlVarName) { + //I found a variable that matches, load it's value into the return variable + urlVarValue = urlVarPair[1]; + } + } + } + } + return urlVarValue; +} Modified: trunk/2.0/public_html/js/cs-project.js =================================================================== --- trunk/2.0/public_html/js/cs-project.js 2009-12-14 16:20:46 UTC (rev 1017) +++ trunk/2.0/public_html/js/cs-project.js 2009-12-16 01:46:51 UTC (rev 1018) @@ -1,371 +1,66 @@ +var ajaxLoadingImage = '<img src="/images/ajax-loader.gif" border="0"/>'; -function toggleDisplay(obj) { - if(obj != null) { - //check if "obj" is an object or just a string. - if(obj != null && typeof(obj) == 'object') { - var el = obj; - } - else { - var el = document.getElementById(obj); - } - - var oldDisplay = el.style.display; - - - if(oldDisplay == 'none') { - var newDisplay = 'inline'; - } - else { - var newDisplay = 'none'; - } - - el.style.display = newDisplay; - } -} - - -/** - * Works simply by having 2 divs and an input with standardized - * prefixes, and having special suffixes so it's easy to call - * without having to pass the names of the three elements. -**/ -function enableInput(prefixName) { - //set the names of the items. - var inputObjName = prefixName + '_input'; - var textDivName = prefixName + '_text'; - var inputDivName = prefixName + '_inputDiv'; +/* START AJAX TEST FUNCTIONS */ - - - if(document.getElementById(inputDivName)) { - //make the text disappear. - toggleDisplay(textDivName, 'inline'); - } - - if(document.getElementById(inputDivName)) { - //make the input div appear. - //toggleDisplay(inputDivName, 'inline'); - new Effect.Appear(inputDivName); - } - - //now enable the input. - if(document.getElementById(inputObjName) != null) { - var inputObj = document.getElementById(inputObjName); - inputObj.disabled = false; - inputObj.style.display = 'inline'; - } -} - -/** - * Hide the text div & enable one of two divs. -**/ -function setup__enableInput(prefixName, selectedOption) { - - //EXAMPLE: if "prefixName"=="example" and "selectedOption"=="option1"... - - //example_text - var textDivName = prefixName + '_text'; - - //example_option1_div - var optionDivName = prefixName + '_' + selectedOption + '_div'; - - //example_option1_submitButton - var submitButtonName = prefixName + '_' + selectedOption +'_submitButton'; - - //example_selectedOption - var selectedOptionName = prefixName + '_selectedOption'; - - //hide the text. - var textDiv = document.getElementById(textDivName); - textDiv.style.display = 'none'; - - //display the option. - var optionDiv = document.getElementById(optionDivName); - optionDiv.style.display = 'inline'; - - //set the value of the option input. - var selectedOptionInput = document.getElementById(selectedOptionName); - selectedOptionInput.value = selectedOption; - - //display the submit button. - var submitButton = document.getElementById(submitButtonName); - submitButton.style.display = 'inline'; -} - - -function cs_addAttribute(selectObj) { - if(selectObj != null && selectObj.selectedIndex > 0) { - //okay, get the value... - var myValue = selectObj.options[selectObj.selectedIndex].value; - var valueInputObj = document.getElementById('addAttribute_value'); - - if(myValue.length > 0) { - //okay... - if(myValue == '**new**') { - toggleDisplay('addAttribute_select', 'inline'); - toggleDisplay('addAttribute_new', 'inline'); - document.getElementById('addAttribute_list').disabled=true; - document.getElementById('addAttribute_new_input').disabled=false; - } - else { - document.getElementById('addAttribute_new_input').value = myValue; - document.getElementById('addAttribute_new_input').disabled=false; - } - valueInputObj.disabled = false; - cs_enableSubmitButton(); + //------------------------------------------------------------------------- + function updatePageLoadData(newData) { + if(newData.length > 0) { + $("#pageLoadData").html(newData); } else { - valueInputObj.disabled = true; + $("#pageLoadData").text(""); } - } -}//end cs_addAttribute() - - -function cs_contactDelAttrib(checkBoxObj) { - if(checkBoxObj != null) { - var myName = checkBoxObj.value; - var inputName = 'editAttribute_' + myName; - var enableInputObj = document.getElementById(inputName); - - if(enableInputObj != null) { - cs_enableSubmitButton(); - enableInputObj.disabled = true; - } - else { - alert("Cannot find input with id=(" + inputName + ")"); - } - } -}//end cs_contactDelAttrib() - - -function cs_contactEdit() { - //form appears, static data disappears. - toggleDisplay('mainContact_static', 'inline'); - toggleDisplay('mainContact_form', 'inline'); + }//end updatePageLoadData() + //------------------------------------------------------------------------- - //now enable some elements. - document.getElementById('contactData_company').disabled=false; - document.getElementById('contactData_fname').disabled=false; - document.getElementById('contactData_lname').disabled=false; - document.getElementById('contactData_email').disabled=false; - cs_enableSubmitButton(); -}//end cs_contactEdit() - - -function cs_enableSubmitButton(buttonName, disVal) { - if(buttonName != null) { - var buttonObj = document.getElementById(buttonName); - } - else { - var buttonObj = document.getElementById('submitButton'); - } - //if(disVal == null || (disVal != true && disVal != false)) { - // disVal = false; - //} - - if(buttonObj != null && buttonObj.type == 'submit') { - buttonObj.disabled = disVal; - } - - return(disVal); -}//end cs_enableSubmitButton() - -function cs_attributeEdit(myName) { - var linkDivObj = document.getElementById('link_editAttribute_' + myName); - var inputDivObj = document.getElementById('input_editAttribute_' + myName); - var inputObj = document.getElementById('editAttribute_' + myName); - - if(linkDivObj != null && inputDivObj != null && inputObj != null) { - linkDivObj.style.display = 'none'; - inputDivObj.style.display = 'inline'; - inputObj.disabled = false; - cs_enableSubmitButton(); - } - -}//end cs_attributeEdit() - - -function cs_setContactEmailId(newValue) { - var inputObj = document.getElementById('contactData_email'); - - if(inputObj != null && newValue != null) { - inputObj.value = newValue; - - //reset the old fontWeight... - myObj = null; - var checkBoxes = updateContactForm.garbage_contactEmailId; - for(counter = 0; counter < checkBoxes.length; counter++) { - curValue = checkBoxes[counter].value; - myName = 'display_ceid_' + curValue; - myObj = document.getElementById(myName); - - if(myObj != null) { - if(curValue == newValue) { - myObj.style.fontWeight = 'bold'; - } - else { - myObj.style.fontWeight = 'normal'; - } - } + //------------------------------------------------------------------------- + function show_ajaxLoading(myText) { + if(!myText.length || myText == null || myText == undefined) { + myText = "loading...."; } - } -}//end cs_setContactEmailId() - - -function cs_contactAddEmail(obj) { - var newEmailObj = document.getElementById('contactData_newContactEmail'); + updatePageLoadData(ajaxLoadingImage + myText); + }//end show_ajaxLoading() + //------------------------------------------------------------------------- - newEmailObj.disabled = false; - - if(obj != null) { - //passed the object: they want the value updated. - newEmailObj.value = obj.value; - cs_setContactEmailId('new'); - } - else { - var linkDivObj = document.getElementById('contactAddEmail_link'); - var radioDivObj = document.getElementById('contactAddEmail_radioDiv'); - var radioInputObj = document.getElementById('contactAddEmail_radio'); - var textDivObj = document.getElementById('contactAddEmail_text'); - var textInputObj = document.getElementById('contactAddEmail_input'); - - linkDivObj.style.display = 'none'; - radioDivObj.style.display = 'inline'; - textDivObj.style.display = 'inline'; - - textInputObj.disabled = false; - radioInputObj.disabled = false; - radioInputObj.checked = true; - } - -}//end cs_contactAddEmail() - -/** - * The data inside the given div is replaced... - */ -function cs_submitButton_processing(buttonDivName) { - - var buttonDivObj = document.getElementById(buttonDivName + '_button'); - var imageDivObj = document.getElementById(buttonDivName + '_image'); - - if(buttonDivObj != null && imageDivObj != null) { - //buttonDivObj.style.display = 'none'; - //imageDivObj.style.display = 'inline'; + //------------------------------------------------------------------------- + function ajax_getTestResponse() { - toggleDisplay(buttonDivObj, 'none'); - toggleDisplay(imageDivObj, 'inline'); - } - else { - alert("at least one object is null::: " + buttonDivObj + imageDivObj); - } - -}//end cs_submitButton_processing() - - -function lostPassword_validate() { - //document.print("checking... " + time()); - //var dateObj = new Date(); - //document.write("checking... " + dateObj.getMilliseconds()); - //clearInterval(); - - var hashObj = document.getElementById('hashInput'); - var checksumObj = document.getElementById('checksumInput'); - var debugObj = document.getElementById('debug'); - - var buttonShouldBe = ""; - var enableVal = ""; - var showEnableVal = ""; - var passMatchText = "not checked..."; - var passMatch = false; - - var passCheckObj = document.getElementById('password'); - var passConfirmObj = document.getElementById('passwordConfirm'); - - //alert(hashObj.toString()); - - if(hashObj != null && checksumObj != null && passCheckObj != null && passConfirmObj != null) { - passMatchText = "do not match"; - passMatch = false; - if(passCheckObj.value == passConfirmObj.value) { - passMatchText = "<b>match</b>"; - passMatch = true; + myPostData = { + "firstItem" : "myTest", + "secondItem" : $("#pageLoadData").html() } + show_ajaxLoading("Checking response..."); + ajax_doPost("test", myPostData, "WAIT", "Doing a test POST via AJAX, be patient."); - //check that the hash is 32 characters long. - if(hashObj.value.length == 32 && checksumObj.value.length > 3 && passMatch == true) { - buttonShouldBe = 'enabled'; - enableVal = cs_enableSubmitButton(); - } - else { - buttonShouldBe = 'DISabled'; - enableVal = cs_enableSubmitButton(null, true); - } - - showEnableVal = "FALSE"; - if(enableVal == true) { - showEnableVal = "true"; - } - } + }//end ajax_getTestResponse() + //------------------------------------------------------------------------- - debugObj.innerHTML = "HASH VALUE: " + hashObj.value + "<br>\nLENGTH: " + hashObj.value.length - + "<hr>checksum Value: " + checksumObj.value + "<br>\nLENGTH: " + checksumObj.value.length - + "<hr>Button should be: " + buttonShouldBe + "<br>\nButton REALLY IS " + enableVal - + "<hr>Passwords: " + passMatchText; - //debugObj.innerHTML = info + hashObj.toString(); - //clearInterval(); -}//end lostPassword_validate() + //------------------------------------------------------------------------- + function callback_test(xmlObj) { + $xmlObj = $(xmlObj); + updatePageLoadData("Response complete... time was (" + $xmlObj.find("time").text() +")"); + $("#response").html($xmlObj.find("post_data").text()); + }//end callback_test() + //------------------------------------------------------------------------- +/* END AJAX TEST FUNCTIONS */ -function cs_confirmLostPass() { - cs_submitButton_processing('submitRequest'); - var hashInputObj = document.getElementById('hashInput'); - var checksumInputObj = document.getElementById('checksumInput'); - - hashInputObj.readonly = true; - checksumInputObj.readonly = true; -}//end cs_confirmLostPass() -function clearErrorMessage() { - var name = 'MAIN_error_message'; - document.getElementById(name).innerHTML=""; -}//end clearErrorMessage() - - -/** - * Overload the xajax call to be able to do things like clearing out the - * div that contains set messages... - */ -function checkAjax() { - var retval = false; - if(this.xajaxLoaded) { - retval = true; - } - return retval; -} -var clearMessageTimeoutID; -if(checkAjax()) { - //keep around the old call function - xajax.realCall = xajax.call; - //override the call function to bend to our wicked ways - xajax.call = function(sFunction, aArgs, sRequestType) - { - //clear out the message. - if(this.clearMessageTimeoutID) { - clearTimeout(this.clearMessageTimeoutID); - } - this.clearMessageTimeoutID = setTimeout("clearErrorMessage();", 10000); - - //call the old call function - return this.realCall(sFunction, aArgs, sRequestType); - } -} \ No newline at end of file +//------------------------------------------------------------------------- +$(document).ready(function() { + updatePageLoadData("page loaded!"); + $("#button1").click(function() { + ajax_getTestResponse(); + }); +}); +//------------------------------------------------------------------------- Added: trunk/2.0/public_html/js/jquery.blockUI.js =================================================================== --- trunk/2.0/public_html/js/jquery.blockUI.js (rev 0) +++ trunk/2.0/public_html/js/jquery.blockUI.js 2009-12-16 01:46:51 UTC (rev 1018) @@ -0,0 +1,422 @@ +/* + * jQuery blockUI plugin + * Version 2.20 (19-MAY-2009) + * @requires jQuery v1.2.3 or later + * + * Examples at: http://malsup.com/jquery/block/ + * Copyright (c) 2007-2008 M. Alsup + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + * + * Thanks to Amir-Hossein Sobhi for some excellent contributions! + */ + +;(function($) { + +if (/1\.(0|1|2)\.(0|1|2)/.test($.fn.jquery) || /^1.1/.test($.fn.jquery)) { + alert('blockUI requires jQuery v1.2.3 or later! You are using v' + $.fn.jquery); + return; +} + +$.fn._fadeIn = $.fn.fadeIn; + +var setExpr = (function() { + if (!$.browser.msie) return false; + var div = document.createElement('div'); + try { div.style.setExpression('width','0+0'); } + catch(e) { return false; } + return true; +})(); + + +// global $ methods for blocking/unblocking the entire page +$.blockUI = function(opts) { install(window, opts); }; +$.unblockUI = function(opts) { remove(window, opts); }; + +// convenience method for quick growl-like notifications (http://www.google.com/search?q=growl) +$.growlUI = function(title, message, timeout, onClose) { + var $m = $('<div class="growlUI"></div>'); + if (title) $m.append('<h1>'+title+'</h1>'); + if (message) $m.append('<h2>'+message+'</h2>'); + if (timeout == undefined) timeout = 3000; + $.blockUI({ + message: $m, fadeIn: 700, fadeOut: 1000, centerY: false, + timeout: timeout, showOverlay: false, + onUnblock: onClose, + css: $.blockUI.defaults.growlCSS + }); +}; + +// plugin method for blocking element content +$.fn.block = function(opts) { + return this.unblock({ fadeOut: 0 }).each(function() { + if ($.css(this,'position') == 'static') + this.style.position = 'relative'; + if ($.browser.msie) + this.style.zoom = 1; // force 'hasLayout' + install(this, opts); + }); +}; + +// plugin method for unblocking element content +$.fn.unblock = function(opts) { + return this.each(function() { + remove(this, opts); + }); +}; + +$.blockUI.version = 2.20; // 2nd generation blocking at no extra cost! + +// override these in your code to change the default behavior and style +$.blockUI.defaults = { + // message displayed when blocking (use null for no message) + message: '<h1>Please wait...</h1>', + + // styles for the message when blocking; if you wish to disable + // these and use an external stylesheet then do this in your code: + // $.blockUI.defaults.css = {}; + css: { + padding: 0, + margin: 0, + width: '30%', + top: '40%', + left: '35%', + textAlign: 'center', + color: '#000', + border: '3px solid #aaa', + backgroundColor:'#fff', + cursor: 'wait' + }, + + // styles for the overlay + overlayCSS: { + backgroundColor: '#000', + opacity: 0.6, + cursor: 'wait' + }, + + // styles applied when using $.growlUI + growlCSS: { + width: '350px', + top: '10px', + left: '', + right: '10px', + border: 'none', + padding: '5px', + opacity: 0.6, + cursor: null, + color: '#fff', + backgroundColor: '#000', + '-webkit-border-radius': '10px', + '-moz-border-radius': '10px' + }, + + // IE issues: 'about:blank' fails on HTTPS and javascript:false is s-l-o-w + // (hat tip to Jorge H. N. de Vasconcelos) + iframeSrc: /^https/i.test(window.location.href || '') ? 'javascript:false' : 'about:blank', + + // force usage of iframe in non-IE browsers (handy for blocking applets) + forceIframe: false, + + // z-index for the blocking overlay + baseZ: 1000, + + // set these to true to have the message automatically centered + centerX: true, // <-- only effects element blocking (page block controlled via css above) + centerY: true, + + // allow body element to be stetched in ie6; this makes blocking look better + // on "short" pages. disable if you wish to prevent changes to the body height + allowBodyStretch: true, + + // enable if you want key and mouse events to be disabled for content that is blocked + bindEvents: true, + + // be default blockUI will supress tab navigation from leaving blocking content + // (if bindEvents is true) + constrainTabKey: true, + + // fadeIn time in millis; set to 0 to disable fadeIn on block + fadeIn: 200, + + // fadeOut time in millis; set to 0 to disable fadeOut on unblock + fadeOut: 400, + + // time in millis to wait before auto-unblocking; set to 0 to disable auto-unblock + timeout: 0, + + // disable if you don't want to show the overlay + showOverlay: true, + + // if true, focus will be placed in the first available input field when + // page blocking + focusInput: true, + + // suppresses the use of overlay styles on FF/Linux (due to performance issues with opacity) + applyPlatformOpacityRules: true, + + // callback method invoked when unblocking has completed; the callback is + // passed the element that has been unblocked (which is the window object for page + // blocks) and the options that were passed to the unblock call: + // onUnblock(element, options) + onUnblock: null, + + // don't ask; if you really must know: http://groups.google.com/group/jquery-en/browse_thread/thread/36640a8730503595/2f6a79a77a78e493#2f6a79a77a78e493 + quirksmodeOffsetHack: 4 +}; + +// private data and functions follow... + +var ie6 = $.browser.msie && /MSIE 6.0/.test(navigator.userAgent); +var pageBlock = null; +var pageBlockEls = []; + +function install(el, opts) { + var full = (el == window); + var msg = opts && opts.message !== undefined ? opts.message : undefined; + opts = $.extend({}, $.blockUI.defaults, opts || {}); + opts.overlayCSS = $.extend({}, $.blockUI.defaults.overlayCSS, opts.overlayCSS || {}); + var css = $.extend({}, $.blockUI.defaults.css, opts.css || {}); + msg = msg === undefined ? opts.message : msg; + + // remove the current block (if there is one) + if (full && pageBlock) + remove(window, {fadeOut:0}); + + // if an existing element is being used as the blocking content then we capture + // its current place in the DOM (and current display style) so we can restore + // it when we unblock + if (msg && typeof msg != 'string' && (msg.parentNode || msg.jquery)) { + var node = msg.jquery ? msg[0] : msg; + var data = {}; + $(el).data('blockUI.history', data); + data.el = node; + data.parent = node.parentNode; + data.display = node.style.display; + data.position = node.style.position; + if (data.parent) + data.parent.removeChild(node); + } + + var z = opts.baseZ; + + // blockUI uses 3 layers for blocking, for simplicity they are all used on every platform; + // layer1 is the iframe layer which is used to supress bleed through of underlying content + // layer2 is the overlay layer which has opacity and a wait cursor (by default) + // layer3 is the message content that is displayed while blocking + + var lyr1 = ($.browser.msie || opts.forceIframe) + ? $('<iframe class="blockUI" style="z-index:'+ (z++) +';display:none;border:none;margin:0;padding:0;position:absolute;width:100%;height:100%;top:0;left:0" src="'+opts.iframeSrc+'"></iframe>') + : $('<div class="blockUI" style="display:none"></div>'); + var lyr2 = $('<div class="blockUI blockOverlay" style="z-index:'+ (z++) +';display:none;border:none;margin:0;padding:0;width:100%;height:100%;top:0;left:0"></div>'); + var lyr3 = full ? $('<div class="blockUI blockMsg blockPage" style="z-index:'+z+';display:none;position:fixed"></div>') + : $('<div class="blockUI blockMsg blockElement" style="z-index:'+z+';display:none;position:absolute"></div>'); + + // if we have a message, style it + if (msg) + lyr3.css(css); + + // style the overlay + if (!opts.applyPlatformOpacityRules || !($.browser.mozilla && /Linux/.test(navigator.platform))) + lyr2.css(opts.overlayCSS); + lyr2.css('position', full ? 'fixed' : 'absolute'); + + // make iframe layer transparent in IE + if ($.browser.msie || opts.forceIframe) + lyr1.css('opacity',0.0); + + $([lyr1[0],lyr2[0],lyr3[0]]).appendTo(full ? 'body' : el); + + // ie7 must use absolute positioning in quirks mode and to account for activex issues (when scrolling) + var expr = $.browser.msie && ($.browser.version < 8 || !$.boxModel) && (!$.boxModel || $('object,embed', full ? null : el).length > 0); + if (ie6 || (expr && setExpr)) { + // give body 100% height + if (full && opts.allowBodyStretch && $.boxModel) + $('html,body').css('height','100%'); + + // fix ie6 issue when blocked element has a border width + if ((ie6 || !$.boxModel) && !full) { + var t = sz(el,'borderTopWidth'), l = sz(el,'borderLeftWidth'); + var fixT = t ? '(0 - '+t+')' : 0; + var fixL = l ? '(0 - '+l+')' : 0; + } + + // simulate fixed position + $.each([lyr1,lyr2,lyr3], function(i,o) { + var s = o[0].style; + s.position = 'absolute'; + if (i < 2) { + full ? s.setExpression('height','Math.max(document.body.scrollHeight, document.body.offsetHeight) - (jQuery.boxModel?0:'+opts.quirksmodeOffsetHack+') + "px"') + : s.setExpression('height','this.parentNode.offsetHeight + "px"'); + full ? s.setExpression('width','jQuery.boxModel && document.documentElement.clientWidth || document.body.clientWidth + "px"') + : s.setExpression('width','this.parentNode.offsetWidth + "px"'); + if (fixL) s.setExpression('left', fixL); + if (fixT) s.setExpression('top', fixT); + } + else if (opts.centerY) { + if (full) s.setExpression('top','(document.documentElement.clientHeight || document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (blah = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "px"'); + s.marginTop = 0; + } + else if (!opts.centerY && full) { + var top = (opts.css && opts.css.top) ? parseInt(opts.css.top) : 0; + var expression = '((document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + '+top+') + "px"'; + s.setExpression('top',expression); + } + }); + } + + // show the message + if (msg) { + lyr3.append(msg); + if (msg.jquery || msg.nodeType) + $(msg).show(); + } + + if (($.browser.msie || opts.forceIframe) && opts.showOverlay) + lyr1.show(); // opacity is zero + if (opts.fadeIn) { + if (opts.showOverlay) + lyr2._fadeIn(opts.fadeIn); + if (msg) + lyr3.fadeIn(opts.fadeIn); + } + else { + if (opts.showOverlay) + lyr2.show(); + if (msg) + lyr3.show(); + } + + // bind key and mouse events + bind(1, el, opts); + + if (full) { + pageBlock = lyr3[0]; + pageBlockEls = $(':input:enabled:visible',pageBlock); + if (opts.focusInput) + setTimeout(focus, 20); + } + else + center(lyr3[0], opts.centerX, opts.centerY); + + if (opts.timeout) { + // auto-unblock + var to = setTimeout(function() { + full ? $.unblockUI(opts) : $(el).unblock(opts); + }, opts.timeout); + $(el).data('blockUI.timeout', to); + } +}; + +// remove the block +function remove(el, opts) { + var full = el == window; + var $el = $(el); + var data = $el.data('blockUI.history'); + var to = $el.data('blockUI.timeout'); + if (to) { + clearTimeout(to); + $el.removeData('blockUI.timeout'); + } + opts = $.extend({}, $.blockUI.defaults, opts || {}); + bind(0, el, opts); // unbind events + var els = full ? $('body').children().filter('.blockUI') : $('.blockUI', el); + + if (full) + pageBlock = pageBlockEls = null; + + if (opts.fadeOut) { + els.fadeOut(opts.fadeOut); + setTimeout(function() { reset(els,data,opts,el); }, opts.fadeOut); + } + else + reset(els, data, opts, el); +}; + +// move blocking element back into the DOM where it started +function reset(els,data,opts,el) { + els.each(function(i,o) { + // remove via DOM calls so we don't lose event handlers + if (this.parentNode) + this.parentNode.removeChild(this); + }); + + if (data && data.el) { + data.el.style.display = data.display; + data.el.style.position = data.position; + if (data.parent) + data.parent.appendChild(data.el); + $(data.el).removeData('blockUI.history'); + } + + if (typeof opts.onUnblock == 'function') + opts.onUnblock(el,opts); +}; + +// bind/unbind the handler +function bind(b, el, opts) { + var full = el == window, $el = $(el); + + // don't bother unbinding if there is nothing to unbind + if (!b && (full && !pageBlock || !full && !$el.data('blockUI.isBlocked'))) + return; + if (!full) + $el.data('blockUI.isBlocked', b); + + // don't bind events when overlay is not in use or if bindEvents is false + if (!opts.bindEvents || (b && !opts.showOverlay)) + return; + + // bind anchors and inputs for mouse and key events + var events = 'mousedown mouseup keydown keypress'; + b ? $(document).bind(events, opts, handler) : $(document).unbind(events, handler); + +// former impl... +// var $e = $('a,:input'); +// b ? $e.bind(events, opts, handler) : $e.unbind(events, handler); +}; + +// event handler to suppress keyboard/mouse events when blocking +function handler(e) { + // allow tab navigation (conditionally) + if (e.keyCode && e.keyCode == 9) { + if (pageBlock && e.data.constrainTabKey) { + var els = pageBlockEls; + var fwd = !e.shiftKey && e.target == els[els.length-1]; + var back = e.shiftKey && e.target == els[0]; + if (fwd || back) { + setTimeout(function(){focus(back)},10); + return false; + } + } + } + // allow events within the message content + if ($(e.target).parents('div.blockMsg').length > 0) + return true; + + // allow events for content that is not being blocked + return $(e.target).parents().children().filter('div.blockUI').length == 0; +}; + +function focus(back) { + if (!pageBlockEls) + return; + var e = pageBlockEls[back===true ? pageBlockEls.length-1 : 0]; + if (e) + e.focus(); +}; + +function center(el, x, y) { + var p = el.parentNode, s = el.style; + var l = ((p.offsetWidth - el.offsetWidth)/2) - sz(p,'borderLeftWidth'); + var t = ((p.offsetHeight - el.offsetHeight)/2) - sz(p,'borderTopWidth'); + if (x) s.left = l > 0 ? (l+'px') : '0'; + if (y) s.top = t > 0 ? (t+'px') : '0'; +}; + +function sz(el, p) { + return parseInt($.css(el,p))||0; +}; + +})(jQuery); Added: trunk/2.0/templates/content/index.content.tmpl =================================================================== --- trunk/2.0/templates/content/index.content.tmpl (rev 0) +++ trunk/2.0/templates/content/index.content.tmpl 2009-12-16 01:46:51 UTC (rev 1018) @@ -0,0 +1,14 @@ + +<h1>AJAX TEST</h1> + +<p class="smallprint">NOTE: you might want to use Firefox with FireBug turned on +so you can watch the data being sent.</p> + +<form> + <input type="button" id="button1" value="Click me"/> +</form> + + +<div id="pageLoadData" style="border:solid #000 1px;">This gets updated once the page is completely loaded.</div> + +<div id="response">No data yet... CLICK THE BUTTON!!!</div> Property changes on: trunk/2.0/templates/content/index.content.tmpl ___________________________________________________________________ Added: svn:executable + * Added: trunk/2.0/templates/footer.shared.tmpl =================================================================== --- trunk/2.0/templates/footer.shared.tmpl (rev 0) +++ trunk/2.0/templates/footer.shared.tmpl 2009-12-16 01:46:51 UTC (rev 1018) @@ -0,0 +1,9 @@ +<hr> +<div align="center"><font size="1"> + All content is ©opyright CrazedSanity + Computer Industries, 1998-{curYear}. <br> + CrazedSanity Computer Industries is a division of <a href="http://unlimited.buzzkill.org">BuzzKill + Productions Unlimited ®</a>. All rights reserved. <br> + For questions, to report a problem, or to offer your first born child as a sacrifice, + contact <a href="mailto:webmaster@127.0.0.1">webmaster -at- crazedsanity.com</a>.</font><BR><BR> +</div> Property changes on: trunk/2.0/templates/footer.shared.tmpl ___________________________________________________________________ Added: svn:executable + * Added: trunk/2.0/templates/header.shared.tmpl =================================================================== --- trunk/2.0/templates/header.shared.tmpl (rev 0) +++ trunk/2.0/templates/header.shared.tmpl 2009-12-16 01:46:51 UTC (rev 1018) @@ -0,0 +1,12 @@ +<table border="0" cellpadding="0" cellspacing="0" width="100%"> +<tbody><tr> + <td align="center"> + + </td> +</tr> +<TR> + <td align="center"><!-- This row should span across the page. --> + <HR>{date} {time} {timezone}<HR> + </td> +</tr> +</tbody></table> Property changes on: trunk/2.0/templates/header.shared.tmpl ___________________________________________________________________ Added: svn:executable + * Added: trunk/2.0/templates/infobar.shared.tmpl =================================================================== --- trunk/2.0/templates/infobar.shared.tmpl (rev 0) +++ trunk/2.0/templates/infobar.shared.tmpl 2009-12-16 01:46:51 UTC (rev 1018) @@ -0,0 +1,39 @@ + <form name="login" method="post" action="/login.php"> + <table width="100%" border="0" bgcolor="#CCCCCC"> + <tr> + <td width="85%">Sign up for your FREE membership!</td> + <td width="6%">Username:</td> + <td width="9%"> + <input type="text" name="username" size="10" maxlength="60"> + </td> + </tr> + <tr> + <td width="85%">Forget your username/password?</td> + <td width="6%">Password:</td> + <td width="9%"> + <input type="password" name="password" size="10" maxlength="60"> + </td> + </tr> + <tr> + <td width="85%"> </td> + <td width="6%"> + <input type="submit" name="action" value="Login"> + </td> + <td width="9%"> + <input type="reset" value="Reset"> + </td> + </tr> + </table> + </form> +<!-- END infobar_login --> +<!-- BEGIN infobar_logout --> + <table width="100%" border="0" bgcolor="#CCCCCC"> + <tr> + <td>Welcome, {USER_fname}</td> + <td>DATE: {PAGE_date}</td> + </tr> + <tr> + <td><a href="/logout.php">logout</a></td> + <td> </td> + </tr> + </table> Property changes on: trunk/2.0/templates/infobar.shared.tmpl ___________________________________________________________________ Added: svn:executable + * Added: trunk/2.0/templates/main.shared.tmpl =================================================================== --- trunk/2.0/templates/main.shared.tmpl (rev 0) +++ trunk/2.0/templates/main.shared.tmpl 2009-12-16 01:46:51 UTC (rev 1018) @@ -0,0 +1,46 @@ +<html> + +<head> +<title>{html_title}</title> +<link rel="stylesheet" href="/css/crazed.css" type="text/css"> +<script language="javascript" src="/js/jquery-1.3.2.min.js" type="text/javascript"></script> +<script language="javascript" src="/js/jquery.blockUI.js" type="text/javascript"></script> +<script language="javascript" src="/js/ajax.js" type="text/javascript"></script> +<script language="javascript" src="/js/cs-project.js" type="text/javascript"></script> +</head> + +<LINK REL="SHORTCUT ICON" HREF="/favicon.ico"> +<BODY bgcolor='white' text='#666666' link='#006666' vlink='#333355' alink='#FF0000' bgproperties='fixed'> + +<table border=0 cellpadding=0 cellspacing=0 width="90%" align="center"> +<tr> + <!-- This row should span across the page. --> + <td align="center" colspan=2> + {header} + {error_msg} + </td> +</tr> +<tr valign=top> + <td> + {menu} + </td> + + <td align="center"> + <table border=0 cellspacing=2 cellpadding=2 width="100%"> + <tr> + <td> + {content} + </td> + </tr> + </table> + </td> +</tr> +<tr> + <td colspan="2"> + {footer} + </td> +</tr> +</table> + +</body> +</html> Property changes on: trunk/2.0/templates/main.shared.tmpl ___________________________________________________________________ Added: svn:executable + * Property changes on: trunk/2.0/templates/menu.shared.tmpl ___________________________________________________________________ Added: svn:executable + * Added: trunk/2.0/templates/system/404.shared.tmpl =================================================================== --- trunk/2.0/templates/system/404.shared.tmpl (rev 0) +++ trunk/2.0/templates/system/404.shared.tmpl 2009-12-16 01:46:51 UTC (rev 1018) @@ -0,0 +1,33 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US"> +<!-- + * Created on Jun 3, 2007 + * +--> + <head> + <title>Page Not Found</title> + <link rel="stylesheet" href="{APPURL}/css/site.css" type="text/css"> + </head> + <body> + + <table border=0 cellpadding=0 cellspacing=0 width="90%" align="center"> +<TR> + <td align="center"><!-- This row should span across the page. --><hr>{datetime}<hr></td> +</TR> + + <tr> + + <td> + + + {content} + + + + </td> + </tr> +</table> + </body> +</html> Added: trunk/2.0/templates/system/message_box.tmpl =================================================================== --- trunk/2.0/templates/system/message_box.tmpl (rev 0) +++ trunk/2.0/templates/system/message_box.tmpl 2009-12-16 01:46:51 UTC (rev 1018) @@ -0,0 +1,29 @@ +<!-- *** MESSAGE_BOX START (/system/message_box.tmpl) *** --> +<table border="0" cellspacing="0" cellpadding="0" align="center"> + <tr> + <td class="{messageType}" width="5" align="left" valign="top"><img src="{APPURL}/images/frame/crn-white-tl.gif" width="5" height="5" alt=""></td> + <td class="{messageType}"><img src="{APPURL}/images/clear.gif" width="20" height="2" alt=""></td> + <td class="{messageType}" width="5" align="right" valign="top"><img src="{APPURL}/images/frame/crn-white-tr.gif" width="5" height="5" alt=""></td> + </tr> + <tr> + <td class="{messageType}" width="5"><img src="{APPURL}/images/clear.gif" width="5" height="20" alt=""></td> + <td> + <table class="{messageType}" width="100%" border="0" cellspacing="0" cellpadding="5"> + <tr> + <td valign="top"> + <p style="border-style: solid; border-width: 0px 0px 2px 0px" class="title1">{title}</p> +<p style="margin: 5px 0px 5px 0px">{message}</p> + {redirect} </td> + </tr> + </table></td> + <td class="{messageType}" width="5"><img src="{APPURL}/images/clear.gif" width="5" height="20" alt=""></td> + </tr> + <tr> + <td class="{messageType}" width="5" align="left" valign="bottom"><img src="{APPURL}/images/frame/crn-white-bl.gif" width="5" height="5" alt=""></td> + <td class="{messageType}"><img src="{APPURL}/images/clear.gif" width="20" height="2" alt=""></td> + <td class="{messageType}" width="5" align="right" valign="bottom"><img src="{APPURL}/images/frame/crn-white-br.gif" width="5" height="5" alt=""></td> + </tr> + </table> +<br> +<!-- *** MESSAGE_BOX END (/system/message_box.tmpl) *** --> + Property changes on: trunk/2.0/templates/system/message_box.tmpl ___________________________________________________________________ Added: svn:executable + * This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cra...@us...> - 2009-12-14 16:20:53
|
Revision: 1017 http://cs-project.svn.sourceforge.net/cs-project/?rev=1017&view=rev Author: crazedsanity Date: 2009-12-14 16:20:46 +0000 (Mon, 14 Dec 2009) Log Message: ----------- Index files & .htaccess config file. Added Paths: ----------- trunk/2.0/public_html/.htaccess trunk/2.0/public_html/ajax trunk/2.0/public_html/content trunk/2.0/public_html/index.php Added: trunk/2.0/public_html/.htaccess =================================================================== --- trunk/2.0/public_html/.htaccess (rev 0) +++ trunk/2.0/public_html/.htaccess 2009-12-14 16:20:46 UTC (rev 1017) @@ -0,0 +1,11 @@ +php_value include_path ".:./lib:../lib/:../../lib" +php_value session.auto_start 1 + +DirectoryIndex index.php content + +<files content> + ForceType application/x-httpd-php +</files> +<files ajax> + ForceType application/x-httpd-php +</files> \ No newline at end of file Added: trunk/2.0/public_html/ajax =================================================================== --- trunk/2.0/public_html/ajax (rev 0) +++ trunk/2.0/public_html/ajax 2009-12-14 16:20:46 UTC (rev 1017) @@ -0,0 +1 @@ +link index.php \ No newline at end of file Property changes on: trunk/2.0/public_html/ajax ___________________________________________________________________ Added: svn:special + * Added: trunk/2.0/public_html/content =================================================================== --- trunk/2.0/public_html/content (rev 0) +++ trunk/2.0/public_html/content 2009-12-14 16:20:46 UTC (rev 1017) @@ -0,0 +1 @@ +link index.php \ No newline at end of file Property changes on: trunk/2.0/public_html/content ___________________________________________________________________ Added: svn:special + * Added: trunk/2.0/public_html/index.php =================================================================== --- trunk/2.0/public_html/index.php (rev 0) +++ trunk/2.0/public_html/index.php 2009-12-14 16:20:46 UTC (rev 1017) @@ -0,0 +1,14 @@ +<?php +/* + * Created on Dec 14, 2009 + * + * SVN INFORMATION::: + * ------------------- + * Last Author::::::::: $Author$ + * Current Revision:::: $Revision$ + * Repository Location: $HeadURL$ + * Last Updated:::::::: $Date$ + */ + + +?> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |