Older blog entries for mglazer (starting at number 22)

Editable Content WYSWIYG regions in MSIE

function chgSpan() {
    currentState = oSpan.isContentEditable;
    newState = !currentState;
    oSpan.contentEditable = newState;
    oCurrentValue.innerText = newState;
    newState==false ? oBtn.innerText="Enable Editing" :
        oBtn.innerText="Disable Editing"
<BODY onload="oCurrentValue.innerText = oSpan.isContentEditable;">

Click the button to enable or disable SPAN content editing.

<BUTTON ID="oBtn" onclick="chgSpan()">Enable Editing</BUTTON>

<SPAN ID="oSpan">You can edit this text.</SPAN> SPAN can be edited: <SPAN ID="oCurrentValue"></SPAN> </BODY>

By simply adding persistence and a save this link to each editable region. You can now have a localised wiki. Without persistence the save can be uses with JSRS to save remotely withotu reloadign the page for a real wiki.

I am cleaning up the ever-growing PHPortal format core lib.

I will outsoruce the individual content type functions to individual folders and files in the adjacent lib directory so as to unclutter the existing larger than life lib and allow for easier future additions in a preformatted standardized manner.

WAP Emulator (http://www.wapsilon.com/)

WAP Query Strings:

    <do type="accept"> 
        <go href="http://foo.com/stock.cgi?stk=$(stock)"/> 

Enter stock: <input name="stock" format="4A"/> </card> </wml>

WAP Post Method and Post field elements:

    <do type="accept"> 
        <go href="http://foo.com/stock.cgi" method="post"> 
            <postfield name="stock" value="$(stock)"/> 

Enter stock: <input name="stock" format="4A"/> </card> </wml>

22 Jun 2002 (updated 22 Jun 2002 at 06:56 UTC) »

Responding to the advice from Malx I added a faux PATH_INFO variable in PHPortal.

This basically means anything after the file extensions are trasnformed into an array of variables.

EXAMPLE: http://dev.4arrow.com/index.xpc.text/string1/var1,val1/var2|val2/string2


$x->_URL = Array
   [0] => /index
   [1] => .text/string1/var1,val1/var2|val2/string2


$x->_PATH = Array ( [1] => string1 [var1] => val1 [var2] => val2 [4] => string2 )

All three of these characters are checked and can be used as delimters to create variables and values in urls.


If you click the example link above view source and scroll to the end of the page and look for a XML namespace like so: <xpc:path str... />

You can also play with the link by adding and removing you own paths, delimiters, and variables to see how this works.

Added CSS and CSV content type transformation to PHPortal the CSV can use either a tab delimiter or comma separator.

As with all content type transformations they can receive and handle arrays as well as strings or singular rows, can be presented inline or as a downloadable file, can use the default or a custom template, and now can also display Object generation (after PHportal parser) or Object source (direct from data store no parsing).

21 Jun 2002 (updated 21 Jun 2002 at 20:26 UTC) »

Some think its humane to be humane to those who are inhumane but they are logically wrong and in fact sustain those who are inhumane by not isolating and disenfranchising their inhumane behaviours.

Thus, enhancing and prolonging this use of barbaric actions by accomadating and allowing it to occur via your humane efforts towards the inhumane.

The reason for this is based on their own faults, they do not trust their own value judgment system and thus project their inabilities to choose right from wrong onto others and say 'how can you say what is inhumane or not' when it is more than clealry obvious to the standards of civil society.

If you can't figure out the difference between the two you yourself are then not humane. Being incapable to differentiate the two, places you in this same subclass of savagery.

It is not intolerant to not tolerate bad behaviour but it is in fact intolerable to allow this same bad actions to thrive.

Your support of said behavior in fact negates your own humanity that you beleive you are protecting.

By supporting the inhumane you have in fact yourself become inhumane. The inability to discern between humane and the inhumane makes you inhumane and therefore part of the inhumane class of actors and not a thoughtfull outsider that you pretend you are.

Persisting Objects is an important part of PHPortal.

In the life of the script run the script can be called numerous times we want embedded objects to acquire top level properties but also we want to maintain the top level objects hierarchy and standing in the life of the script run.

So, what are the solutions for this?

Sesssions, flat file, sql store, cookies? We don't want to get too complicated this is only to persist the life of each click through.

Capturing the string after the file extensions and/or if no extensions after the found object.

21 Jun 2002 (updated 21 Jun 2002 at 17:39 UTC) »

MSFT excel viewer http://office.microsoft.com/downloads/2000/xlviewer.aspx

header("Content-type: application/ms-excel; name=file1.xls"); 
header("Content-Disposition: inline; filename=file1.xls"); 
echo "a1\tb1\t\na2\tb2\t\n";exit;

PHP Excel Class without needing COM support: http://psxlsgen.sourceforge.net

NOTE: There is a big difference between viewing XLS files as a MSFT works SpreadSheet and a MSFT Excel SpreadSheet. Basically, one can't do the other.

13 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!