ian%hixie.ch
662bae0d99
The 'acknowledge' string could be used for more than blank requests.
2002-09-14 12:46:16 +00:00
ian%hixie.ch
25f761a622
Implement a way for requests to include referrer information.
2002-09-14 12:45:26 +00:00
ian%hixie.ch
4889c1fb44
To make debugging easier, move the level 9 output debugging dumps from failure cases in the datasources to always, in the generic output service. May need further tweaking later.
2002-09-12 11:45:17 +00:00
ian%hixie.ch
adba24c93e
Adding a new way of executing database statements: attempt(). Works like execute() but doesn't raise an exception on failure. Check for failure by using the ResultsFrame's 'lastError' method.
2002-09-12 11:44:07 +00:00
ian%hixie.ch
ad095c7804
Add two new filters: One for theoretically valid URIs, and one for strings being embedded _into_ URIs. Note that the first overrides the Template::Filters version since that version is arguably incorrect.
2002-09-11 23:11:43 +00:00
ian%hixie.ch
791866856a
Changing 'HTTP/1.1' to 'Status:' since we're now in a non-nph environment.
2002-09-09 19:23:04 +00:00
ian%hixie.ch
cae1696299
More debugging information at high verbosity settings.
2002-09-09 19:22:10 +00:00
ian%hixie.ch
2493903b1d
Implementations should stop using nph- scripts now. (This may have more fallout.)
2002-09-09 15:38:05 +00:00
ian%hixie.ch
8ee8ff9e8b
Return the HTTP headers as well in an array context.
2002-09-08 16:39:35 +00:00
ian%hixie.ch
6e7c01e16e
Switch to using smart_encode, cos we are smart. Add support for <fault> in XML-RPC output to handle errors.
2002-09-06 10:37:17 +00:00
ian%hixie.ch
8091275c08
Add a comment to remind others of what I forgot... (that you probably need a propertyImpliedAccessAllowed to use methodMissing)
2002-09-06 02:01:48 +00:00
ian%hixie.ch
239d98ec13
Normalise the command argument so that we don't choke if it has a dot in it or something. (We don't always control what the command is, e.g. for XMLRPC.)
2002-09-06 02:00:26 +00:00
ian%hixie.ch
f865cddc1c
Silly typo: the constructor arguments don't go on the class, duh
2002-09-06 01:54:14 +00:00
ian%hixie.ch
2a1af49e61
A wrapper around LWP::UserAgent and HTTP::Entities. (And maybe other things, in future.)
2002-09-05 21:16:24 +00:00
ian%hixie.ch
2c7166b3af
Minor bug fixes: Make anonymous arguments start from 1 not 0; make a zero argument response have a response (a true boolean); make outputs with zero or one arguments be handled as outputs instead of implied property accesses.
2002-09-05 21:15:15 +00:00
ian%hixie.ch
3da4cfd8a2
Add a generic output: acknowledge. Used when nothing is particularily required as a response, e.g. for a one-way XMLRPC call.
2002-09-05 21:05:33 +00:00
ian%hixie.ch
6e682a075a
XML RPC support. This is all you need to turn a PLIF application into a PLIF application with XML RPC.
2002-09-05 17:04:03 +00:00
ian%hixie.ch
533f6d4def
Removing a few things which are now done or which will never be done.
2002-09-05 16:52:07 +00:00
ian%hixie.ch
8b10632835
Missing newline in the output. This was causing some hickups for some UAs (perfectly understandably...)
2002-09-05 16:27:04 +00:00
ian%hixie.ch
ded9adb65d
Optimisation: move the importing of Template::Context to runtime.
2002-09-05 16:24:58 +00:00
ian%hixie.ch
1998746fe3
Untaint the statement as well as the values before handing them to the database, because some statements are made from tainted data. This should be made more secure at some point, because currently there's no checking of database statements.
2002-09-05 16:23:38 +00:00
ian%hixie.ch
e13d10f036
Split the CGI input module into one module per method and Content-Type. In the process, added support for MIME multipart POST, so in theory we now support file upload too.
2002-09-05 16:18:38 +00:00
ian%hixie.ch
aa2d09d401
Adding yet more layers to the output mechanism: now objects con hook in and do whatever they like to the output before it reaches the protocol (or generic) output service instance. Also, move the objects hash reset code to the end of the run loop so that an input device can add an object (before, the earliest you could add an object was the input verifier).
2002-09-05 16:11:25 +00:00
ian%hixie.ch
8db0d6ded5
Some minor code fixups with no semantic change. Also, fixed the getArgumentsAsString method to not screw up the output when there are empty arrays in the arguments hash (as can happen when you call createArgument, which happens when getArgument is called and the argument is missing) and when the arguments hash contains scalars.
2002-07-16 15:50:14 +00:00
ian%hixie.ch
a35d045656
Add support for a command which does nothing but pass its argument to the output system. This is especially useful for templates that want to show other templates without actually doing anything else, and so the command is called 'showTemplate'.
2002-07-16 15:46:28 +00:00
ian%hixie.ch
5a6c17d958
Let's try a different tactic in a scalar context. If there's no data, return undef.
2002-07-07 15:42:57 +00:00
ian%hixie.ch
299f260287
Update the string data source to use the new input metadata APIs
2002-07-07 00:13:29 +00:00
ian%hixie.ch
62165e7d5b
Typo: adddress should be address. Doesn't make any particular difference to anything unless someone has already written automated installation scripts...
2002-07-06 17:59:10 +00:00
ian%hixie.ch
12d86e0428
Change the 'row' method of the ResultsFrame API to return an array in an array context, a hashref in a scalar context, and the value on its own if there is only one returned value. (Controversial change. This could introduce hard to spot regressions, and might be backed out at some point.)
2002-07-06 17:52:21 +00:00
ian%hixie.ch
c5ff59c053
Introduce the service.uaStringInterpreter.<protocol> service, which takes a UA string and splits it into name, version, manufacturer, platform and comment. This is the HTTP implementation of that service.
2002-07-06 17:49:22 +00:00
ian%hixie.ch
c931d0e91f
Added the following filters to the Template Toolkit toolbox: htmlcomment, xmlcomment, xml, cdata, htmljs, js, css. Added support for named [% BLOCK %], which had been removed when the template processing code was overridden.
2002-07-06 16:14:58 +00:00
ian%hixie.ch
67ff1ef52d
Remove XXX comment about needing an API to enable or disable UI elements, since that need has disappeared now that we use provide that information reliably in the user object. Also split a long line into two for no particular reason.
2002-07-06 16:12:42 +00:00
ian%hixie.ch
724d714a02
Changed the default handling of the generic output module. Now, if there's no generic dispatcher for an output command, it'll effectively synthesise one on the fly, using the method name as the string name and the arguments as an array of values for a 'data' variable. This means that applications can skip out on implementing a generic dispatcher now. Anyone using strings with dot separators (i.e. anyone writing libraries) still need to have generic output dispatcher methods though, to map the method call to a string name.
2002-07-06 16:05:48 +00:00
ian%hixie.ch
927a78dfd7
Made the SMTP 'timeout' value configurable at setup time (defaults to 5 seconds)
2002-07-06 16:02:07 +00:00
ian%hixie.ch
3f748a7c22
Implement getArgumentsTree(), which returns a hash tree representing the first value of each unique argument name in a branch, using dots as the separator. Finally replaced the hardcoded non-extensible meta data stuff with a proper getMetaData() API. Implemented that in the various Input modules. Renamed 'parameter' to 'property' in the CGI Input module. Added '--batch-force-defaults' as an argument handled by the CommandLine Input module. Made CommandLine derive from Default instead of Arguments, so that it can pick up the default handling of metadata and default output protocol.
2002-07-06 15:59:56 +00:00
ian%hixie.ch
7c56b08e2b
Update to TemplateToolkit format
2002-06-30 21:35:27 +00:00
ian%hixie.ch
19251aa801
Include character set information in the HTTP headers
2002-06-30 21:34:57 +00:00
ian%hixie.ch
b0b0c2d2b3
HTTP needs RFC822 dates for its Date: line
2002-06-30 21:33:21 +00:00
ian%hixie.ch
24c018b496
Primitive POST support (work in progress)
2002-06-30 21:30:43 +00:00
ian%hixie.ch
f4a812c534
Oops, wrong repository...
2002-06-30 21:05:35 +00:00
ian%hixie.ch
71c3a67ce8
Initial checkin
2002-06-30 21:02:35 +00:00
ian%hixie.ch
ce4478beee
Some versions of the Net::SMTP module handle the timeout by raising a SIG ALRM, so handle this case as well. Also increase the timeout by ten seconds since in the real world, some servers are actually that slow. We might need to make this asynchronous at some point.
2002-05-26 15:08:48 +00:00
ian%hixie.ch
42ac389024
Perl 5.005_03 compatability: the precedence of the not and comma operators changed at some point, so disambiguate this usage.
2002-05-26 15:05:37 +00:00
ian%hixie.ch
78a7589fdc
Cache the Term::ReadLine input device. On some systems, it has to be cached, otherwise you end up trying to open too many input handles or something like that. This also means we can have session history where available.
2002-05-26 15:03:48 +00:00
ian%hixie.ch
8ffd16f0b1
Add some null checking -- if the string is undefined, then turn it into the empty string. This avoids many undefined value warnings when the data provided by the user is incomplete.
2002-05-26 15:02:33 +00:00
ian%hixie.ch
f5ec789f5f
Implemented rowsAffected(), which will return the number of database rows that were affected by the last execution of the statement associated with the results frame.
2002-05-26 15:00:56 +00:00
ian%hixie.ch
4d9ba65cdd
Preliminary work in making the user prefs notifications page nicer.
2002-05-07 12:16:24 +00:00
ian%hixie.ch
2eccf38d60
Add the hidden userPrefs.userID fields to the user prefs page so that changes to users other than yourself actually take effect.
2002-05-07 12:16:01 +00:00
ian%hixie.ch
50edfae326
pendingCommands.defined doesn't seem to work... Let's try pendingCommands.ref. It's technically more correct anyway.
2002-05-07 03:04:37 +00:00
ian%hixie.ch
e14122ee41
Forgot to fully convert the templates to Template Toolkit: nested dots need to be escaped differently now.
2002-05-07 03:03:00 +00:00
ian%hixie.ch
7f1b1bc44d
Fix some bugs with the pendingCommand escaping code: First, extra spaces were being inserted (so much for s///x). Second, the escaping was actually modifying the original keys. Third, there were some logic errors that caused underescaping or resulted in the wrong key being escaped.
2002-05-07 01:50:22 +00:00
ian%hixie.ch
02aa6e26db
Lots of tweaks, mainly to make the source look pretty. Also hid the Settings header if there are no important settings.
2002-05-07 01:32:28 +00:00
ian%hixie.ch
6e4c646189
Correct a typo: Output is done through the application object, not the user prefs object...
2002-05-06 23:05:08 +00:00
ian%hixie.ch
fea723a0a6
Add an additional check that the change ID is valid
2002-05-06 22:59:22 +00:00
ian%hixie.ch
f343303e4e
Forgot to fully convert the templates to Template Toolkit: nested dots need to be escaped differently now. Also added filters to the URI fragments so that spaces get escaped properly. They'll be stuck together at some point.
2002-05-06 21:15:05 +00:00
ian%hixie.ch
08859612f4
Forgot to fully convert the templates to Template Toolkit: nested dots need to be escaped differently now
2002-05-06 21:05:28 +00:00
ian%hixie.ch
b89f14c971
Add more information to the hash passed to the change of address outputs
2002-05-06 21:01:48 +00:00
ian%hixie.ch
35e07fb8e3
Remove the 'html' bit from the filenames.
2002-05-06 21:00:53 +00:00
ian%hixie.ch
cd26de7c63
E-mail templates
2002-05-06 12:53:53 +00:00
ian%hixie.ch
e67e2cad39
Remove the 'html' bit from the filenames.
2002-05-06 11:03:12 +00:00
ian%hixie.ch
9fd73998f6
Ok, handle undef in getArgumentsFromString the same as an empty string. This function sometimes gets called with the result of peekArgument(), which could be undef.
2002-05-06 10:10:57 +00:00
ian%hixie.ch
190d3e3373
There's a bug somewhere which results in the expansion of an undefined string. This assertion should help track it down.
2002-05-06 09:55:19 +00:00
ian%hixie.ch
6cc76a9d5b
Oops, forgot to make the primary key ID an auto_increment column.
2002-05-06 09:53:01 +00:00
ian%hixie.ch
4bb1faa917
getFields returns an arrayref, so we have to dereference it before using it in a foreach loop.
2002-05-06 05:51:02 +00:00
ian%hixie.ch
24bcc8e7ed
Oops, I was stomping on the fieldsByID property by treating it as a function instead of a hash. Also add in an assertion to check that insertField() is always called with a real field.
2002-05-06 05:50:06 +00:00
ian%hixie.ch
3afbf82b63
Make user fields all provide the user.field service so that they can be easily recognised.
2002-05-06 05:48:48 +00:00
ian%hixie.ch
8c45554054
Change the expected field category name from 'detail' to 'personal' for consistency
2002-05-06 05:26:00 +00:00
ian%hixie.ch
11fa7fcc76
When getting ones password sent without getting a login failed message first, the pending command is the request to send a new password... so you get sent back to that once your password is sent. That's not good. This fixes it by moving the pendingCommands code to the login.failed page and making the login.detailsSent page only show the continue button when appropriate.
2002-05-06 05:17:00 +00:00
ian%hixie.ch
d33c4d1a80
User Preferences Screens
2002-05-06 04:55:59 +00:00
ian%hixie.ch
4fe03788dd
Fixing the spelling of getRightsForGroups() where it is declared and used. Also fixing one of the SQL statements to use rights.rightID not rights.ID.
2002-05-06 04:36:42 +00:00
ian%hixie.ch
06fe39d85b
Rename 'setting' to 'settings' throughout to be consistent. Also, make it so that someone with the right to change all groups gets to be the equivalent of an owner even in groups where he is only marked as administrator.
2002-05-06 03:54:14 +00:00
ian%hixie.ch
e7fd1d788a
Hardcoded constants strike again... Changing the setup code to let the first administrator have the rights to let other people be administrators.
2002-05-06 03:10:50 +00:00
ian%hixie.ch
c917916adf
comment clarification
2002-05-05 22:43:05 +00:00
ian%hixie.ch
61cc38e6ba
Change variable names to reflect the fact that objects are instances, not classes.
2002-05-04 01:11:56 +00:00
ian%hixie.ch
f2a559cbae
Add some debugging info to every page once and for all.
2002-05-04 01:10:38 +00:00
ian%hixie.ch
50cd6af032
Make the user factory return the same object if the same user is requested multiple times. This means that if the currect user is changed on the fly, the changes actually take effect instead of there being a potential race condition between the change, the access of the currect user, and the objects going out of scope and updating the database.
2002-05-04 01:09:27 +00:00
ian%hixie.ch
1a1bdeb593
Pass the app reference to the user factory. Fix the code that uses argument branches to treat them as arrays instead of scalars.
2002-05-04 01:06:38 +00:00
ian%hixie.ch
a92816a815
Two more things to do: make getSettings return a boolean instead of raising an exception, and add a pass-through command that outputs can use to bring up specific templates
2002-05-04 01:03:48 +00:00
ian%hixie.ch
de97b7e2eb
Add support for converting + signs in URIs back to spaces.
2002-05-04 01:02:19 +00:00
ian%hixie.ch
cb000c2459
change the default include type from XML to x-auto so that by default we can include other templates without knowing what they are.
2002-04-30 00:24:48 +00:00
ian%hixie.ch
0cc155547e
Make getSettings return a boolean instead of raising an exception.
2002-04-30 00:24:01 +00:00
ian%hixie.ch
3f6224691f
Add various FILTERs were required to keep the output valid HTML...
2002-04-30 00:23:07 +00:00
ian%hixie.ch
15ff9e75dc
Add support for pending commands, so that after getting their password sent users can continue doing what they were doing before. (This requires support on the output side as well, typically the HTTP protocol will use this, and less interactive protocols like e-mail won't.)
2002-04-30 00:18:33 +00:00
ian%hixie.ch
b917e6b397
Add getArgumentsAsString() and getArgumentsFromString() so that the arguments can be flattened and then 'retexturised' a later time and reused.
2002-04-30 00:13:20 +00:00
ian%hixie.ch
5dae3f22b8
Login component output files for the HTTP protocol
2002-04-30 00:11:55 +00:00
ian%hixie.ch
b86ab38364
If the app name is the same as the page name, only display it once in the page title
2002-04-24 20:31:53 +00:00
ian%hixie.ch
3672975bff
Move from COSES to TemplateToolkit
2002-04-24 20:02:34 +00:00
ian%hixie.ch
cbd54ef96f
Add an adminMessage to the default admin user.
2002-04-21 15:03:29 +00:00
ian%hixie.ch
6a5b570278
Add a (default, very simple) login command so that the standard footer can have a login link.
2002-04-21 14:58:13 +00:00
ian%hixie.ch
7f92f4f9ec
Changing from COSES to TemplateToolkit
2002-04-21 14:53:34 +00:00
ian%hixie.ch
43f8ca9182
Split the confused getRights API into two, one to get the list of rights, and one to get the list of rights applicable to a set of groups. Make the user's output hash list all rights if the user is an administrator (this mirrors the behaviour of the user hasRight API).
2002-04-21 14:11:41 +00:00
ian%hixie.ch
17468fb239
add group names to the data passed to templates
2002-04-21 14:08:27 +00:00
ian%hixie.ch
469080dad5
If a user bookmarks or reloads the logout page, we don't want to show an error.
2002-04-21 14:05:15 +00:00
ian%hixie.ch
df6bd7a3a6
change the constructor to be a service instance constructor only, so that if descendants are also services, we don't leak the world through having a circular reference to the app.
2002-04-06 21:34:39 +00:00
ian%hixie.ch
6b0ed86249
Update the CosesEditor to use the new name for the customised string data source. (used to be dataSource.strings, now dataSource.strings.customised)
2002-04-06 21:30:05 +00:00
ian%hixie.ch
38b28733e1
Correcting inherited method call to call the right method -- serviceInstanceInit(), not init()
2002-04-06 21:27:45 +00:00
ian%hixie.ch
9ca5550433
Fix the removeObjects() function to ensure it actually removes the objects instead of leaving null pointers about for us to dereference later. Added some extra precautions to make sure that doesn't happen again. This all makes it possible to log out again.
2002-04-06 20:37:31 +00:00
ian%hixie.ch
05240d8e86
Fixing warning: 'Use of uninitialized value in concatenation (.) or string at ../PLIF/PLIF/Service/TemplateToolkit.pm line 70.'
2002-04-06 20:19:12 +00:00
ian%hixie.ch
c5ed21b8e9
Use Template::Stash::Context rather than Template::Stash because we need things like .ref
2002-04-06 20:13:44 +00:00
ian%hixie.ch
111c3af7cc
Updating built in COSES strings to match the new semantics (no 'data.' prefix required on variables)
2002-04-06 19:29:13 +00:00
ian%hixie.ch
34268809ac
Added support for password-less installations. Also added some comments and made font-lock happier.
2002-04-06 19:23:24 +00:00
ian%hixie.ch
871763fcb5
change the name adminHostname to the more accurate localHostname
2002-04-06 19:16:09 +00:00
ian%hixie.ch
f94e20287e
Adding Template Toolkit support. See http://www.template-toolkit.org/ for documentation on the template toolkit format.
2002-04-05 22:39:59 +00:00
ian%hixie.ch
70f92fe612
Add getArgumentsBranch() virtual method declaration (for completeness).
2002-04-05 22:13:52 +00:00
ian%hixie.ch
f8012497bf
Update: Yet more things that need doing.
2002-04-05 20:25:11 +00:00
ian%hixie.ch
7c6fe87ed8
Make the File string data source capable of looking for file-based templates in two locations, one specific to the app and one relative to the library. This allows PLIF to ship with default templates for various screens and thus makes it easier to bootstrap a simple app.
2002-04-05 20:17:34 +00:00
ian%hixie.ch
1f3b041aaa
Default error reporting page.
2002-04-05 20:15:27 +00:00
ian%hixie.ch
455922b478
Default templates for headers and footers that can be used by other templates.
2002-04-05 20:13:51 +00:00
ian%hixie.ch
ad1ba85936
Update the parameter list so that the 'type' parameter is explicitly named (although it still isn't used since this expander only supports one type). Also change the semantics of the data hash: no longer replace the data into a one member hash. This is a minor optimisation that eases interaction between expanders but will require changes to all existing templates.
2002-04-05 19:16:14 +00:00
ian%hixie.ch
b52700b1d2
Add a 'type' argument to the string expander interface so that string expanders can support multiple types. Also split getExpandedString so that callers can expand strings separately from getting strings, in case that is ever necessary.
2002-04-05 19:13:14 +00:00
ian%hixie.ch
5230bdd859
Minor typo correction: change 'import New::SMTP' to 'import Net::SMTP'
2002-04-05 19:11:21 +00:00
ian%hixie.ch
a89dffc374
* Added getGroupMembers() to the User data source.
...
* Fixed a bug in the MySQL implementation of User data source's getGroupName() method. It treated 'row' as an array ref instead of a normal array.
* Made the MySQL User data source automatically add a group with ID 1, named 'Administrators'.
* Special-cased the group with ID 1 in the user object so that if a user is in that group, he automatically is assumed to have all rights.
* Fixed a bug with the saving of the original groups in the user object (the backup object was simply a reference to the original object, which was later changed in place, causing the backup to change too).
* Fixed the handling of rights in the user object constructor to simply set the rights in one line instead of using indirection.
* Fixed the invalidateRights() method of the user object to correctly re-set the rights (previously it was not turning the generated array into a hashref).
* Added a setup.install implementation to the login component. It now queries the user for an administration username and creates the relevant user and puts it in the magic group 1.
* Fixed a call to checkAddress() in the login component.
2002-02-01 06:48:02 +00:00
ian%hixie.ch
1c49734d21
Commented out the call to Net::SMTP's verify() method and replaced it with a generic regexp sanity check. It appears that VRFY is not correctly implemented on all servers. (I may be mistaken on this; it might just be a bug somewhere in the PLIF code that is messing something up, but I couldn't find it if so.)
2002-02-01 06:38:55 +00:00
ian%hixie.ch
3a41393898
Added a check that ensures that the configuration file is not readable or writable by anyone except the user running the script. This closes a potential security hole on shared machines. Changed the umask during the creation of the configuration file so that the permission bits are set that way too. Added a comment to clarify the superficially recursive nature of the configuration database and the configuration data source.
2002-02-01 06:36:27 +00:00
ian%hixie.ch
2787ed1409
Another change that should be done at some point: Move PLIF/DataSource/*/MySQL.pm to PLIF/DataSource/MySQL/*.pm
2002-02-01 06:32:17 +00:00
ian%hixie.ch
7b34209a7b
Removed an erroneous comment, which should be the last traces of the old problem of the lack of a configuration file being a fatal error.
2002-01-31 18:30:21 +00:00
ian%hixie.ch
ed5ab39edd
Theoretical nit: call inherited constructor just in case at some point in the future it does something useful...
2002-01-31 17:35:52 +00:00
ian%hixie.ch
551d3369d7
Fix a minor typo in some SQL code which was causing an error during the creation of the user table.
2002-01-25 03:18:15 +00:00
ian%hixie.ch
28d425cd54
Moved the DBI module over to thew new more generic settings getting/saving API and removed the old DBI-specific one. Fixed an assert() call to check for the values being defined and not non-zero/non-blank. Fixed the password field to allow blank values (by making a blank value the default). Also fixed the calls to getArgument to not ever pass an undefined value as the default.
2002-01-25 03:17:05 +00:00
ian%hixie.ch
7ac3c80e5c
More things that need doing on the long (and not so long) run.
2002-01-25 03:12:26 +00:00
ian%hixie.ch
c80c11fad9
getting rid of the last traces of the newFieldXXX stuff
2001-12-31 06:28:59 +00:00
ian%hixie.ch
7674dacda9
abstracted out some common code. Made the flushing of pending text happen after each end tag as well as each start tag. (Not doing this was causing whitespace between sibling elements to be treated as trailing whitespace of the first element, resulting in excessive whitespace -- typically newlines -- in the output stream.)
2001-12-31 06:07:04 +00:00
ian%hixie.ch
1bb8d54c2c
Fixing SQL error (DROP COLUMN not REMOVE COLUMN)
2001-12-31 06:04:30 +00:00
ian%hixie.ch
fa701c948c
delete() doesn't work with array references in old versions of perl5.
2001-12-31 02:40:49 +00:00
ian%hixie.ch
eccb9aca1d
Checking in a list of things that still need doing.
2001-12-30 01:03:45 +00:00
ian%hixie.ch
7bb48dfffc
Changing e-mail address now sends a confirmation mail to the old address too. Implemented by making changing fields a generic mechanism. Also fixed some minor nits.
2001-12-30 00:33:36 +00:00
ian%hixie.ch
41564734e3
* Removed incorrect comments.
...
* Added some XXX comments.
* Changed the way text nodes are handled so that adjacent text nodes are merged.
* Changed the way original keys are kept so that they work across flattening, rounding, and that there is no 'coses: original keys' hash getting in the way.
* Fixed a bug whereby empty arrays and hashes caused extraneous iterations in <set> elements.
* Removed some redundant scalar()s.
2001-12-26 19:30:16 +00:00
ian%hixie.ch
dc80936c17
Made debug() be level 6 instead of level 7. Added various comments.
2001-12-26 19:12:57 +00:00
ian%hixie.ch
6cf0f6394c
Removed an unused variable. Made the selecting array always return an array even in scalar context. This makes using it in |if| statements a lot easier.
2001-12-26 19:03:07 +00:00
ian%hixie.ch
6415154def
Removing debug() calls.
2001-12-26 19:01:07 +00:00
ian%hixie.ch
ff47917188
Removing debug() calls, and removed the mention of a user 'logged out' state now that logging our is protocol specific.
2001-12-26 18:52:23 +00:00
ian%hixie.ch
0c63b62da7
Adding some error handling for the case where connecting to the AIM server fails. Also removing an extraneous dump() statement.
2001-12-26 18:35:16 +00:00
ian%hixie.ch
caac55f5f3
An implementation of a logout service for HTTP.
2001-12-26 18:34:01 +00:00
ian%hixie.ch
c869b6822d
Since User.pm is now calling this object's 'hash' method instead of using 'data' directly, we had better implement 'hash'. Also make setting the property always check that the value being set is valid.
2001-12-26 18:19:15 +00:00
ian%hixie.ch
f1129a6449
Since logout is now protocol specific, removing support for logging out from the user object. Also making the 'hash' method more generic by making it call the field 'hash' method instead of assuming it will never pass more than the data of a field.
2001-12-26 18:15:14 +00:00
ian%hixie.ch
25ba099600
Changed the implementation of cmdSetup to store the results of the selecting service lists in an array instead of a scalar.
2001-12-26 17:45:05 +00:00
ian%hixie.ch
39a7e0dafe
Change from a hard-coded logout mechanism to a generic per-protocol logout mechanism.
2001-12-26 17:38:41 +00:00
ian%hixie.ch
763aa79b24
A new type of user field for strings that are in the form of integers.
2001-12-26 17:18:00 +00:00
ian%hixie.ch
8be4dec718
Removed some |scalar()|s where they were redundant, added some XXX comments, and fixed a couple of logic errors (>2 should have been >=2 and stuff like that -- this code really should use named constants)
2001-12-26 16:46:06 +00:00
ian%hixie.ch
a8a4ffb711
|not| implies a scalar context, so there's no need for an explicit |scalar()|
2001-12-26 16:10:17 +00:00
ian%hixie.ch
6a8b581138
Removed a redundant |scalar()| -- |if| implies a scalar context anyway.
2001-12-26 16:05:54 +00:00
ian%hixie.ch
77fac412e2
Clarified a comment.
2001-12-26 16:03:55 +00:00
ian%hixie.ch
5bb8ed02a5
A few minor fixes: checked for a reference being defined rather than being true (twice), replaced some double quotes with single quotes, and removed a trailing dot on a call to error().
2001-12-26 15:45:01 +00:00
ian%hixie.ch
a75437cefb
Removing a level 10 dump statement that was being hit a lot.
2001-12-26 15:42:21 +00:00
ian%hixie.ch
988853e179
Removing a bunch of dump(10, ...) calls. It turns out that dump() is actually quite expensive, and calling it 1000+ times just to do nothing isn't that useful. In addition, most of these dump()s were used to debug the core PLIF code which now works pretty well, so they aren't that useful any more.
2001-12-04 18:06:06 +00:00
ian%hixie.ch
0ac4b20d8e
PLIF::Service::XML::Char() was the most expensive function in a typical profile. This takes it completely off the radar by not bothering to merge adjacent strings.
2001-12-04 17:51:23 +00:00
ian%hixie.ch
199ee1a91f
Changed the groupsById and groupsByName hashes of arrays into hashes of hashes to make them friendlier to handle. Also fixed some typos (groupByID instead of groupsByID, and one case of groupsByID where groupsByName was meant) and optimised away a call to dataSource.user's getGroupName method (since we already know the name).
2001-12-04 14:34:54 +00:00
ian%hixie.ch
a4d4cebebf
Fixing copy/paste error -- the user prefs object isn't the application object...
2001-12-04 13:40:04 +00:00
ian%hixie.ch
b382ef763c
Make '0' and '' be equivalent to 'default' for the 'order' attribute of the <set> element. This makes defaulting actually work (missing attributes seem to get set to ''?).
2001-12-04 13:08:39 +00:00
ian%hixie.ch
9868c69a29
Place a 5 second timeout on the SMTP object -- this makes running setup bearable without an SMTP server (the default timeout is 2 minutes).
2001-12-04 12:53:40 +00:00