linpha-cvs Mailing List for LinPHA PHP Photo Gallery (Page 6)
Status: Inactive
Brought to you by:
bzrudi
You can subscribe to this list here.
2006 |
Jan
|
Feb
(143) |
Mar
(104) |
Apr
(127) |
May
(20) |
Jun
(10) |
Jul
(28) |
Aug
(48) |
Sep
(55) |
Oct
(85) |
Nov
(57) |
Dec
(3) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
(16) |
Feb
(41) |
Mar
(56) |
Apr
(8) |
May
(1) |
Jun
(9) |
Jul
(54) |
Aug
(24) |
Sep
(2) |
Oct
(14) |
Nov
(30) |
Dec
(7) |
2008 |
Jan
(48) |
Feb
(52) |
Mar
(18) |
Apr
(30) |
May
(4) |
Jun
|
Jul
(5) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2010 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2013 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
From: <fan...@us...> - 2008-01-29 21:12:19
|
Revision: 4831 http://linpha.svn.sourceforge.net/linpha/?rev=4831&view=rev Author: fangehrn Date: 2008-01-29 13:12:02 -0800 (Tue, 29 Jan 2008) Log Message: ----------- 2008-01-29 flo * updated to latest protoype 1.6.0.2 and scriptaculous 1.8.1 * compressed javascript files with yui compresser 319KB -> 185KB Modified Paths: -------------- trunk/linpha2/ChangeLog trunk/linpha2/lib/js/builder.js trunk/linpha2/lib/js/controls.js trunk/linpha2/lib/js/dragdrop.js trunk/linpha2/lib/js/effects.js trunk/linpha2/lib/js/prototype/CHANGELOG trunk/linpha2/lib/js/prototype/LICENSE trunk/linpha2/lib/js/prototype/README trunk/linpha2/lib/js/prototype.js trunk/linpha2/lib/js/scriptaculous-js/CHANGELOG trunk/linpha2/lib/js/scriptaculous.js trunk/linpha2/lib/js/slider.js trunk/linpha2/lib/js/sound.js trunk/linpha2/lib/js/unittest.js Added Paths: ----------- trunk/linpha2/lib/js/builder.yui.js trunk/linpha2/lib/js/controls.yui.js trunk/linpha2/lib/js/dragdrop.yui.js trunk/linpha2/lib/js/effects.yui.js trunk/linpha2/lib/js/prototype.yui.js trunk/linpha2/lib/js/scriptaculous.yui.js trunk/linpha2/lib/js/slider.yui.js trunk/linpha2/lib/js/sound.yui.js trunk/linpha2/lib/js/unittest.yui.js Removed Paths: ------------- trunk/linpha2/lib/js/prototype/Rakefile Modified: trunk/linpha2/ChangeLog =================================================================== --- trunk/linpha2/ChangeLog 2008-01-29 20:01:16 UTC (rev 4830) +++ trunk/linpha2/ChangeLog 2008-01-29 21:12:02 UTC (rev 4831) @@ -1,3 +1,9 @@ + +2008-01-29 flo + * updated to latest protoype 1.6.0.2 and scriptaculous 1.8.1 + * compressed javascript files with yui compresser + 319KB -> 185KB + 2007-12-09 bzrudi * fix for db_error.log file create * fixed a couple of notices and warnings introduced by new plugin model Modified: trunk/linpha2/lib/js/builder.js =================================================================== --- trunk/linpha2/lib/js/builder.js 2008-01-29 20:01:16 UTC (rev 4830) +++ trunk/linpha2/lib/js/builder.js 2008-01-29 21:12:02 UTC (rev 4831) @@ -1,4 +1,4 @@ -// script.aculo.us builder.js v1.8.0, Tue Nov 06 15:01:40 +0300 2007 +// script.aculo.us builder.js v1.8.1, Thu Jan 03 22:07:12 -0500 2008 // Copyright (c) 2005-2007 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us) // Added: trunk/linpha2/lib/js/builder.yui.js =================================================================== --- trunk/linpha2/lib/js/builder.yui.js (rev 0) +++ trunk/linpha2/lib/js/builder.yui.js 2008-01-29 21:12:02 UTC (rev 4831) @@ -0,0 +1 @@ +var Builder={NODEMAP:{AREA:"map",CAPTION:"table",COL:"table",COLGROUP:"table",LEGEND:"fieldset",OPTGROUP:"select",OPTION:"select",PARAM:"object",TBODY:"table",TD:"table",TFOOT:"table",TH:"table",THEAD:"table",TR:"table"},node:function(A){A=A.toUpperCase();var F=this.NODEMAP[A]||"div";var B=document.createElement(F);try{B.innerHTML="<"+A+"></"+A+">"}catch(E){}var D=B.firstChild||null;if(D&&(D.tagName.toUpperCase()!=A)){D=D.getElementsByTagName(A)[0]}if(!D){D=document.createElement(A)}if(!D){return }if(arguments[1]){if(this._isStringOrNumber(arguments[1])||(arguments[1] instanceof Array)||arguments[1].tagName){this._children(D,arguments[1])}else{var C=this._attributes(arguments[1]);if(C.length){try{B.innerHTML="<"+A+" "+C+"></"+A+">"}catch(E){}D=B.firstChild||null;if(!D){D=document.createElement(A);for(attr in arguments[1]){D[attr=="class"?"className":attr]=arguments[1][attr]}}if(D.tagName.toUpperCase()!=A){D=B.getElementsByTagName(A)[0]}}}}if(arguments[2]){this._children(D,arguments[2])}return D},_text:function(A){return document.createTextNode(A)},ATTR_MAP:{className:"class",htmlFor:"for"},_attributes:function(A){var B=[];for(attribute in A){B.push((attribute in this.ATTR_MAP?this.ATTR_MAP[attribute]:attribute)+'="'+A[attribute].toString().escapeHTML().gsub(/"/,""")+'"')}return B.join(" ")},_children:function(B,A){if(A.tagName){B.appendChild(A);return }if(typeof A=="object"){A.flatten().each(function(C){if(typeof C=="object"){B.appendChild(C)}else{if(Builder._isStringOrNumber(C)){B.appendChild(Builder._text(C))}}})}else{if(Builder._isStringOrNumber(A)){B.appendChild(Builder._text(A))}}},_isStringOrNumber:function(A){return(typeof A=="string"||typeof A=="number")},build:function(B){var A=this.node("div");$(A).update(B.strip());return A.down()},dump:function(B){if(typeof B!="object"&&typeof B!="function"){B=window}var A=("A ABBR ACRONYM ADDRESS APPLET AREA B BASE BASEFONT BDO BIG BLOCKQUOTE BODY BR BUTTON CAPTION CENTER CITE CODE COL COLGROUP DD DEL DFN DIR DIV DL DT EM FIELDSET FONT FORM FRAME FRAMESET H1 H2 H3 H4 H5 H6 HEAD HR HTML I IFRAME IMG INPUT INS ISINDEX KBD LABEL LEGEND LI LINK MAP MENU META NOFRAMES NOSCRIPT OBJECT OL OPTGROUP OPTION P PARAM PRE Q S SAMP SCRIPT SELECT SMALL SPAN STRIKE STRONG STYLE SUB SUP TABLE TBODY TD TEXTAREA TFOOT TH THEAD TITLE TR TT U UL VAR").split(/\s+/);A.each(function(C){B[C]=function(){return Builder.node.apply(Builder,[C].concat($A(arguments)))}})}}; \ No newline at end of file Modified: trunk/linpha2/lib/js/controls.js =================================================================== --- trunk/linpha2/lib/js/controls.js 2008-01-29 20:01:16 UTC (rev 4830) +++ trunk/linpha2/lib/js/controls.js 2008-01-29 21:12:02 UTC (rev 4831) @@ -1,4 +1,4 @@ -// script.aculo.us controls.js v1.8.0, Tue Nov 06 15:01:40 +0300 2007 +// script.aculo.us controls.js v1.8.1, Thu Jan 03 22:07:12 -0500 2008 // Copyright (c) 2005-2007 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us) // (c) 2005-2007 Ivan Krstic (http://blogs.law.harvard.edu/ivan) @@ -88,7 +88,7 @@ Element.hide(this.update); Event.observe(this.element, 'blur', this.onBlur.bindAsEventListener(this)); - Event.observe(this.element, 'keypress', this.onKeyPress.bindAsEventListener(this)); + Event.observe(this.element, 'keydown', this.onKeyPress.bindAsEventListener(this)); }, show: function() { @@ -144,12 +144,12 @@ case Event.KEY_UP: this.markPrevious(); this.render(); - if(Prototype.Browser.WebKit) Event.stop(event); + Event.stop(event); return; case Event.KEY_DOWN: this.markNext(); this.render(); - if(Prototype.Browser.WebKit) Event.stop(event); + Event.stop(event); return; } else Added: trunk/linpha2/lib/js/controls.yui.js =================================================================== --- trunk/linpha2/lib/js/controls.yui.js (rev 0) +++ trunk/linpha2/lib/js/controls.yui.js 2008-01-29 21:12:02 UTC (rev 4831) @@ -0,0 +1 @@ +if(typeof Effect=="undefined"){throw ("controls.js requires including script.aculo.us' effects.js library")}var Autocompleter={};Autocompleter.Base=Class.create({baseInitialize:function(B,C,A){B=$(B);this.element=B;this.update=$(C);this.hasFocus=false;this.changed=false;this.active=false;this.index=0;this.entryCount=0;this.oldElementValue=this.element.value;if(this.setOptions){this.setOptions(A)}else{this.options=A||{}}this.options.paramName=this.options.paramName||this.element.name;this.options.tokens=this.options.tokens||[];this.options.frequency=this.options.frequency||0.4;this.options.minChars=this.options.minChars||1;this.options.onShow=this.options.onShow||function(D,E){if(!E.style.position||E.style.position=="absolute"){E.style.position="absolute";Position.clone(D,E,{setHeight:false,offsetTop:D.offsetHeight})}Effect.Appear(E,{duration:0.15})};this.options.onHide=this.options.onHide||function(D,E){new Effect.Fade(E,{duration:0.15})};if(typeof (this.options.tokens)=="string"){this.options.tokens=new Array(this.options.tokens)}if(!this.options.tokens.include("\n")){this.options.tokens.push("\n")}this.observer=null;this.element.setAttribute("autocomplete","off");Element.hide(this.update);Event.observe(this.element,"blur",this.onBlur.bindAsEventListener(this));Event.observe(this.element,"keydown",this.onKeyPress.bindAsEventListener(this))},show:function(){if(Element.getStyle(this.update,"display")=="none"){this.options.onShow(this.element,this.update)}if(!this.iefix&&(Prototype.Browser.IE)&&(Element.getStyle(this.update,"position")=="absolute")){new Insertion.After(this.update,'<iframe id="'+this.update.id+'_iefix" style="display:none;position:absolute;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);" src="javascript:false;" frameborder="0" scrolling="no"></iframe>');this.iefix=$(this.update.id+"_iefix")}if(this.iefix){setTimeout(this.fixIEOverlapping.bind(this),50)}},fixIEOverlapping:function(){Position.clone(this.update,this.iefix,{setTop:(!this.update.style.height)});this.iefix.style.zIndex=1;this.update.style.zIndex=2;Element.show(this.iefix)},hide:function(){this.stopIndicator();if(Element.getStyle(this.update,"display")!="none"){this.options.onHide(this.element,this.update)}if(this.iefix){Element.hide(this.iefix)}},startIndicator:function(){if(this.options.indicator){Element.show(this.options.indicator)}},stopIndicator:function(){if(this.options.indicator){Element.hide(this.options.indicator)}},onKeyPress:function(A){if(this.active){switch(A.keyCode){case Event.KEY_TAB:case Event.KEY_RETURN:this.selectEntry();Event.stop(A);case Event.KEY_ESC:this.hide();this.active=false;Event.stop(A);return ;case Event.KEY_LEFT:case Event.KEY_RIGHT:return ;case Event.KEY_UP:this.markPrevious();this.render();Event.stop(A);return ;case Event.KEY_DOWN:this.markNext();this.render();Event.stop(A);return }}else{if(A.keyCode==Event.KEY_TAB||A.keyCode==Event.KEY_RETURN||(Prototype.Browser.WebKit>0&&A.keyCode==0)){return }}this.changed=true;this.hasFocus=true;if(this.observer){clearTimeout(this.observer)}this.observer=setTimeout(this.onObserverEvent.bind(this),this.options.frequency*1000)},activate:function(){this.changed=false;this.hasFocus=true;this.getUpdatedChoices()},onHover:function(B){var A=Event.findElement(B,"LI");if(this.index!=A.autocompleteIndex){this.index=A.autocompleteIndex;this.render()}Event.stop(B)},onClick:function(B){var A=Event.findElement(B,"LI");this.index=A.autocompleteIndex;this.selectEntry();this.hide()},onBlur:function(A){setTimeout(this.hide.bind(this),250);this.hasFocus=false;this.active=false},render:function(){if(this.entryCount>0){for(var A=0;A<this.entryCount;A++){this.index==A?Element.addClassName(this.getEntry(A),"selected"):Element.removeClassName(this.getEntry(A),"selected")}if(this.hasFocus){this.show();this.active=true}}else{this.active=false;this.hide()}},markPrevious:function(){if(this.index>0){this.index--}else{this.index=this.entryCount-1}this.getEntry(this.index).scrollIntoView(true)},markNext:function(){if(this.index<this.entryCount-1){this.index++}else{this.index=0}this.getEntry(this.index).scrollIntoView(false)},getEntry:function(A){return this.update.firstChild.childNodes[A]},getCurrentEntry:function(){return this.getEntry(this.index)},selectEntry:function(){this.active=false;this.updateElement(this.getCurrentEntry())},updateElement:function(F){if(this.options.updateElement){this.options.updateElement(F);return }var D="";if(this.options.select){var A=$(F).select("."+this.options.select)||[];if(A.length>0){D=Element.collectTextNodes(A[0],this.options.select)}}else{D=Element.collectTextNodesIgnoreClass(F,"informal")}var C=this.getTokenBounds();if(C[0]!=-1){var E=this.element.value.substr(0,C[0]);var B=this.element.value.substr(C[0]).match(/^\s+/);if(B){E+=B[0]}this.element.value=E+D+this.element.value.substr(C[1])}else{this.element.value=D}this.oldElementValue=this.element.value;this.element.focus();if(this.options.afterUpdateElement){this.options.afterUpdateElement(this.element,F)}},updateChoices:function(C){if(!this.changed&&this.hasFocus){this.update.innerHTML=C;Element.cleanWhitespace(this.update);Element.cleanWhitespace(this.update.down());if(this.update.firstChild&&this.update.down().childNodes){this.entryCount=this.update.down().childNodes.length;for(var A=0;A<this.entryCount;A++){var B=this.getEntry(A);B.autocompleteIndex=A;this.addObservers(B)}}else{this.entryCount=0}this.stopIndicator();this.index=0;if(this.entryCount==1&&this.options.autoSelect){this.selectEntry();this.hide()}else{this.render()}}},addObservers:function(A){Event.observe(A,"mouseover",this.onHover.bindAsEventListener(this));Event.observe(A,"click",this.onClick.bindAsEventListener(this))},onObserverEvent:function(){this.changed=false;this.tokenBounds=null;if(this.getToken().length>=this.options.minChars){this.getUpdatedChoices()}else{this.active=false;this.hide()}this.oldElementValue=this.element.value},getToken:function(){var A=this.getTokenBounds();return this.element.value.substring(A[0],A[1]).strip()},getTokenBounds:function(){if(null!=this.tokenBounds){return this.tokenBounds}var E=this.element.value;if(E.strip().empty()){return[-1,0]}var F=arguments.callee.getFirstDifferencePos(E,this.oldElementValue);var H=(F==this.oldElementValue.length?1:0);var D=-1,C=E.length;var G;for(var B=0,A=this.options.tokens.length;B<A;++B){G=E.lastIndexOf(this.options.tokens[B],F+H-1);if(G>D){D=G}G=E.indexOf(this.options.tokens[B],F+H);if(-1!=G&&G<C){C=G}}return(this.tokenBounds=[D+1,C])}});Autocompleter.Base.prototype.getTokenBounds.getFirstDifferencePos=function(C,A){var D=Math.min(C.length,A.length);for(var B=0;B<D;++B){if(C[B]!=A[B]){return B}}return D};Ajax.Autocompleter=Class.create(Autocompleter.Base,{initialize:function(C,D,B,A){this.baseInitialize(C,D,A);this.options.asynchronous=true;this.options.onComplete=this.onComplete.bind(this);this.options.defaultParams=this.options.parameters||null;this.url=B},getUpdatedChoices:function(){this.startIndicator();var A=encodeURIComponent(this.options.paramName)+"="+encodeURIComponent(this.getToken());this.options.parameters=this.options.callback?this.options.callback(this.element,A):A;if(this.options.defaultParams){this.options.parameters+="&"+this.options.defaultParams}new Ajax.Request(this.url,this.options)},onComplete:function(A){this.updateChoices(A.responseText)}});Autocompleter.Local=Class.create(Autocompleter.Base,{initialize:function(B,D,C,A){this.baseInitialize(B,D,A);this.options.array=C},getUpdatedChoices:function(){this.updateChoices(this.options.selector(this))},setOptions:function(A){this.options=Object.extend({choices:10,partialSearch:true,partialChars:2,ignoreCase:true,fullSearch:false,selector:function(B){var D=[];var C=[];var H=B.getToken();var G=0;for(var E=0;E<B.options.array.length&&D.length<B.options.choices;E++){var F=B.options.array[E];var I=B.options.ignoreCase?F.toLowerCase().indexOf(H.toLowerCase()):F.indexOf(H);while(I!=-1){if(I==0&&F.length!=H.length){D.push("<li><strong>"+F.substr(0,H.length)+"</strong>"+F.substr(H.length)+"</li>");break}else{if(H.length>=B.options.partialChars&&B.options.partialSearch&&I!=-1){if(B.options.fullSearch||/\s/.test(F.substr(I-1,1))){C.push("<li>"+F.substr(0,I)+"<strong>"+F.substr(I,H.length)+"</strong>"+F.substr(I+H.length)+"</li>");break}}}I=B.options.ignoreCase?F.toLowerCase().indexOf(H.toLowerCase(),I+1):F.indexOf(H,I+1)}}if(C.length){D=D.concat(C.slice(0,B.options.choices-D.length))}return"<ul>"+D.join("")+"</ul>"}},A||{})}});Field.scrollFreeActivate=function(A){setTimeout(function(){Field.activate(A)},1)};Ajax.InPlaceEditor=Class.create({initialize:function(C,B,A){this.url=B;this.element=C=$(C);this.prepareOptions();this._controls={};arguments.callee.dealWithDeprecatedOptions(A);Object.extend(this.options,A||{});if(!this.options.formId&&this.element.id){this.options.formId=this.element.id+"-inplaceeditor";if($(this.options.formId)){this.options.formId=""}}if(this.options.externalControl){this.options.externalControl=$(this.options.externalControl)}if(!this.options.externalControl){this.options.externalControlOnly=false}this._originalBackground=this.element.getStyle("background-color")||"transparent";this.element.title=this.options.clickToEditText;this._boundCancelHandler=this.handleFormCancellation.bind(this);this._boundComplete=(this.options.onComplete||Prototype.emptyFunction).bind(this);this._boundFailureHandler=this.handleAJAXFailure.bind(this);this._boundSubmitHandler=this.handleFormSubmission.bind(this);this._boundWrapperHandler=this.wrapUp.bind(this);this.registerListeners()},checkForEscapeOrReturn:function(A){if(!this._editing||A.ctrlKey||A.altKey||A.shiftKey){return }if(Event.KEY_ESC==A.keyCode){this.handleFormCancellation(A)}else{if(Event.KEY_RETURN==A.keyCode){this.handleFormSubmission(A)}}},createControl:function(G,C,B){var E=this.options[G+"Control"];var F=this.options[G+"Text"];if("button"==E){var A=document.createElement("input");A.type="submit";A.value=F;A.className="editor_"+G+"_button";if("cancel"==G){A.onclick=this._boundCancelHandler}this._form.appendChild(A);this._controls[G]=A}else{if("link"==E){var D=document.createElement("a");D.href="#";D.appendChild(document.createTextNode(F));D.onclick="cancel"==G?this._boundCancelHandler:this._boundSubmitHandler;D.className="editor_"+G+"_link";if(B){D.className+=" "+B}this._form.appendChild(D);this._controls[G]=D}}},createEditField:function(){var C=(this.options.loadTextURL?this.options.loadingText:this.getText());var B;if(1>=this.options.rows&&!/\r|\n/.test(this.getText())){B=document.createElement("input");B.type="text";var A=this.options.size||this.options.cols||0;if(0<A){B.size=A}}else{B=document.createElement("textarea");B.rows=(1>=this.options.rows?this.options.autoRows:this.options.rows);B.cols=this.options.cols||40}B.name=this.options.paramName;B.value=C;B.className="editor_field";if(this.options.submitOnBlur){B.onblur=this._boundSubmitHandler}this._controls.editor=B;if(this.options.loadTextURL){this.loadExternalText()}this._form.appendChild(this._controls.editor)},createForm:function(){var B=this;function A(D,E){var C=B.options["text"+D+"Controls"];if(!C||E===false){return }B._form.appendChild(document.createTextNode(C))}this._form=$(document.createElement("form"));this._form.id=this.options.formId;this._form.addClassName(this.options.formClassName);this._form.onsubmit=this._boundSubmitHandler;this.createEditField();if("textarea"==this._controls.editor.tagName.toLowerCase()){this._form.appendChild(document.createElement("br"))}if(this.options.onFormCustomization){this.options.onFormCustomization(this,this._form)}A("Before",this.options.okControl||this.options.cancelControl);this.createControl("ok",this._boundSubmitHandler);A("Between",this.options.okControl&&this.options.cancelControl);this.createControl("cancel",this._boundCancelHandler,"editor_cancel");A("After",this.options.okControl||this.options.cancelControl)},destroy:function(){if(this._oldInnerHTML){this.element.innerHTML=this._oldInnerHTML}this.leaveEditMode();this.unregisterListeners()},enterEditMode:function(A){if(this._saving||this._editing){return }this._editing=true;this.triggerCallback("onEnterEditMode");if(this.options.externalControl){this.options.externalControl.hide()}this.element.hide();this.createForm();this.element.parentNode.insertBefore(this._form,this.element);if(!this.options.loadTextURL){this.postProcessEditField()}if(A){Event.stop(A)}},enterHover:function(A){if(this.options.hoverClassName){this.element.addClassName(this.options.hoverClassName)}if(this._saving){return }this.triggerCallback("onEnterHover")},getText:function(){return this.element.innerHTML},handleAJAXFailure:function(A){this.triggerCallback("onFailure",A);if(this._oldInnerHTML){this.element.innerHTML=this._oldInnerHTML;this._oldInnerHTML=null}},handleFormCancellation:function(A){this.wrapUp();if(A){Event.stop(A)}},handleFormSubmission:function(D){var B=this._form;var C=$F(this._controls.editor);this.prepareSubmission();var E=this.options.callback(B,C)||"";if(Object.isString(E)){E=E.toQueryParams()}E.editorId=this.element.id;if(this.options.htmlResponse){var A=Object.extend({evalScripts:true},this.options.ajaxOptions);Object.extend(A,{parameters:E,onComplete:this._boundWrapperHandler,onFailure:this._boundFailureHandler});new Ajax.Updater({success:this.element},this.url,A)}else{var A=Object.extend({method:"get"},this.options.ajaxOptions);Object.extend(A,{parameters:E,onComplete:this._boundWrapperHandler,onFailure:this._boundFailureHandler});new Ajax.Request(this.url,A)}if(D){Event.stop(D)}},leaveEditMode:function(){this.element.removeClassName(this.options.savingClassName);this.removeForm();this.leaveHover();this.element.style.backgroundColor=this._originalBackground;this.element.show();if(this.options.externalControl){this.options.externalControl.show()}this._saving=false;this._editing=false;this._oldInnerHTML=null;this.triggerCallback("onLeaveEditMode")},leaveHover:function(A){if(this.options.hoverClassName){this.element.removeClassName(this.options.hoverClassName)}if(this._saving){return }this.triggerCallback("onLeaveHover")},loadExternalText:function(){this._form.addClassName(this.options.loadingClassName);this._controls.editor.disabled=true;var A=Object.extend({method:"get"},this.options.ajaxOptions);Object.extend(A,{parameters:"editorId="+encodeURIComponent(this.element.id),onComplete:Prototype.emptyFunction,onSuccess:function(C){this._form.removeClassName(this.options.loadingClassName);var B=C.responseText;if(this.options.stripLoadedTextTags){B=B.stripTags()}this._controls.editor.value=B;this._controls.editor.disabled=false;this.postProcessEditField()}.bind(this),onFailure:this._boundFailureHandler});new Ajax.Request(this.options.loadTextURL,A)},postProcessEditField:function(){var A=this.options.fieldPostCreation;if(A){$(this._controls.editor)["focus"==A?"focus":"activate"]()}},prepareOptions:function(){this.options=Object.clone(Ajax.InPlaceEditor.DefaultOptions);Object.extend(this.options,Ajax.InPlaceEditor.DefaultCallbacks);[this._extraDefaultOptions].flatten().compact().each(function(A){Object.extend(this.options,A)}.bind(this))},prepareSubmission:function(){this._saving=true;this.removeForm();this.leaveHover();this.showSaving()},registerListeners:function(){this._listeners={};var A;$H(Ajax.InPlaceEditor.Listeners).each(function(B){A=this[B.value].bind(this);this._listeners[B.key]=A;if(!this.options.externalControlOnly){this.element.observe(B.key,A)}if(this.options.externalControl){this.options.externalControl.observe(B.key,A)}}.bind(this))},removeForm:function(){if(!this._form){return }this._form.remove();this._form=null;this._controls={}},showSaving:function(){this._oldInnerHTML=this.element.innerHTML;this.element.innerHTML=this.options.savingText;this.element.addClassName(this.options.savingClassName);this.element.style.backgroundColor=this._originalBackground;this.element.show()},triggerCallback:function(B,A){if("function"==typeof this.options[B]){this.options[B](this,A)}},unregisterListeners:function(){$H(this._listeners).each(function(A){if(!this.options.externalControlOnly){this.element.stopObserving(A.key,A.value)}if(this.options.externalControl){this.options.externalControl.stopObserving(A.key,A.value)}}.bind(this))},wrapUp:function(A){this.leaveEditMode();this._boundComplete(A,this.element)}});Object.extend(Ajax.InPlaceEditor.prototype,{dispose:Ajax.InPlaceEditor.prototype.destroy});Ajax.InPlaceCollectionEditor=Class.create(Ajax.InPlaceEditor,{initialize:function($super,C,B,A){this._extraDefaultOptions=Ajax.InPlaceCollectionEditor.DefaultOptions;$super(C,B,A)},createEditField:function(){var A=document.createElement("select");A.name=this.options.paramName;A.size=1;this._controls.editor=A;this._collection=this.options.collection||[];if(this.options.loadCollectionURL){this.loadCollection()}else{this.checkForExternalText()}this._form.appendChild(this._controls.editor)},loadCollection:function(){this._form.addClassName(this.options.loadingClassName);this.showLoadingText(this.options.loadingCollectionText);var options=Object.extend({method:"get"},this.options.ajaxOptions);Object.extend(options,{parameters:"editorId="+encodeURIComponent(this.element.id),onComplete:Prototype.emptyFunction,onSuccess:function(transport){var js=transport.responseText.strip();if(!/^\[.*\]$/.test(js)){throw"Server returned an invalid collection representation."}this._collection=eval(js);this.checkForExternalText()}.bind(this),onFailure:this.onFailure});new Ajax.Request(this.options.loadCollectionURL,options)},showLoadingText:function(B){this._controls.editor.disabled=true;var A=this._controls.editor.firstChild;if(!A){A=document.createElement("option");A.value="";this._controls.editor.appendChild(A);A.selected=true}A.update((B||"").stripScripts().stripTags())},checkForExternalText:function(){this._text=this.getText();if(this.options.loadTextURL){this.loadExternalText()}else{this.buildOptionList()}},loadExternalText:function(){this.showLoadingText(this.options.loadingText);var A=Object.extend({method:"get"},this.options.ajaxOptions);Object.extend(A,{parameters:"editorId="+encodeURIComponent(this.element.id),onComplete:Prototype.emptyFunction,onSuccess:function(B){this._text=B.responseText.strip();this.buildOptionList()}.bind(this),onFailure:this.onFailure});new Ajax.Request(this.options.loadTextURL,A)},buildOptionList:function(){this._form.removeClassName(this.options.loadingClassName);this._collection=this._collection.map(function(D){return 2===D.length?D:[D,D].flatten()});var B=("value" in this.options)?this.options.value:this._text;var A=this._collection.any(function(D){return D[0]==B}.bind(this));this._controls.editor.update("");var C;this._collection.each(function(E,D){C=document.createElement("option");C.value=E[0];C.selected=A?E[0]==B:0==D;C.appendChild(document.createTextNode(E[1]));this._controls.editor.appendChild(C)}.bind(this));this._controls.editor.disabled=false;Field.scrollFreeActivate(this._controls.editor)}});Ajax.InPlaceEditor.prototype.initialize.dealWithDeprecatedOptions=function(A){if(!A){return }function B(C,D){if(C in A||D===undefined){return }A[C]=D}B("cancelControl",(A.cancelLink?"link":(A.cancelButton?"button":A.cancelLink==A.cancelButton==false?false:undefined)));B("okControl",(A.okLink?"link":(A.okButton?"button":A.okLink==A.okButton==false?false:undefined)));B("highlightColor",A.highlightcolor);B("highlightEndColor",A.highlightendcolor)};Object.extend(Ajax.InPlaceEditor,{DefaultOptions:{ajaxOptions:{},autoRows:3,cancelControl:"link",cancelText:"cancel",clickToEditText:"Click to edit",externalControl:null,externalControlOnly:false,fieldPostCreation:"activate",formClassName:"inplaceeditor-form",formId:null,highlightColor:"#ffff99",highlightEndColor:"#ffffff",hoverClassName:"",htmlResponse:true,loadingClassName:"inplaceeditor-loading",loadingText:"Loading...",okControl:"button",okText:"ok",paramName:"value",rows:1,savingClassName:"inplaceeditor-saving",savingText:"Saving...",size:0,stripLoadedTextTags:false,submitOnBlur:false,textAfterControls:"",textBeforeControls:"",textBetweenControls:""},DefaultCallbacks:{callback:function(A){return Form.serialize(A)},onComplete:function(B,A){new Effect.Highlight(A,{startcolor:this.options.highlightColor,keepBackgroundImage:true})},onEnterEditMode:null,onEnterHover:function(A){A.element.style.backgroundColor=A.options.highlightColor;if(A._effect){A._effect.cancel()}},onFailure:function(B,A){alert("Error communication with the server: "+B.responseText.stripTags())},onFormCustomization:null,onLeaveEditMode:null,onLeaveHover:function(A){A._effect=new Effect.Highlight(A.element,{startcolor:A.options.highlightColor,endcolor:A.options.highlightEndColor,restorecolor:A._originalBackground,keepBackgroundImage:true})}},Listeners:{click:"enterEditMode",keydown:"checkForEscapeOrReturn",mouseover:"enterHover",mouseout:"leaveHover"}});Ajax.InPlaceCollectionEditor.DefaultOptions={loadingCollectionText:"Loading options..."};Form.Element.DelayedObserver=Class.create({initialize:function(B,A,C){this.delay=A||0.5;this.element=$(B);this.callback=C;this.timer=null;this.lastValue=$F(this.element);Event.observe(this.element,"keyup",this.delayedListener.bindAsEventListener(this))},delayedListener:function(A){if(this.lastValue==$F(this.element)){return }if(this.timer){clearTimeout(this.timer)}this.timer=setTimeout(this.onTimerEvent.bind(this),this.delay*1000);this.lastValue=$F(this.element)},onTimerEvent:function(){this.timer=null;this.callback(this.element,$F(this.element))}}); \ No newline at end of file Modified: trunk/linpha2/lib/js/dragdrop.js =================================================================== --- trunk/linpha2/lib/js/dragdrop.js 2008-01-29 20:01:16 UTC (rev 4830) +++ trunk/linpha2/lib/js/dragdrop.js 2008-01-29 21:12:02 UTC (rev 4831) @@ -1,4 +1,4 @@ -// script.aculo.us dragdrop.js v1.8.0, Tue Nov 06 15:01:40 +0300 2007 +// script.aculo.us dragdrop.js v1.8.1, Thu Jan 03 22:07:12 -0500 2008 // Copyright (c) 2005-2007 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us) // (c) 2005-2007 Sammi Williams (http://www.oriontransfer.co.nz, sa...@or...) Added: trunk/linpha2/lib/js/dragdrop.yui.js =================================================================== --- trunk/linpha2/lib/js/dragdrop.yui.js (rev 0) +++ trunk/linpha2/lib/js/dragdrop.yui.js 2008-01-29 21:12:02 UTC (rev 4831) @@ -0,0 +1 @@ +if(Object.isUndefined(Effect)){throw ("dragdrop.js requires including script.aculo.us' effects.js library")}var Droppables={drops:[],remove:function(A){this.drops=this.drops.reject(function(B){return B.element==$(A)})},add:function(B){B=$(B);var A=Object.extend({greedy:true,hoverclass:null,tree:false},arguments[1]||{});if(A.containment){A._containers=[];var C=A.containment;if(Object.isArray(C)){C.each(function(D){A._containers.push($(D))})}else{A._containers.push($(C))}}if(A.accept){A.accept=[A.accept].flatten()}Element.makePositioned(B);A.element=B;this.drops.push(A)},findDeepestChild:function(A){deepest=A[0];for(i=1;i<A.length;++i){if(Element.isParent(A[i].element,deepest.element)){deepest=A[i]}}return deepest},isContained:function(B,A){var C;if(A.tree){C=B.treeNode}else{C=B.parentNode}return A._containers.detect(function(D){return C==D})},isAffected:function(A,C,B){return((B.element!=C)&&((!B._containers)||this.isContained(C,B))&&((!B.accept)||(Element.classNames(C).detect(function(D){return B.accept.include(D)})))&&Position.within(B.element,A[0],A[1]))},deactivate:function(A){if(A.hoverclass){Element.removeClassName(A.element,A.hoverclass)}this.last_active=null},activate:function(A){if(A.hoverclass){Element.addClassName(A.element,A.hoverclass)}this.last_active=A},show:function(A,C){if(!this.drops.length){return }var B,D=[];this.drops.each(function(E){if(Droppables.isAffected(A,C,E)){D.push(E)}});if(D.length>0){B=Droppables.findDeepestChild(D)}if(this.last_active&&this.last_active!=B){this.deactivate(this.last_active)}if(B){Position.within(B.element,A[0],A[1]);if(B.onHover){B.onHover(C,B.element,Position.overlap(B.overlap,B.element))}if(B!=this.last_active){Droppables.activate(B)}}},fire:function(B,A){if(!this.last_active){return }Position.prepare();if(this.isAffected([Event.pointerX(B),Event.pointerY(B)],A,this.last_active)){if(this.last_active.onDrop){this.last_active.onDrop(A,this.last_active.element,B);return true}}},reset:function(){if(this.last_active){this.deactivate(this.last_active)}}};var Draggables={drags:[],observers:[],register:function(A){if(this.drags.length==0){this.eventMouseUp=this.endDrag.bindAsEventListener(this);this.eventMouseMove=this.updateDrag.bindAsEventListener(this);this.eventKeypress=this.keyPress.bindAsEventListener(this);Event.observe(document,"mouseup",this.eventMouseUp);Event.observe(document,"mousemove",this.eventMouseMove);Event.observe(document,"keypress",this.eventKeypress)}this.drags.push(A)},unregister:function(A){this.drags=this.drags.reject(function(B){return B==A});if(this.drags.length==0){Event.stopObserving(document,"mouseup",this.eventMouseUp);Event.stopObserving(document,"mousemove",this.eventMouseMove);Event.stopObserving(document,"keypress",this.eventKeypress)}},activate:function(A){if(A.options.delay){this._timeout=setTimeout(function(){Draggables._timeout=null;window.focus();Draggables.activeDraggable=A}.bind(this),A.options.delay)}else{window.focus();this.activeDraggable=A}},deactivate:function(){this.activeDraggable=null},updateDrag:function(A){if(!this.activeDraggable){return }var B=[Event.pointerX(A),Event.pointerY(A)];if(this._lastPointer&&(this._lastPointer.inspect()==B.inspect())){return }this._lastPointer=B;this.activeDraggable.updateDrag(A,B)},endDrag:function(A){if(this._timeout){clearTimeout(this._timeout);this._timeout=null}if(!this.activeDraggable){return }this._lastPointer=null;this.activeDraggable.endDrag(A);this.activeDraggable=null},keyPress:function(A){if(this.activeDraggable){this.activeDraggable.keyPress(A)}},addObserver:function(A){this.observers.push(A);this._cacheObserverCallbacks()},removeObserver:function(A){this.observers=this.observers.reject(function(B){return B.element==A});this._cacheObserverCallbacks()},notify:function(B,A,C){if(this[B+"Count"]>0){this.observers.each(function(D){if(D[B]){D[B](B,A,C)}})}if(A.options[B]){A.options[B](A,C)}},_cacheObserverCallbacks:function(){["onStart","onEnd","onDrag"].each(function(A){Draggables[A+"Count"]=Draggables.observers.select(function(B){return B[A]}).length})}};var Draggable=Class.create({initialize:function(B){var C={handle:false,reverteffect:function(F,E,D){var G=Math.sqrt(Math.abs(E^2)+Math.abs(D^2))*0.02;new Effect.Move(F,{x:-D,y:-E,duration:G,queue:{scope:"_draggable",position:"end"}})},endeffect:function(E){var D=Object.isNumber(E._opacity)?E._opacity:1;new Effect.Opacity(E,{duration:0.2,from:0.7,to:D,queue:{scope:"_draggable",position:"end"},afterFinish:function(){Draggable._dragging[E]=false}})},zindex:1000,revert:false,quiet:false,scroll:false,scrollSensitivity:20,scrollSpeed:15,snap:false,delay:0};if(!arguments[1]||Object.isUndefined(arguments[1].endeffect)){Object.extend(C,{starteffect:function(D){D._opacity=Element.getOpacity(D);Draggable._dragging[D]=true;new Effect.Opacity(D,{duration:0.2,from:D._opacity,to:0.7})}})}var A=Object.extend(C,arguments[1]||{});this.element=$(B);if(A.handle&&Object.isString(A.handle)){this.handle=this.element.down("."+A.handle,0)}if(!this.handle){this.handle=$(A.handle)}if(!this.handle){this.handle=this.element}if(A.scroll&&!A.scroll.scrollTo&&!A.scroll.outerHTML){A.scroll=$(A.scroll);this._isScrollChild=Element.childOf(this.element,A.scroll)}Element.makePositioned(this.element);this.options=A;this.dragging=false;this.eventMouseDown=this.initDrag.bindAsEventListener(this);Event.observe(this.handle,"mousedown",this.eventMouseDown);Draggables.register(this)},destroy:function(){Event.stopObserving(this.handle,"mousedown",this.eventMouseDown);Draggables.unregister(this)},currentDelta:function(){return([parseInt(Element.getStyle(this.element,"left")||"0"),parseInt(Element.getStyle(this.element,"top")||"0")])},initDrag:function(A){if(!Object.isUndefined(Draggable._dragging[this.element])&&Draggable._dragging[this.element]){return }if(Event.isLeftClick(A)){var C=Event.element(A);if((tag_name=C.tagName.toUpperCase())&&(tag_name=="INPUT"||tag_name=="SELECT"||tag_name=="OPTION"||tag_name=="BUTTON"||tag_name=="TEXTAREA")){return }var B=[Event.pointerX(A),Event.pointerY(A)];var D=Position.cumulativeOffset(this.element);this.offset=[0,1].map(function(E){return(B[E]-D[E])});Draggables.activate(this);Event.stop(A)}},startDrag:function(B){this.dragging=true;if(!this.delta){this.delta=this.currentDelta()}if(this.options.zindex){this.originalZ=parseInt(Element.getStyle(this.element,"z-index")||0);this.element.style.zIndex=this.options.zindex}if(this.options.ghosting){this._clone=this.element.cloneNode(true);this.element._originallyAbsolute=(this.element.getStyle("position")=="absolute");if(!this.element._originallyAbsolute){Position.absolutize(this.element)}this.element.parentNode.insertBefore(this._clone,this.element)}if(this.options.scroll){if(this.options.scroll==window){var A=this._getWindowScroll(this.options.scroll);this.originalScrollLeft=A.left;this.originalScrollTop=A.top}else{this.originalScrollLeft=this.options.scroll.scrollLeft;this.originalScrollTop=this.options.scroll.scrollTop}}Draggables.notify("onStart",this,B);if(this.options.starteffect){this.options.starteffect(this.element)}},updateDrag:function(event,pointer){if(!this.dragging){this.startDrag(event)}if(!this.options.quiet){Position.prepare();Droppables.show(pointer,this.element)}Draggables.notify("onDrag",this,event);this.draw(pointer);if(this.options.change){this.options.change(this)}if(this.options.scroll){this.stopScrolling();var p;if(this.options.scroll==window){with(this._getWindowScroll(this.options.scroll)){p=[left,top,left+width,top+height]}}else{p=Position.page(this.options.scroll);p[0]+=this.options.scroll.scrollLeft+Position.deltaX;p[1]+=this.options.scroll.scrollTop+Position.deltaY;p.push(p[0]+this.options.scroll.offsetWidth);p.push(p[1]+this.options.scroll.offsetHeight)}var speed=[0,0];if(pointer[0]<(p[0]+this.options.scrollSensitivity)){speed[0]=pointer[0]-(p[0]+this.options.scrollSensitivity)}if(pointer[1]<(p[1]+this.options.scrollSensitivity)){speed[1]=pointer[1]-(p[1]+this.options.scrollSensitivity)}if(pointer[0]>(p[2]-this.options.scrollSensitivity)){speed[0]=pointer[0]-(p[2]-this.options.scrollSensitivity)}if(pointer[1]>(p[3]-this.options.scrollSensitivity)){speed[1]=pointer[1]-(p[3]-this.options.scrollSensitivity)}this.startScrolling(speed)}if(Prototype.Browser.WebKit){window.scrollBy(0,0)}Event.stop(event)},finishDrag:function(B,E){this.dragging=false;if(this.options.quiet){Position.prepare();var D=[Event.pointerX(B),Event.pointerY(B)];Droppables.show(D,this.element)}if(this.options.ghosting){if(!this.element._originallyAbsolute){Position.relativize(this.element)}delete this.element._originallyAbsolute;Element.remove(this._clone);this._clone=null}var F=false;if(E){F=Droppables.fire(B,this.element);if(!F){F=false}}if(F&&this.options.onDropped){this.options.onDropped(this.element)}Draggables.notify("onEnd",this,B);var A=this.options.revert;if(A&&Object.isFunction(A)){A=A(this.element)}var C=this.currentDelta();if(A&&this.options.reverteffect){if(F==0||A!="failure"){this.options.reverteffect(this.element,C[1]-this.delta[1],C[0]-this.delta[0])}}else{this.delta=C}if(this.options.zindex){this.element.style.zIndex=this.originalZ}if(this.options.endeffect){this.options.endeffect(this.element)}Draggables.deactivate(this);Droppables.reset()},keyPress:function(A){if(A.keyCode!=Event.KEY_ESC){return }this.finishDrag(A,false);Event.stop(A)},endDrag:function(A){if(!this.dragging){return }this.stopScrolling();this.finishDrag(A,true);Event.stop(A)},draw:function(A){var F=Position.cumulativeOffset(this.element);if(this.options.ghosting){var C=Position.realOffset(this.element);F[0]+=C[0]-Position.deltaX;F[1]+=C[1]-Position.deltaY}var E=this.currentDelta();F[0]-=E[0];F[1]-=E[1];if(this.options.scroll&&(this.options.scroll!=window&&this._isScrollChild)){F[0]-=this.options.scroll.scrollLeft-this.originalScrollLeft;F[1]-=this.options.scroll.scrollTop-this.originalScrollTop}var D=[0,1].map(function(G){return(A[G]-F[G]-this.offset[G])}.bind(this));if(this.options.snap){if(Object.isFunction(this.options.snap)){D=this.options.snap(D[0],D[1],this)}else{if(Object.isArray(this.options.snap)){D=D.map(function(G,H){return(G/this.options.snap[H]).round()*this.options.snap[H]}.bind(this))}else{D=D.map(function(G){return(G/this.options.snap).round()*this.options.snap}.bind(this))}}}var B=this.element.style;if((!this.options.constraint)||(this.options.constraint=="horizontal")){B.left=D[0]+"px"}if((!this.options.constraint)||(this.options.constraint=="vertical")){B.top=D[1]+"px"}if(B.visibility=="hidden"){B.visibility=""}},stopScrolling:function(){if(this.scrollInterval){clearInterval(this.scrollInterval);this.scrollInterval=null;Draggables._lastScrollPointer=null}},startScrolling:function(A){if(!(A[0]||A[1])){return }this.scrollSpeed=[A[0]*this.options.scrollSpeed,A[1]*this.options.scrollSpeed];this.lastScrolled=new Date();this.scrollInterval=setInterval(this.scroll.bind(this),10)},scroll:function(){var current=new Date();var delta=current-this.lastScrolled;this.lastScrolled=current;if(this.options.scroll==window){with(this._getWindowScroll(this.options.scroll)){if(this.scrollSpeed[0]||this.scrollSpeed[1]){var d=delta/1000;this.options.scroll.scrollTo(left+d*this.scrollSpeed[0],top+d*this.scrollSpeed[1])}}}else{this.options.scroll.scrollLeft+=this.scrollSpeed[0]*delta/1000;this.options.scroll.scrollTop+=this.scrollSpeed[1]*delta/1000}Position.prepare();Droppables.show(Draggables._lastPointer,this.element);Draggables.notify("onDrag",this);if(this._isScrollChild){Draggables._lastScrollPointer=Draggables._lastScrollPointer||$A(Draggables._lastPointer);Draggables._lastScrollPointer[0]+=this.scrollSpeed[0]*delta/1000;Draggables._lastScrollPointer[1]+=this.scrollSpeed[1]*delta/1000;if(Draggables._lastScrollPointer[0]<0){Draggables._lastScrollPointer[0]=0}if(Draggables._lastScrollPointer[1]<0){Draggables._lastScrollPointer[1]=0}this.draw(Draggables._lastScrollPointer)}if(this.options.change){this.options.change(this)}},_getWindowScroll:function(w){var T,L,W,H;with(w.document){if(w.document.documentElement&&documentElement.scrollTop){T=documentElement.scrollTop;L=documentElement.scrollLeft}else{if(w.document.body){T=body.scrollTop;L=body.scrollLeft}}if(w.innerWidth){W=w.innerWidth;H=w.innerHeight}else{if(w.document.documentElement&&documentElement.clientWidth){W=documentElement.clientWidth;H=documentElement.clientHeight}else{W=body.offsetWidth;H=body.offsetHeight}}}return{top:T,left:L,width:W,height:H}}});Draggable._dragging={};var SortableObserver=Class.create({initialize:function(B,A){this.element=$(B);this.observer=A;this.lastValue=Sortable.serialize(this.element)},onStart:function(){this.lastValue=Sortable.serialize(this.element)},onEnd:function(){Sortable.unmark();if(this.lastValue!=Sortable.serialize(this.element)){this.observer(this.element)}}});var Sortable={SERIALIZE_RULE:/^[^_\-](?:[A-Za-z0-9\-\_]*)[_](.*)$/,sortables:{},_findRootElement:function(A){while(A.tagName.toUpperCase()!="BODY"){if(A.id&&Sortable.sortables[A.id]){return A}A=A.parentNode}},options:function(A){A=Sortable._findRootElement($(A));if(!A){return }return Sortable.sortables[A.id]},destroy:function(A){var B=Sortable.options(A);if(B){Draggables.removeObserver(B.element);B.droppables.each(function(C){Droppables.remove(C)});B.draggables.invoke("destroy");delete Sortable.sortables[B.element.id]}},create:function(C){C=$(C);var B=Object.extend({element:C,tag:"li",dropOnEmpty:false,tree:false,treeTag:"ul",overlap:"vertical",constraint:"vertical",containment:C,handle:false,only:false,delay:0,hoverclass:null,ghosting:false,quiet:false,scroll:false,scrollSensitivity:20,scrollSpeed:15,format:this.SERIALIZE_RULE,elements:false,handles:false,onChange:Prototype.emptyFunction,onUpdate:Prototype.emptyFunction},arguments[1]||{});this.destroy(C);var A={revert:true,quiet:B.quiet,scroll:B.scroll,scrollSpeed:B.scrollSpeed,scrollSensitivity:B.scrollSensitivity,delay:B.delay,ghosting:B.ghosting,constraint:B.constraint,handle:B.handle};if(B.starteffect){A.starteffect=B.starteffect}if(B.reverteffect){A.reverteffect=B.reverteffect}else{if(B.ghosting){A.reverteffect=function(F){F.style.top=0;F.style.left=0}}}if(B.endeffect){A.endeffect=B.endeffect}if(B.zindex){A.zindex=B.zindex}var D={overlap:B.overlap,containment:B.containment,tree:B.tree,hoverclass:B.hoverclass,onHover:Sortable.onHover};var E={onHover:Sortable.onEmptyHover,overlap:B.overlap,containment:B.containment,hoverclass:B.hoverclass};Element.cleanWhitespace(C);B.draggables=[];B.droppables=[];if(B.dropOnEmpty||B.tree){Droppables.add(C,E);B.droppables.push(C)}(B.elements||this.findElements(C,B)||[]).each(function(H,F){var G=B.handles?$(B.handles[F]):(B.handle?$(H).select("."+B.handle)[0]:H);B.draggables.push(new Draggable(H,Object.extend(A,{handle:G})));Droppables.add(H,D);if(B.tree){H.treeNode=C}B.droppables.push(H)});if(B.tree){(Sortable.findTreeElements(C,B)||[]).each(function(F){Droppables.add(F,E);F.treeNode=C;B.droppables.push(F)})}this.sortables[C.id]=B;Draggables.addObserver(new SortableObserver(C,B.onUpdate))},findElements:function(B,A){return Element.findChildren(B,A.only,A.tree?true:false,A.tag)},findTreeElements:function(B,A){return Element.findChildren(B,A.only,A.tree?true:false,A.treeTag)},onHover:function(E,D,A){if(Element.isParent(D,E)){return }if(A>0.33&&A<0.66&&Sortable.options(D).tree){return }else{if(A>0.5){Sortable.mark(D,"before");if(D.previousSibling!=E){var B=E.parentNode;E.style.visibility="hidden";D.parentNode.insertBefore(E,D);if(D.parentNode!=B){Sortable.options(B).onChange(E)}Sortable.options(D.parentNode).onChange(E)}}else{Sortable.mark(D,"after");var C=D.nextSibling||null;if(C!=E){var B=E.parentNode;E.style.visibility="hidden";D.parentNode.insertBefore(E,C);if(D.parentNode!=B){Sortable.options(B).onChange(E)}Sortable.options(D.parentNode).onChange(E)}}}},onEmptyHover:function(E,G,H){var I=E.parentNode;var A=Sortable.options(G);if(!Element.isParent(G,E)){var F;var C=Sortable.findElements(G,{tag:A.tag,only:A.only});var B=null;if(C){var D=Element.offsetSize(G,A.overlap)*(1-H);for(F=0;F<C.length;F+=1){if(D-Element.offsetSize(C[F],A.overlap)>=0){D-=Element.offsetSize(C[F],A.overlap)}else{if(D-(Element.offsetSize(C[F],A.overlap)/2)>=0){B=F+1<C.length?C[F+1]:null;break}else{B=C[F];break}}}}G.insertBefore(E,B);Sortable.options(I).onChange(E);A.onChange(E)}},unmark:function(){if(Sortable._marker){Sortable._marker.hide()}},mark:function(B,A){var D=Sortable.options(B.parentNode);if(D&&!D.ghosting){return }if(!Sortable._marker){Sortable._marker=($("dropmarker")||Element.extend(document.createElement("DIV"))).hide().addClassName("dropmarker").setStyle({position:"absolute"});document.getElementsByTagName("body").item(0).appendChild(Sortable._marker)}var C=Position.cumulativeOffset(B);Sortable._marker.setStyle({left:C[0]+"px",top:C[1]+"px"});if(A=="after"){if(D.overlap=="horizontal"){Sortable._marker.setStyle({left:(C[0]+B.clientWidth)+"px"})}else{Sortable._marker.setStyle({top:(C[1]+B.clientHeight)+"px"})}}Sortable._marker.show()},_tree:function(E,B,F){var D=Sortable.findElements(E,B)||[];for(var C=0;C<D.length;++C){var A=D[C].id.match(B.format);if(!A){continue}var G={id:encodeURIComponent(A?A[1]:null),element:E,parent:F,children:[],position:F.children.length,container:$(D[C]).down(B.treeTag)};if(G.container){this._tree(G.container,B,G)}F.children.push(G)}return F},tree:function(D){D=$(D);var C=this.options(D);var B=Object.extend({tag:C.tag,treeTag:C.treeTag,only:C.only,name:D.id,format:C.format},arguments[1]||{});var A={id:null,parent:null,children:[],container:D,position:0};return Sortable._tree(D,B,A)},_constructIndex:function(B){var A="";do{if(B.id){A="["+B.position+"]"+A}}while((B=B.parent)!=null);return A},sequence:function(B){B=$(B);var A=Object.extend(this.options(B),arguments[1]||{});return $(this.findElements(B,A)||[]).map(function(C){return C.id.match(A.format)?C.id.match(A.format)[1]:""})},setSequence:function(B,C){B=$(B);var A=Object.extend(this.options(B),arguments[2]||{});var D={};this.findElements(B,A).each(function(E){if(E.id.match(A.format)){D[E.id.match(A.format)[1]]=[E,E.parentNode]}E.parentNode.removeChild(E)});C.each(function(E){var F=D[E];if(F){F[1].appendChild(F[0]);delete D[E]}})},serialize:function(C){C=$(C);var B=Object.extend(Sortable.options(C),arguments[1]||{});var A=encodeURIComponent((arguments[1]&&arguments[1].name)?arguments[1].name:C.id);if(B.tree){return Sortable.tree(C,arguments[1]).children.map(function(D){return[A+Sortable._constructIndex(D)+"[id]="+encodeURIComponent(D.id)].concat(D.children.map(arguments.callee))}).flatten().join("&")}else{return Sortable.sequence(C,arguments[1]).map(function(D){return A+"[]="+encodeURIComponent(D)}).join("&")}}};Element.isParent=function(B,A){if(!B.parentNode||B==A){return false}if(B.parentNode==A){return true}return Element.isParent(B.parentNode,A)};Element.findChildren=function(D,B,A,C){if(!D.hasChildNodes()){return null}C=C.toUpperCase();if(B){B=[B].flatten()}var E=[];$A(D.childNodes).each(function(G){if(G.tagName&&G.tagName.toUpperCase()==C&&(!B||(Element.classNames(G).detect(function(H){return B.include(H)})))){E.push(G)}if(A){var F=Element.findChildren(G,B,A,C);if(F){E.push(F)}}});return(E.length>0?E.flatten():[])};Element.offsetSize=function(A,B){return A["offset"+((B=="vertical"||B=="height")?"Height":"Width")]}; \ No newline at end of file Modified: trunk/linpha2/lib/js/effects.js =================================================================== --- trunk/linpha2/lib/js/effects.js 2008-01-29 20:01:16 UTC (rev 4830) +++ trunk/linpha2/lib/js/effects.js 2008-01-29 21:12:02 UTC (rev 4831) @@ -1,4 +1,4 @@ -// script.aculo.us effects.js v1.8.0, Tue Nov 06 15:01:40 +0300 2007 +// script.aculo.us effects.js v1.8.1, Thu Jan 03 22:07:12 -0500 2008 // Copyright (c) 2005-2007 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us) // Contributors: @@ -1076,11 +1076,11 @@ Element.getStyles = function(element) { element = $(element); var css = element.currentStyle, styles; - styles = Element.CSS_PROPERTIES.inject({ }, function(hash, property) { - hash.set(property, css[property]); - return hash; + styles = Element.CSS_PROPERTIES.inject({ }, function(results, property) { + results[property] = css[property]; + return results; }); - if (!styles.opacity) styles.set('opacity', element.getOpacity()); + if (!styles.opacity) styles.opacity = element.getOpacity(); return styles; }; }; Added: trunk/linpha2/lib/js/effects.yui.js =================================================================== --- trunk/linpha2/lib/js/effects.yui.js (rev 0) +++ trunk/linpha2/lib/js/effects.yui.js 2008-01-29 21:12:02 UTC (rev 4831) @@ -0,0 +1 @@ +String.prototype.parseColor=function(){var A="#";if(this.slice(0,4)=="rgb("){var C=this.slice(4,this.length-1).split(",");var B=0;do{A+=parseInt(C[B]).toColorPart()}while(++B<3)}else{if(this.slice(0,1)=="#"){if(this.length==4){for(var B=1;B<4;B++){A+=(this.charAt(B)+this.charAt(B)).toLowerCase()}}if(this.length==7){A=this.toLowerCase()}}}return(A.length==7?A:(arguments[0]||this))};Element.collectTextNodes=function(A){return $A($(A).childNodes).collect(function(B){return(B.nodeType==3?B.nodeValue:(B.hasChildNodes()?Element.collectTextNodes(B):""))}).flatten().join("")};Element.collectTextNodesIgnoreClass=function(A,B){return $A($(A).childNodes).collect(function(C){return(C.nodeType==3?C.nodeValue:((C.hasChildNodes()&&!Element.hasClassName(C,B))?Element.collectTextNodesIgnoreClass(C,B):""))}).flatten().join("")};Element.setContentZoom=function(A,B){A=$(A);A.setStyle({fontSize:(B/100)+"em"});if(Prototype.Browser.WebKit){window.scrollBy(0,0)}return A};Element.getInlineOpacity=function(A){return $(A).style.opacity||""};Element.forceRerendering=function(A){try{A=$(A);var C=document.createTextNode(" ");A.appendChild(C);A.removeChild(C)}catch(B){}};var Effect={_elementDoesNotExistError:{name:"ElementDoesNotExistError",message:"The specified DOM element does not exist, but is required for this effect to operate"},Transitions:{linear:Prototype.K,sinoidal:function(A){return(-Math.cos(A*Math.PI)/2)+0.5},reverse:function(A){return 1-A},flicker:function(A){var A=((-Math.cos(A*Math.PI)/4)+0.75)+Math.random()/4;return A>1?1:A},wobble:function(A){return(-Math.cos(A*Math.PI*(9*A))/2)+0.5},pulse:function(B,A){A=A||5;return(((B%(1/A))*A).round()==0?((B*A*2)-(B*A*2).floor()):1-((B*A*2)-(B*A*2).floor()))},spring:function(A){return 1-(Math.cos(A*4.5*Math.PI)*Math.exp(-A*6))},none:function(A){return 0},full:function(A){return 1}},DefaultOptions:{duration:1,fps:100,sync:false,from:0,to:1,delay:0,queue:"parallel"},tagifyText:function(A){var B="position:relative";if(Prototype.Browser.IE){B+=";zoom:1"}A=$(A);$A(A.childNodes).each(function(C){if(C.nodeType==3){C.nodeValue.toArray().each(function(D){A.insertBefore(new Element("span",{style:B}).update(D==" "?String.fromCharCode(160):D),C)});Element.remove(C)}})},multiple:function(B,C){var E;if(((typeof B=="object")||Object.isFunction(B))&&(B.length)){E=B}else{E=$(B).childNodes}var A=Object.extend({speed:0.1,delay:0},arguments[2]||{});var D=A.delay;$A(E).each(function(G,F){new C(G,Object.extend(A,{delay:F*A.speed+D}))})},PAIRS:{slide:["SlideDown","SlideUp"],blind:["BlindDown","BlindUp"],appear:["Appear","Fade"]},toggle:function(B,C){B=$(B);C=(C||"appear").toLowerCase();var A=Object.extend({queue:{position:"end",scope:(B.id||"global"),limit:1}},arguments[2]||{});Effect[B.visible()?Effect.PAIRS[C][1]:Effect.PAIRS[C][0]](B,A)}};Effect.DefaultOptions.transition=Effect.Transitions.sinoidal;Effect.ScopedQueue=Class.create(Enumerable,{initialize:function(){this.effects=[];this.interval=null},_each:function(A){this.effects._each(A)},add:function(B){var C=new Date().getTime();var A=Object.isString(B.options.queue)?B.options.queue:B.options.queue.position;switch(A){case"front":this.effects.findAll(function(D){return D.state=="idle"}).each(function(D){D.startOn+=B.finishOn;D.finishOn+=B.finishOn});break;case"with-last":C=this.effects.pluck("startOn").max()||C;break;case"end":C=this.effects.pluck("finishOn").max()||C;break}B.startOn+=C;B.finishOn+=C;if(!B.options.queue.limit||(this.effects.length<B.options.queue.limit)){this.effects.push(B)}if(!this.interval){this.interval=setInterval(this.loop.bind(this),15)}},remove:function(A){this.effects=this.effects.reject(function(B){return B==A});if(this.effects.length==0){clearInterval(this.interval);this.interval=null}},loop:function(){var C=new Date().getTime();for(var B=0,A=this.effects.length;B<A;B++){this.effects[B]&&this.effects[B].loop(C)}}});Effect.Queues={instances:$H(),get:function(A){if(!Object.isString(A)){return A}return this.instances.get(A)||this.instances.set(A,new Effect.ScopedQueue())}};Effect.Queue=Effect.Queues.get("global");Effect.Base=Class.create({position:null,start:function(options){function codeForEvent(options,eventName){return((options[eventName+"Internal"]?"this.options."+eventName+"Internal(this);":"")+(options[eventName]?"this.options."+eventName+"(this);":""))}if(options&&options.transition===false){options.transition=Effect.Transitions.linear}this.options=Object.extend(Object.extend({},Effect.DefaultOptions),options||{});this.currentFrame=0;this.state="idle";this.startOn=this.options.delay*1000;this.finishOn=this.startOn+(this.options.duration*1000);this.fromToDelta=this.options.to-this.options.from;this.totalTime=this.finishOn-this.startOn;this.totalFrames=this.options.fps*this.options.duration;eval('this.render = function(pos){ if (this.state=="idle"){this.state="running";'+codeForEvent(this.options,"beforeSetup")+(this.setup?"this.setup();":"")+codeForEvent(this.options,"afterSetup")+'};if (this.state=="running"){pos=this.options.transition(pos)*'+this.fromToDelta+"+"+this.options.from+";this.position=pos;"+codeForEvent(this.options,"beforeUpdate")+(this.update?"this.update(pos);":"")+codeForEvent(this.options,"afterUpdate")+"}}");this.event("beforeStart");if(!this.options.sync){Effect.Queues.get(Object.isString(this.options.queue)?"global":this.options.queue.scope).add(this)}},loop:function(C){if(C>=this.startOn){if(C>=this.finishOn){this.render(1);this.cancel();this.event("beforeFinish");if(this.finish){this.finish()}this.event("afterFinish");return }var B=(C-this.startOn)/this.totalTime,A=(B*this.totalFrames).round();if(A>this.currentFrame){this.render(B);this.currentFrame=A}}},cancel:function(){if(!this.options.sync){Effect.Queues.get(Object.isString(this.options.queue)?"global":this.options.queue.scope).remove(this)}this.state="finished"},event:function(A){if(this.options[A+"Internal"]){this.options[A+"Internal"](this)}if(this.options[A]){this.options[A](this)}},inspect:function(){var A=$H();for(property in this){if(!Object.isFunction(this[property])){A.set(property,this[property])}}return"#<Effect:"+A.inspect()+",options:"+$H(this.options).inspect()+">"}});Effect.Parallel=Class.create(Effect.Base,{initialize:function(A){this.effects=A||[];this.start(arguments[1])},update:function(A){this.effects.invoke("render",A)},finish:function(A){this.effects.each(function(B){B.render(1);B.cancel();B.event("beforeFinish");if(B.finish){B.finish(A)}B.event("afterFinish")})}});Effect.Tween=Class.create(Effect.Base,{initialize:function(C,F,E){C=Object.isString(C)?$(C):C;var B=$A(arguments),D=B.last(),A=B.length==5?B[3]:null;this.method=Object.isFunction(D)?D.bind(C):Object.isFunction(C[D])?C[D].bind(C):function(G){C[D]=G};this.start(Object.extend({from:F,to:E},A||{}))},update:function(A){this.method(A)}});Effect.Event=Class.create(Effect.Base,{initialize:function(){this.start(Object.extend({duration:0},arguments[0]||{}))},update:Prototype.emptyFunction});Effect.Opacity=Class.create(Effect.Base,{initialize:function(B){this.element=$(B);if(!this.element){throw (Effect._elementDoesNotExistError)}if(Prototype.Browser.IE&&(!this.element.currentStyle.hasLayout)){this.element.setStyle({zoom:1})}var A=Object.extend({from:this.element.getOpacity()||0,to:1},arguments[1]||{});this.start(A)},update:function(A){this.element.setOpacity(A)}});Effect.Move=Class.create(Effect.Base,{initialize:function(B){this.element=$(B);if(!this.element){throw (Effect._elementDoesNotExistError)}var A=Object.extend({x:0,y:0,mode:"relative"},arguments[1]||{});this.start(A)},setup:function(){this.element.makePositioned();this.originalLeft=parseFloat(this.element.getStyle("left")||"0");this.originalTop=parseFloat(this.element.getStyle("top")||"0");if(this.options.mode=="absolute"){this.options.x=this.options.x-this.originalLeft;this.options.y=this.options.y-this.originalTop}},update:function(A){this.element.setStyle({left:(this.options.x*A+this.originalLeft).round()+"px",top:(this.options.y*A+this.originalTop).round()+"px"})}});Effect.MoveBy=function(B,A,C){return new Effect.Move(B,Object.extend({x:C,y:A},arguments[3]||{}))};Effect.Scale=Class.create(Effect.Base,{initialize:function(B,C){this.element=$(B);if(!this.element){throw (Effect._elementDoesNotExistError)}var A=Object.extend({scaleX:true,scaleY:true,scaleContent:true,scaleFromCenter:false,scaleMode:"box",scaleFrom:100,scaleTo:C},arguments[2]||{});this.start(A)},setup:function(){this.restoreAfterFinish=this.options.restoreAfterFinish||false;this.elementPositioning=this.element.getStyle("position");this.originalStyle={};["top","left","width","height","fontSize"].each(function(B){this.originalStyle[B]=this.element.style[B]}.bind(this));this.originalTop=this.element.offsetTop;this.originalLeft=this.element.offsetLeft;var A=this.element.getStyle("font-size")||"100%";["em","px","%","pt"].each(function(B){if(A.indexOf(B)>0){this.fontSize=parseFloat(A);this.fontSizeType=B}}.bind(this));this.factor=(this.options.scaleTo-this.options.scaleFrom)/100;this.dims=null;if(this.options.scaleMode=="box"){this.dims=[this.element.offsetHeight,this.element.offsetWidth]}if(/^content/.test(this.options.scaleMode)){this.dims=[this.element.scrollHeight,this.element.scrollWidth]}if(!this.dims){this.dims=[this.options.scaleMode.originalHeight,this.options.scaleMode.originalWidth]}},update:function(A){var B=(this.options.scaleFrom/100)+(this.factor*A);if(this.options.scaleContent&&this.fontSize){this.element.setStyle({fontSize:this.fontSize*B+this.fontSizeType})}this.setDimensions(this.dims[0]*B,this.dims[1]*B)},finish:function(A){if(this.restoreAfterFinish){this.element.setStyle(this.originalStyle)}},setDimensions:function(A,D){var E={};if(this.options.scaleX){E.width=D.round()+"px"}if(this.options.scaleY){E.height=A.round()+"px"}if(this.options.scaleFromCenter){var C=(A-this.dims[0])/2;var B=(D-this.dims[1])/2;if(this.elementPositioning=="absolute"){if(this.options.scaleY){E.top=this.originalTop-C+"px"}if(this.options.scaleX){E.left=this.originalLeft-B+"px"}}else{if(this.options.scaleY){E.top=-C+"px"}if(this.options.scaleX){E.left=-B+"px"}}}this.element.setStyle(E)}});Effect.Highlight=Class.create(Effect.Base,{initialize:function(B){this.element=$(B);if(!this.element){throw (Effect._elementDoesNotExistError)}var A=Object.extend({startcolor:"#ffff99"},arguments[1]||{});this.start(A)},setup:function(){if(this.element.getStyle("display")=="none"){this.cancel();return }this.oldStyle={};if(!this.options.keepBackgroundImage){this.oldStyle.backgroundImage=this.element.getStyle("background-image");this.element.setStyle({backgroundImage:"none"})}if(!this.options.endcolor){this.options.endcolor=this.element.getStyle("background-color").parseColor("#ffffff")}if(!this.options.restorecolor){this.options.restorecolor=this.element.getStyle("ba... [truncated message content] |
From: <fan...@us...> - 2008-01-29 20:01:44
|
Revision: 4830 http://linpha.svn.sourceforge.net/linpha/?rev=4830&view=rev Author: fangehrn Date: 2008-01-29 12:01:16 -0800 (Tue, 29 Jan 2008) Log Message: ----------- updating some files Modified Paths: -------------- trunk/linpha2/docs/dev/TODO.txt trunk/linpha2/docs/dev/external_libraries.txt trunk/linpha2/docs/dev/linpha2.specs.txt trunk/linpha2/lib/js/LinThumbnails.js Added Paths: ----------- trunk/linpha2/lib/js/prototype/ trunk/linpha2/lib/js/scriptaculous-js/ Removed Paths: ------------- trunk/linpha2/lib/js/prototype-1.6.0/ trunk/linpha2/lib/js/scriptaculous-js-1.8.0/ trunk/linpha2/linpha2.specs.txt Modified: trunk/linpha2/docs/dev/TODO.txt =================================================================== --- trunk/linpha2/docs/dev/TODO.txt 2008-01-29 14:55:11 UTC (rev 4829) +++ trunk/linpha2/docs/dev/TODO.txt 2008-01-29 20:01:16 UTC (rev 4830) @@ -29,6 +29,11 @@ - compress javascripts (prototype and scriptaculous) they are now nearly 200KB big +- php session + limit the session cookie not only to domain, but also to full url path + we cannot use the same session in localhost/linpha1.0 and localhost/linpha2.0 + -> session_set_cookie_params() + ## Big Todos - Switch to strict mode @@ -82,9 +87,33 @@ - Bracket Support, enable by default, only if old version found, disable it, or require imagemagick > "6.1.4" +############################################################################ + Open questions +############################################################################ + +- thumbnail size, set a max size (for example 150px), to be able to switch + the size on fly + +- image cache plugin automatically turned on? + in normal image view, image is displayed javascript based the largest possible + -> we're going to have problems with the image cache, as size ever changes.. + -> we already have this problem in the slideshow + /* edit bzrudi */ + I think we should have the largest possible thumb on filesystem 300px? + smaller ones should be resized by browser. + + i'm thinking about a dynamic image cache + lets say i'm requesting an image between 800x600 and 1024x768 i will get the image 1024x768, + between 1024x768 and 1310x983 i will get an image with 1310x983 + we would have calculate a good value of the different image sizes handling thecompromise + between size of the image and difference in size + + + +############################################################################ DONE - ==== +############################################################################ - how to handle common language strings like "Successfully updated data.", "Submit", "Access denied", "Check file permissions" ?? i suggest using define('LIN_STR_SUBMIT', "Submit"); in the language file Modified: trunk/linpha2/docs/dev/external_libraries.txt =================================================================== --- trunk/linpha2/docs/dev/external_libraries.txt 2008-01-29 14:55:11 UTC (rev 4829) +++ trunk/linpha2/docs/dev/external_libraries.txt 2008-01-29 20:01:16 UTC (rev 4830) @@ -19,18 +19,6 @@ - ptviewer 3.1.2 (http://webuser.hs-furtwangen.de/~dersch/) -- gmapper 1.0 - - to avoid relative path problems: - marker(), otherMarker(), tabMarker(), linkMarker(), mapMarker(), directions(), geocode(): - replaced all - marker( ... , $img = "143.png" , ... ) - $dims = getimagesize($img); - echo "var image = new Array(\"$img\",$dims[0],$dims[1]);\n"; - with - marker( ... , $markerImage , ... ) - echo "var image = new Array(\"$markerImage[0]\",$markerImage[1],$markerImage[2]);\n"; - - increased the number of paragraphs "no image at this zoomlevel" used to auto zoom out - - PHP_JPEG_Metadata_Toolkit_1.11 CHANGES Modified: trunk/linpha2/docs/dev/linpha2.specs.txt =================================================================== --- trunk/linpha2/docs/dev/linpha2.specs.txt 2008-01-29 14:55:11 UTC (rev 4829) +++ trunk/linpha2/docs/dev/linpha2.specs.txt 2008-01-29 20:01:16 UTC (rev 4830) @@ -94,25 +94,3 @@ and use the admin login to get an impression, really cool ;-) - something simple: http://82.165.8.199/typo3cms/exotec-design.de/index.php?id=89 - -############################################################################ -Open questions -############################################################################ - -- thumbnail size, set a max size (for example 150px), to be able to switch - the size on fly - -- image cache plugin automatically turned on? - in normal image view, image is displayed javascript based the largest possible - -> we're going to have problems with the image cache, as size ever changes.. - -> we already have this problem in the slideshow - - /* edit bzrudi */ - I think we should have the largest possible thumb on filesystem 300px? - smaller ones should be resized by browser. - - i'm thinking about a dynamic image cache - lets say i'm requesting an image between 800x600 and 1024x768 i will get the image 1024x768, - between 1024x768 and 1310x983 i will get an image with 1310x983 - we would have calculate a good value of the different image sizes handling thecompromise - between size of the image and difference in size \ No newline at end of file Modified: trunk/linpha2/lib/js/LinThumbnails.js =================================================================== --- trunk/linpha2/lib/js/LinThumbnails.js 2008-01-29 14:55:11 UTC (rev 4829) +++ trunk/linpha2/lib/js/LinThumbnails.js 2008-01-29 20:01:16 UTC (rev 4830) @@ -3,7 +3,7 @@ * * check performance: var start = new Date().getTime(); - alert( (new Date().getTime() - start) ); + alert( (new Date().getTime() - start) + 'ms' ); * */ @@ -153,6 +153,23 @@ * see also http://www.softwaresecretweapons.com/jspwiki/Wiki.jsp?page=JavascriptStringConcatenation !! * * update: using the DOM functions with createElement etc. we would be at least 2 times slower!! + * + * this is the way to go: + var i, j, el, idx, html; + idx = 0; + html = []; + html[idx++] = "<table>"; + for (i = 0; i < 1000; i++) { + html[idx++] = "<tr>"; + for (j = 0; j < 5; j++) { + html[idx++] = "<td></td>"; + } + html[idx++] = "</tr>"; + } + html[idx++] = "</table>"; + el = document.createElement("div"); + document.body.appendChild(el); + el.innerHTML = html.join(""); */ if( (img_nr-1) % nr_cols == 0) { Copied: trunk/linpha2/lib/js/prototype (from rev 4811, trunk/linpha2/lib/js/prototype-1.6.0) Copied: trunk/linpha2/lib/js/scriptaculous-js (from rev 4811, trunk/linpha2/lib/js/scriptaculous-js-1.8.0) Deleted: trunk/linpha2/linpha2.specs.txt =================================================================== --- trunk/linpha2/linpha2.specs.txt 2008-01-29 14:55:11 UTC (rev 4829) +++ trunk/linpha2/linpha2.specs.txt 2008-01-29 20:01:16 UTC (rev 4830) @@ -1,118 +0,0 @@ -LinPHA2 Specs -11. Sept. 2005 by bzrudi - -Part 1: Overview -============================================================================== -These are my first ideas about LinPHA2. Things may (will) change as -days go by. The two most important things when talking about LinPHA2 are the -new XHTML/CSS layout for easier customization and the classed based rewrite. - - -Part 2: Features -============================================================================== - -Must Have: -- XHTML/CCS layout (even the menu?) - - don't think about wether to place the folder structure on the left or right side - -> make both (and a lot other) possible with css!!! -- new installer -- unlimited subfolders -- new permission framework (take care of subfolders too) -- option to have thumbs stored in FS rather than in DB (speed improvement) -- sort images by EXIF date -- make LinPHA "includeable" do no longer require to run as standalone app -- provide a clean plugin interface -- complete new, clean and fast DB design (incl. table structures) -- remove need to place images under /albums (windows users can't symlink) - In other words, don't hardcode -- port most of the 1.0 features - -Nice To Have: -- user upload directories -- auto rotate images by EXIF header -- and some of the features already in the RFEs - -Part 3: Coding -============================================================================== -- PHP >= 5.0 only (make use of the new OOP features, exceptions, protected - methods, new constuctor and so on) -- lang files as arrays, no longer just vars -- only class based -- phpDocumentor style documentation for *ALL* classes methods and headers - (this is required for an clean API documentation, which is very important!) -- all own methods get a "lin" prefix, class names start Uppercase -- would be nice if we can define some coding format - - wether to use single or doulbe quotes in html attributes (maybe..) - - which function to use to encode html data - all php output where quotes and other signs may break the html design - (except ids and md5sums) needs to be encoded - which function to use? - - urlencode() -> doesn't work in <a href="" title="<?php echo $title; ?>"> - - rawurlencode() - - htmlspecialchars() -> will use this: htmlspecialchars($str, ENT_QUOTES) - - htmlentities() - - smart_htmlspecialchars() from phpmeta used several times in forms in linpha1 - ? - - ? -- php session - limit the session cookie not only to domain, but also to full url path - we cannot use the same session in localhost/linpha1.0 and localhost/linpha2.0 - -> session_set_cookie_params() - -Part 4: External Libs -============================================================================== -- AdoDB DB Abstraction Layer (maybe we will switch to PHP 5.1 internal - abstraction layer later, so make sure not to use to much of AdoDB specific - features which will require a rewrite later ;-)) -- PHPmailer for all email stuff -- PHPmeta for all the EXIF/IPTC stuff -- getID3 for all Video stuff -- PHPThumb for all image related manipulation (needs testing!) - - Links: - CSS/ Javascript - - Rounded Corners http://kalsey.com/2003/07/rounded_corners_in_css/ - - Menu http://www.tanfa.co.uk/css/examples/menu/tutorial-h.asp - - CSS Zen Garden http://www.csszengarden.com/tr/deutsch - - Float Tutorial http://css.maxdesign.com.au/floatutorial/ - - CSS Layouts, sehr ausfuehrlich http://www.thestyleworks.de/tut-art/layout_div.shtml - - http://www.quirksmode.org/viewport/ !! - - min-/max-width in IE: http://www.cssplay.co.uk/boxes/minwidth.html - http://www.svendtofte.com/code/max_width_in_ie/ - - Fenster ueberwachen http://de.selfhtml.org/javascript/beispiele/fensterueberwachen.htm - - -Part 5. main menu -============================================================================ -- use a css only menu? -- use something like this: http://www.milonic.com/mfa/2004-February/003609.html ? - (looks really nice) - /* edit bzrudi */ - - looks pretty good but isn't under the terms of the GPL) - A good (well working) replacement may be the admin menu from the Joomla CMS, see - http://opensourcecms.com/index.php?option=com_content&task=view&id=2097 - and use the admin login to get an impression, really cool ;-) - -- something simple: http://82.165.8.199/typo3cms/exotec-design.de/index.php?id=89 - -############################################################################ -Open questions -############################################################################ - -- thumbnail size, set a max size (for example 150px), to be able to switch - the size on fly - -- image cache plugin automatically turned on? - in normal image view, image is displayed javascript based the largest possible - -> we're going to have problems with the image cache, as size ever changes.. - -> we already have this problem in the slideshow - - /* edit bzrudi */ - I think we should have the largest possible thumb on filesystem 300px? - smaller ones should be resized by browser. - - i'm thinking about a dynamic image cache - lets say i'm requesting an image between 800x600 and 1024x768 i will get the image 1024x768, - between 1024x768 and 1310x983 i will get an image with 1310x983 - we would have calculate a good value of the different image sizes handling thecompromise - between size of the image and difference in size \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fan...@us...> - 2008-01-29 14:55:22
|
Revision: 4829 http://linpha.svn.sourceforge.net/linpha/?rev=4829&view=rev Author: fangehrn Date: 2008-01-29 06:55:11 -0800 (Tue, 29 Jan 2008) Log Message: ----------- Modified Paths: -------------- trunk/misc/design/22menuJSCook/indexJSEffectFade.php trunk/misc/design/info.txt Added Paths: ----------- trunk/misc/design/22menuJSCook/indexJSEffectFadeGray.php trunk/misc/design/23menuDynMenu/ trunk/misc/design/23menuDynMenu/browserdetect.js trunk/misc/design/23menuDynMenu/dynMenu.js trunk/misc/design/23menuDynMenu/global.css trunk/misc/design/23menuDynMenu/home.css trunk/misc/design/23menuDynMenu/index.php trunk/misc/design/23menuDynMenu/menu.css trunk/misc/design/23menuDynMenu/menuHorizontal.html trunk/misc/design/23menuDynMenu/menuVertical.html trunk/misc/design/23menuDynMenu/menuv.css Modified: trunk/misc/design/22menuJSCook/indexJSEffectFade.php =================================================================== --- trunk/misc/design/22menuJSCook/indexJSEffectFade.php 2008-01-29 11:13:55 UTC (rev 4828) +++ trunk/misc/design/22menuJSCook/indexJSEffectFade.php 2008-01-29 14:55:11 UTC (rev 4829) @@ -20,6 +20,9 @@ <script type="text/javascript" src="./JSCookMenu/JSCookMenu.js"></script> <script type="text/javascript" src="./JSCookMenu/effect.js"></script> + +<!-- <script type="text/javascript" src="./JSCookMenu/JSCookMenuPacked4.js"></script> --> + <link rel="stylesheet" href="./JSCookMenu/ThemePanelLinpha/theme.css" type="text/css"> <script type="text/javascript" src="./JSCookMenu/ThemePanelLinpha/theme.js"></script> <script type="text/javascript"> @@ -29,9 +32,9 @@ [null, 'Home', '/linpha2/?&linCat=alb', null, 'Home'], _cmSplit, ['<img src="/linpha2/lib/graphics/xmag.jpg" width="15" height="15" />', 'Search', null, null, 'Search', - [null, 'Extended Search', '/linpha2/?&linCat=search', null, 'Click here for detailed search options'], + [_cmNoClick, '<td class="ThemePanelMenuItemLeft"></td><td colspan="2"><form action=""><input type="text" size="10" name="searchwhat" value=""/><input type="submit" value="search" /></form></td>'], _cmSplit, - [_cmNoClick, '<td class="ThemePanelMenuItemLeft"></td><td colspan="2"><form action=""><input type="text" size="10" value="jscookmenu"/><input type="button" value="Google" onclick="googleSearch(this.previousSibling)"/></form></td>'] + [null, 'Extended Search', '/linpha2/?&linCat=search', null, 'Click here for detailed search options'] ], _cmSplit, [null, 'Login', null, null, 'Login description'], Added: trunk/misc/design/22menuJSCook/indexJSEffectFadeGray.php =================================================================== --- trunk/misc/design/22menuJSCook/indexJSEffectFadeGray.php (rev 0) +++ trunk/misc/design/22menuJSCook/indexJSEffectFadeGray.php 2008-01-29 14:55:11 UTC (rev 4829) @@ -0,0 +1,188 @@ +<?php +header('content-type: text/html; charset: utf-8'); +/*echo '<?xml version="1.0" encoding="utf-8"?>'."\n"; not necessary, IE has problems with this*/ +?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=UTF-8"> + +<title>Linpha 2.0</title> + +<!-- css includes --> + +<link rel='stylesheet' href='../14cornersSchill/colorsettings.php?bg=87CEFA&bodybg=DDDDDD&font=000000&albumsbg=D5FCF4&links=005388&linkshover=666666&fieldscolor=CCCCCC' type='text/css'> +<link rel='stylesheet' href='./global.css' type='text/css'> +<link rel='stylesheet' href='./home.css' type='text/css'> + +<link rel="stylesheet" href="../14cornersSchill/roundCorners.css" media="screen" /> + +<script type="text/javascript" src="./JSCookMenu/JSCookMenu.js"></script> +<script type="text/javascript" src="./JSCookMenu/effect.js"></script> +<link rel="stylesheet" href="./JSCookMenu/ThemeGray/theme.css" type="text/css"> +<script type="text/javascript" src="./JSCookMenu/ThemeGray/theme.js"></script> +<script type="text/javascript"> +<!-- +var myMenu = +[ + [null, 'Home', '/linpha2/?&linCat=alb', null, 'Home'], + ['<img src="/linpha2/lib/graphics/xmag.jpg" width="15" height="15" />', 'Search', null, null, 'Search', + [null, 'Extended Search', '/linpha2/?&linCat=search', null, 'Click here for detailed search options'], + _cmSplit, + [_cmNoClick, '<td class="ThemePanelMenuItemLeft"></td><td colspan="2"><form action=""><input type="text" size="10" value="jscookmenu"/><input type="button" value="Google" onclick="googleSearch(this.previousSibling)"/></form></td>'] + ], + [null, 'Login', null, null, 'Login description'], + [null, 'More', null, null, 'Some more options', + [null, 'Basket', null, null, 'Download/Mail/Print a batch of images', + [null, 'Add All To Basket', 'url', 'target', 'description'], + [null, 'Switch To Basket View', 'url', 'target', 'description'], + [null, 'Open Basket (0 Images)', 'url', 'target', 'description'] + ], + [null, 'View', null, null, 'description', + [null, 'Sort', 'url', 'target', 'description', + [null, 'Name Asc', 'url', 'target', 'description'], + [null, 'Name Desc', 'url', 'target', 'description'], + [null, 'Date Asc', 'url', 'target', 'description'], + [null, 'Date Desc', 'url', 'target', 'description'] + ], + [null, 'View', 'url', 'target', 'description', + [null, 'Normal', 'url', 'target', 'description'], + [null, 'Detail', 'url', 'target', 'description'] + ], + [null, 'Thumb Size', 'url', 'target', 'description', + [null, '50 Pixel', 'url', 'target', 'description'], + [null, '75 Pixel', 'url', 'target', 'description'], + [null, '100 Pixel', 'url', 'target', 'description'], + [null, '150 Pixel', 'url', 'target', 'description'], + [null, '200 Pixel', 'url', 'target', 'description'], + [null, '250 Pixel', 'url', 'target', 'description'], + [null, '300 Pixel', 'url', 'target', 'description'], + [null, '400 Pixel', 'url', 'target', 'description'], + [null, '500 Pixel', 'url', 'target', 'description'] + ], + [null, 'Thumb Nr', 'url', 'target', 'description' + [null, 'auto', 'url', 'target', 'description'], + [null, '10', 'url', 'target', 'description'], + [null, '25', 'url', 'target', 'description'], + [null, '50', 'url', 'target', 'description'], + [null, '100', 'url', 'target', 'description'], + [null, '200', 'url', 'target', 'description'], + [null, 'all', 'url', 'target', 'description'] + ] + ], + ], + _cmSplit, + /*['<img src="../slideshow.png" />', '', null, null, 'Start Slideshow'], + _cmSplit,*/ + [null, 'My Settings', null, null, ''], + [null, 'Admin', null, null, ''] +]; +--> +</script> + +</head> + + +<body id="linBody"> + +<div id="myMenuID" style="margin-left: 50px;"></div> + +<script type="text/javascript"> +<!-- +var prop = cmClone (cmThemeGray); +prop.effect = new CMFadingEffect (8, 4); +cmDraw ('myMenuID', myMenu, 'hbr', prop); +--> +</script> + + +<div id="linDivMainOuter" class="linCorn linCornMain"> + <div class="linCornC"> + <div class="linCornT"></div> + + <div id="linDivMain"> + <h1 class="linStyle">Willkommen</h1>Hi, this is the home of "The PHP Photo Archive" <a href="http://linpha.sf.net">aka LinPHA</a>.<br /><br /> + + <!-- Random Images --> + + <!-- New Images --> + + <!-- Browse by Date --> + + <!-- Albums --> + <hr class="linStyle" /> + + <h1 class="linStyle">Alben</h1> + + <div class="linCorn linCornFolder"> + <div class="linCornC"> + <div class="linCornT"></div> + + <div class="linDivFolder"> + + <div class="linDivThumbnail"> + <a href="/linpha2/?&linCat=alb&linId=4"><img class="linImgFolderThumbnail" src="../thumb1.gif" alt="thumbnail_album" /></a> + </div> + <div class="linDivFolderText"> + <h2 class="linStyle"><a href="/linpha2/?&linCat=alb&linId=4">2005.05.14-16 Barcelona</a></h2> + Di 25. Dez 2007 19:08:13<br />0 Fotos<br /> + </div> + <div style="clear: both;"></div> + + </div> + + </div> + <div class="linCornB"><div></div></div> + </div> + + <div class="linCorn linCornFolder"> + <div class="linCornC"> + <div class="linCornT"></div> + + <div class="linDivFolder"> + + <div class="linDivThumbnail"> + <a href="/linpha2/?&linCat=alb&linId=4"><img class="linImgFolderThumbnail" src="../thumb2.gif" alt="thumbnail_album" /></a> + </div> + <div class="linDivFolderText"> + <h2 class="linStyle"><a href="/linpha2/?&linCat=alb&linId=4">2007.07-14-28 Fuerteventura</a></h2> + Di 25. Dez 2007 19:08:13<br />0 Fotos<br /> + </div> + <div style="clear: both;"></div> + + </div> + </div> + <div class="linCornB"><div></div></div> + </div> + + <div class="linCorn linCornFolder"> + <div class="linCornC"> + <div class="linCornT"></div> + + <div class="linDivFolder"> + + <div class="linDivThumbnail"> + <a href="/linpha2/?&linCat=alb&linId=4"><img class="linImgFolderThumbnail" src="../thumb3.gif" alt="thumbnail_album" /></a> + </div> + <div class="linDivFolderText"> + <h2 class="linStyle"><a href="/linpha2/?&linCat=alb&linId=4">2007.12.15-16 Skifahren Samnaun</a></h2> + Di 25. Dez 2007 19:08:13<br />0 Fotos<br /> + </div> + <div style="clear: both;"></div> + + </div> + </div> + <div class="linCornB"><div></div></div> + </div> + + <br /> + </div> + + </div> + <div class="linCornB"><div></div></div> +</div> + +</body> +</html> + Added: trunk/misc/design/23menuDynMenu/browserdetect.js =================================================================== --- trunk/misc/design/23menuDynMenu/browserdetect.js (rev 0) +++ trunk/misc/design/23menuDynMenu/browserdetect.js 2008-01-29 14:55:11 UTC (rev 4829) @@ -0,0 +1,97 @@ +// Browser Detect Lite v2.1.4 +// http://www.dithered.com/javascript/browser_detect/index.html +// modified by Chris Nott (ch...@NO... - remove NOSPAM) + + +function BrowserDetectLite() { + var ua = navigator.userAgent.toLowerCase(); + + // browser name + this.isGecko = (ua.indexOf('gecko') != -1 && ua.indexOf('safari') == -1); + this.isMozilla = (this.isGecko && ua.indexOf('gecko/') + 14 == ua.length); + this.isNS = ( (this.isGecko) ? (ua.indexOf('netscape') != -1) : ( (ua.indexOf('mozilla') != -1) && (ua.indexOf('spoofer') == -1) && (ua.indexOf('compatible') == -1) && (ua.indexOf('opera') == -1) && (ua.indexOf('webtv') == -1) && (ua.indexOf('hotjava') == -1) ) ); + this.isIE = ( (ua.indexOf('msie') != -1) && (ua.indexOf('opera') == -1) && (ua.indexOf('webtv') == -1) ); + this.isSafari = (ua.indexOf('safari') != - 1); + this.isOpera = (ua.indexOf('opera') != -1); + this.isKonqueror = (ua.indexOf('konqueror') != -1 && !this.isSafari); + this.isIcab = (ua.indexOf('icab') != -1); + this.isAol = (ua.indexOf('aol') != -1); + + // spoofing and compatible browsers + this.isIECompatible = ( (ua.indexOf('msie') != -1) && !this.isIE); + this.isNSCompatible = ( (ua.indexOf('mozilla') != -1) && !this.isNS && !this.isMozilla); + + // browser version + this.versionMinor = parseFloat(navigator.appVersion); + + // correct version number + if (this.isNS && this.isGecko) { + this.versionMinor = parseFloat( ua.substring( ua.lastIndexOf('/') + 1 ) ); + } + else if (this.isIE && this.versionMinor >= 4) { + this.versionMinor = parseFloat( ua.substring( ua.indexOf('msie ') + 5 ) ); + } + else if (this.isMozilla) { + this.versionMinor = parseFloat( ua.substring( ua.indexOf('rv:') + 3 ) ); + } + else if (this.isSafari) { + this.versionMinor = parseFloat( ua.substring( ua.lastIndexOf('/') + 1 ) ); + } + else if (this.isOpera) { + if (ua.indexOf('opera/') != -1) { + this.versionMinor = parseFloat( ua.substring( ua.indexOf('opera/') + 6 ) ); + } + else { + this.versionMinor = parseFloat( ua.substring( ua.indexOf('opera ') + 6 ) ); + } + } + else if (this.isKonqueror) { + this.versionMinor = parseFloat( ua.substring( ua.indexOf('konqueror/') + 10 ) ); + } + else if (this.isIcab) { + if (ua.indexOf('icab/') != -1) { + this.versionMinor = parseFloat( ua.substring( ua.indexOf('icab/') + 6 ) ); + } + else { + this.versionMinor = parseFloat( ua.substring( ua.indexOf('icab ') + 6 ) ); + } + } + + this.versionMajor = parseInt(this.versionMinor); + this.geckoVersion = ( (this.isGecko) ? ua.substring( (ua.lastIndexOf('gecko/') + 6), (ua.lastIndexOf('gecko/') + 14) ) : -1 ); + + // dom support + this.isDOM1 = (document.getElementById); + this.isDOM2Event = (document.addEventListener && document.removeEventListener); + + // css compatibility mode + this.mode = document.compatMode ? document.compatMode : 'BackCompat'; + + // platform + this.isWin = (ua.indexOf('win') != -1); + this.isWin32 = (this.isWin && ( ua.indexOf('95') != -1 || ua.indexOf('98') != -1 || ua.indexOf('nt') != -1 || ua.indexOf('win32') != -1 || ua.indexOf('32bit') != -1 || ua.indexOf('xp') != -1) ); + this.isMac = (ua.indexOf('mac') != -1); + this.isUnix = (ua.indexOf('unix') != -1 || ua.indexOf('sunos') != -1 || ua.indexOf('bsd') != -1 || ua.indexOf('x11') != -1) + this.isLinux = (ua.indexOf('linux') != -1); + + // specific browser shortcuts + this.isNS4x = (this.isNS && this.versionMajor == 4); + this.isNS40x = (this.isNS4x && this.versionMinor < 4.5); + this.isNS47x = (this.isNS4x && this.versionMinor >= 4.7); + this.isNS4up = (this.isNS && this.versionMinor >= 4); + this.isNS6x = (this.isNS && this.versionMajor == 6); + this.isNS6up = (this.isNS && this.versionMajor >= 6); + this.isNS7x = (this.isNS && this.versionMajor == 7); + this.isNS7up = (this.isNS && this.versionMajor >= 7); + + this.isIE4x = (this.isIE && this.versionMajor == 4); + this.isIE4up = (this.isIE && this.versionMajor >= 4); + this.isIE5x = (this.isIE && this.versionMajor == 5); + this.isIE55 = (this.isIE && this.versionMinor == 5.5); + this.isIE5up = (this.isIE && this.versionMajor >= 5); + this.isIE6x = (this.isIE && this.versionMajor == 6); + this.isIE6up = (this.isIE && this.versionMajor >= 6); + + this.isIE4xMac = (this.isIE4x && this.isMac); +} +var browser = new BrowserDetectLite(); Added: trunk/misc/design/23menuDynMenu/dynMenu.js =================================================================== --- trunk/misc/design/23menuDynMenu/dynMenu.js (rev 0) +++ trunk/misc/design/23menuDynMenu/dynMenu.js 2008-01-29 14:55:11 UTC (rev 4829) @@ -0,0 +1,153 @@ +/* +Author : bieler batiste +Company : doSimple : http://www.dosimple.ch +send me a mail for more informations : fa...@PA... - remove ( PASDEPOURRIEL ) + +Short javascript function to create and handle a CSS navigation menu + +Copyright (C) 2004 Bieler Batiste + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ + +// the timeout for the menu +var timeout = 1000; + +// not very clean but simple +// the function can be run in the HTML for faster display +// window.onload=initMenu; + +// creat timeout variables for list item +// it's for avoid some warning with IE +for( var i = 0; i < 100; i++ ) +{ + eval("var timeoutli" + i + " = false;"); +} + +// this fonction apply the CSS style and the event +function initMenu() +{ + // a test to avoid some browser like IE4, Opera 6, and IE Mac + if ( browser.isDOM1 + && !( browser.isMac && browser.isIE ) + && !( browser.isOpera && browser.versionMajor < 7 ) + && !( browser.isIE && browser.versionMajor < 5 ) ) + { + // get some element + var menu = document.getElementById('menu'); // the root element + var lis = menu.getElementsByTagName('li'); // all the li + + // change the class name of the menu, + // it's usefull for compatibility with old browser + menu.className='menu'; + + // i am searching for ul element in li element + for ( var i=0; i<lis.length; i++ ) + { + // is there a ul element ? + if ( lis.item(i).getElementsByTagName('ul').length > 0 ) + { + // improve IE key navigation + if ( browser.isIE ) + { + addAnEvent(lis.item(i),'keyup',show); + } + // link events to list item + addAnEvent(lis.item(i),'mouseover',show); + addAnEvent(lis.item(i),'mouseout',timeoutHide); + addAnEvent(lis.item(i),'blur',timeoutHide); + addAnEvent(lis.item(i),'focus',show); + + // add an id to list item + lis.item(i).setAttribute( 'id', "li"+i ); + } + } + } +} + +function addAnEvent( target, eventName, functionName ) +{ + // apply the method to IE + if ( browser.isIE ) + { + //attachEvent dont work properly with this + eval('target.on'+eventName+'=functionName'); + } + // apply the method to DOM compliant browsers + else + { + target.addEventListener( eventName , functionName , true ); // true is important for Opera7 + } +} + +// hide the first ul element of the current element +function timeoutHide() +{ + // start the timeout + eval( "timeout" + this.id + " = window.setTimeout('hideUlUnder( \"" + this.id + "\" )', " + timeout + " );"); +} + +// hide the ul elements under the element identified by id +function hideUlUnder( id ) +{ + document.getElementById(id).getElementsByTagName('ul')[0].style['visibility'] = 'hidden'; +} + +// show the first ul element found under this element +function show() +{ + // show the sub menu + this.getElementsByTagName('ul')[0].style['visibility'] = 'visible'; + var currentNode=this; + while(currentNode) + { + if( currentNode.nodeName=='LI') + { + currentNode.getElementsByTagName('a')[0].className = 'linkOver'; + } + currentNode=currentNode.parentNode; + } + // clear the timeout + eval ( "clearTimeout( timeout"+ this.id +");" ); + hideAllOthersUls( this ); +} + +// hide all ul on the same level of this list item +function hideAllOthersUls( currentLi ) +{ + var lis = currentLi.parentNode; + for ( var i=0; i<lis.childNodes.length; i++ ) + { + if ( lis.childNodes[i].nodeName=='LI' && lis.childNodes[i].id != currentLi.id ) + { + hideUlUnderLi( lis.childNodes[i] ); + } + } +} + +// hide all the ul wich are in the li element +function hideUlUnderLi( li ) +{ + var as = li.getElementsByTagName('a'); + for ( var i=0; i<as.length; i++ ) + { + as.item(i).className=""; + } + var uls = li.getElementsByTagName('ul'); + for ( var i=0; i<uls.length; i++ ) + { + uls.item(i).style['visibility'] = 'hidden'; + } +} Added: trunk/misc/design/23menuDynMenu/global.css =================================================================== --- trunk/misc/design/23menuDynMenu/global.css (rev 0) +++ trunk/misc/design/23menuDynMenu/global.css 2008-01-29 14:55:11 UTC (rev 4829) @@ -0,0 +1,138 @@ +<!-- +/** + * common definitions + * All 'em' calculations are based on 1 px = 0.0626em + */ + + #linBody { + font-family: arial, helvetica, sans-serif; + margin: 10px; + padding: 0px; + } + + + h1.linStyle { + font-size: 1.5em; + font-family: Verdana, Arial, Helvetica, sans-serif; + margin: 0px; + margin-top: 0px; + margin-bottom: 5px; + padding: 0px; + } + + h2.linStyle { + font-size: 1.2em; + font-family: Verdana, Arial, Helvetica, sans-serif; + margin: 0px; + margin-top: 0px; + margin-bottom: 5px; + padding: 0px; + } + + /** + * link button + */ + .linButton { + /*cursor: pointer; + border: 0; + font-size: 0.8em; + text-decoration: underline;*/ + } + + +/** + * title + */ + #linDivTitle + { + margin: 0; + margin-bottom: 20px; + margin-left: 90px; + + font-size: 2em; + } + #linDivTitle a:link, #linDivTitle a:visited, #linDivTitle a:hover + { + color: #444444; + text-decoration: none; + } + #linDivTitle a:hover + { + text-decoration: underline; + } + +/** + * navigation + */ + #linDivNavigationOuter { + margin: 0; + margin-bottom: 10px; + padding: 0; + } + #linDivNavigation + { + margin: 0; + padding: 5px; + } + +/** + * main + */ + /*#linDivMainOuter { + margin: 0; + padding: 0; + } + #linDivMain { + margin: 0; + padding: 0px; + padding-left: 10px; + padding-right: 10px; + }*/ + +/** + * folder (used in home view, and maybe as subfolders) + * background-color and border-color are set in colorsettings.php + */ + .linDivFolder { + margin: 5px 5px 0px 5px; + padding: 10px 0 0 0; + + /*width: 700px;*/ + } + + .linDivThumbnail { + height: 140px; + float: left; + } + + .linImgFolderThumbnail { + margin: 0; + margin-left: 20px; + margin-right: 30px; + margin-top: 5px; + padding: 0; + + width: 130px; + height: 130px; + + border: 0; + } + + .linDivFolderText { + margin: 0; + padding: 5px; + } + + .linDivFolderComment { + overflow: auto; + max-height: 300px; + + margin: 0; + margin-top: 10px; + margin-bottom: 10px; + padding: 0; + + /* word-wrap: break-word; fix ie to force width, but creates warnings in firefox !!! */ + } + +--> \ No newline at end of file Added: trunk/misc/design/23menuDynMenu/home.css =================================================================== --- trunk/misc/design/23menuDynMenu/home.css (rev 0) +++ trunk/misc/design/23menuDynMenu/home.css 2008-01-29 14:55:11 UTC (rev 4829) @@ -0,0 +1,18 @@ + +hr.linStyle { + clear: both; +} + +.linDivRandomimg, .linDivNewimg { + float: left; + margin-left: 40px; +} + +.linImgRandomimg, .linImgNewimg { + border: 0; +} + +.linDivFolder a +{ + text-decoration: none; +} \ No newline at end of file Added: trunk/misc/design/23menuDynMenu/index.php =================================================================== --- trunk/misc/design/23menuDynMenu/index.php (rev 0) +++ trunk/misc/design/23menuDynMenu/index.php 2008-01-29 14:55:11 UTC (rev 4829) @@ -0,0 +1,231 @@ +<?php +header('content-type: text/html; charset: utf-8'); +/*echo '<?xml version="1.0" encoding="utf-8"?>'."\n"; not necessary, IE has problems with this*/ +?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=UTF-8"> + +<title>Linpha 2.0</title> + +<!-- css includes --> + +<link rel='stylesheet' href='../14cornersSchill/colorsettings.php?bg=87CEFA&bodybg=DDDDDD&font=000000&albumsbg=D5FCF4&links=005388&linkshover=666666&fieldscolor=CCCCCC' type='text/css'> +<link rel='stylesheet' href='./global.css' type='text/css'> +<link rel='stylesheet' href='./home.css' type='text/css'> + +<link rel="stylesheet" href="../14cornersSchill/roundCorners.css" media="screen" /> + +<script type="text/javascript" src="dynMenu.js"></script> +<script type="text/javascript" src="browserdetect.js"></script> +<link rel="stylesheet" href="menu.css" media="screen" /> + +</head> + + +<body id="linBody"> + + +<!-- menu --> +<div id="linDivMenu"> + <ul id="menu"> + <li><a href="/linpha2/?&linCat=alb">Home</a></li> + <li><span>Suche </span> + <ul> + <li><a href="/linpha2/?&linCat=search">Extended Search</a></li> + <li> + <div> + <form method="GET" action="/linpha2/?&linCat=search"> + <input type="text" class="linForms" name="search_text" value="" /> + <input type="hidden" name="button[meta][all]" value="1" /> + + <input type="hidden" name="cmd" value="search" /> + <input type="hidden" name="linCat" value="search" /> + <input type="submit" name="submit" class="linButton linInputMenu" value="Suche" /> + </form> + </div> + </li> + </ul> + </li> + <li> + <span>Login </span> + <ul id="linMenuLogin"> + <li> + <div> + <form action="" method="POST" onsubmit="new Ajax.Updater('linDivMenu', LINPHA_CLIENT + '/?linCat=ajax&reloadmenu&linId='+IdCurrent, {method: 'post', asynchronous:true, parameters:Form.serialize(this), evalScripts:true}); return false;"> + <!-- login infos --> + <br /> + <label for="linFormUsername" style="display: block; float: left; width: 80px;">Username: </label><input style="width: 105px;" class="linForms" type="text" name="username" value="" id="linFormUsername" /><br /> + <label for="linFormPassword" style="display: block; float: left; width: 80px;">Password: </label><input style="width: 105px;" class="linForms" type="password" name="password" value="" id="linFormPassword" /><br /> + <input type="checkbox" name="rememberme" value="true" id="linFormCheckboxRemember" /><label for="linFormCheckboxRemember">Remember Me</label> <input type="hidden" name="cmd" value="login" /> + <input type="submit" name="submit" class="linButton linInputMenu" value="Login" /><br /><br /> + <div style="font-size: smaller; border: 0px;">Um sich anmelden zu können, müssen Cookies aktiviert sein.</div> + </form> + </div> + </li> + </ul> + </li> + <li><span>More </span> + <ul id="linMenuMore"> + <li><span>Basket </span> + <ul> + <li><a href="/linpha2/?&linCat=alb&linId=4&admin_cmd=basket_add_all">Add All To Basket</a></li> + + <li><a href="/linpha2/?&linCat=alb&linId=4&view=basket">Switch To Basket View</a></li> + <li><a href="/linpha2/?&linCat=basket">Open Basket (0 Images)</a></li> + </ul> + </li> + <li><span>Ansicht </span> + <ul> + <li><span>Sort </span> + + <ul> + <li><a href="/linpha2/?&linCat=alb&linId=4&order_by=Name Asc">Name Asc</a></li> + <li><a href="/linpha2/?&linCat=alb&linId=4&order_by=Name Desc">Name Desc</a></li> + <li><a href="/linpha2/?&linCat=alb&linId=4&order_by=Date Asc">Date Asc</a></li> + <li><a href="/linpha2/?&linCat=alb&linId=4&order_by=Date Desc">Date Desc</a></li> + </ul> + </li> + + <li><span>Ansicht </span> + <ul> + <li><a href="/linpha2/?&linCat=alb&linId=4&view=thumb">Normal</a></li> + <li><a href="/linpha2/?&linCat=alb&linId=4&view=thumbdetail">Detail</a></li> + </ul> + </li> + <li><span>Thumb Size </span> + + <ul> + <li><a href="javascript:myLinThumbnails.setTnSize(50)">50 Pixel</a></li> + <li><a href="javascript:myLinThumbnails.setTnSize(75)">75 Pixel</a></li> + <li><a href="javascript:myLinThumbnails.setTnSize(100)">100 Pixel</a></li> + <li><a href="javascript:myLinThumbnails.setTnSize(150)">150 Pixel</a></li> + <li><a href="javascript:myLinThumbnails.setTnSize(200)">200 Pixel</a></li> + + <li><a href="javascript:myLinThumbnails.setTnSize(250)">250 Pixel</a></li> + <li><a href="javascript:myLinThumbnails.setTnSize(300)">300 Pixel</a></li> + <li><a href="javascript:myLinThumbnails.setTnSize(400)">400 Pixel</a></li> + <li><a href="javascript:myLinThumbnails.setTnSize(500)">500 Pixel</a></li> + </ul> + </li> + <li><span>Thumb Nr </span> + + <ul> + <li><a href="javascript:myLinThumbnails.setNrImages('auto')">auto</a></li> + <li><a href="javascript:myLinThumbnails.setNrImages('10')">10</a></li> + <li><a href="javascript:myLinThumbnails.setNrImages('25')">25</a></li> + <li><a href="javascript:myLinThumbnails.setNrImages('50')">50</a></li> + <li><a href="javascript:myLinThumbnails.setNrImages('100')">100</a></li> + + <li><a href="javascript:myLinThumbnails.setNrImages('200')">200</a></li> + <li><a href="javascript:myLinThumbnails.setNrImages('all')">all</a></li> + </ul> + </li> + </ul> + </li> + </ul> + </li> + </ul> + <!-- icons --> + <div> + <a href="javascript:myLinThumbnails.loadSlideshow()"><img src="../slideshow.png" border="0" title="Play Slideshow" /></a> + </div> +</div> + +<script type="text/javascript"> + initMenu(); +</script> + +<br /><br /><br /><br /><br /><br /><br /> + +<div id="linDivMainOuter" class="linCorn linCornMain"> + <div class="linCornC"> + <div class="linCornT"></div> + + <div id="linDivMain"> + <h1 class="linStyle">Willkommen</h1>Hi, this is the home of "The PHP Photo Archive" <a href="http://linpha.sf.net">aka LinPHA</a>.<br /><br /> + + <!-- Random Images --> + + <!-- New Images --> + + <!-- Browse by Date --> + + <!-- Albums --> + <hr class="linStyle" /> + + <h1 class="linStyle">Alben</h1> + + <div class="linCorn linCornFolder"> + <div class="linCornC"> + <div class="linCornT"></div> + + <div class="linDivFolder"> + + <div class="linDivThumbnail"> + <a href="/linpha2/?&linCat=alb&linId=4"><img class="linImgFolderThumbnail" src="../thumb1.gif" alt="thumbnail_album" /></a> + </div> + <div class="linDivFolderText"> + <h2 class="linStyle"><a href="/linpha2/?&linCat=alb&linId=4">2005.05.14-16 Barcelona</a></h2> + Di 25. Dez 2007 19:08:13<br />0 Fotos<br /> + </div> + <div style="clear: both;"></div> + + </div> + + </div> + <div class="linCornB"><div></div></div> + </div> + + <div class="linCorn linCornFolder"> + <div class="linCornC"> + <div class="linCornT"></div> + + <div class="linDivFolder"> + + <div class="linDivThumbnail"> + <a href="/linpha2/?&linCat=alb&linId=4"><img class="linImgFolderThumbnail" src="../thumb2.gif" alt="thumbnail_album" /></a> + </div> + <div class="linDivFolderText"> + <h2 class="linStyle"><a href="/linpha2/?&linCat=alb&linId=4">2007.07-14-28 Fuerteventura</a></h2> + Di 25. Dez 2007 19:08:13<br />0 Fotos<br /> + </div> + <div style="clear: both;"></div> + + </div> + </div> + <div class="linCornB"><div></div></div> + </div> + + <div class="linCorn linCornFolder"> + <div class="linCornC"> + <div class="linCornT"></div> + + <div class="linDivFolder"> + + <div class="linDivThumbnail"> + <a href="/linpha2/?&linCat=alb&linId=4"><img class="linImgFolderThumbnail" src="../thumb3.gif" alt="thumbnail_album" /></a> + </div> + <div class="linDivFolderText"> + <h2 class="linStyle"><a href="/linpha2/?&linCat=alb&linId=4">2007.12.15-16 Skifahren Samnaun</a></h2> + Di 25. Dez 2007 19:08:13<br />0 Fotos<br /> + </div> + <div style="clear: both;"></div> + + </div> + </div> + <div class="linCornB"><div></div></div> + </div> + + <br /> + </div> + + </div> + <div class="linCornB"><div></div></div> +</div> + +</body> +</html> + Added: trunk/misc/design/23menuDynMenu/menu.css =================================================================== --- trunk/misc/design/23menuDynMenu/menu.css (rev 0) +++ trunk/misc/design/23menuDynMenu/menu.css 2008-01-29 14:55:11 UTC (rev 4829) @@ -0,0 +1,75 @@ +/* CSS du menu horizontal, bieler batiste */ + +.menu{ + position:absolute; + display:block; + margin:0; + padding:0; + width:500px; + } + +.menu ul{ + position:absolute; + display:block; + width:124px; + /*margin:0;*/ + padding:0; + } + +.menu li ul{ + visibility:hidden; + } + +.menu li li ul{ + position:absolute; + margin-left:124px; + margin-top:-23px; + } + +.menu li{ + list-style:none; + width:124px; + height:auto; + display:inline; + display/**/:block; + float:none; + float/**/:left; + margin:0; + padding:0; + } + +.menu li li{ + display:block; + float:none; + } + +/* correct a little IE bug */ +* html .menu li li{ + display:inline; + } + +.menu a{ + text-align:center; + background-color: #9cf; + border:1px #666 solid; + color:#000; + display:block; + width:120px; + text-decoration:none; + padding:2px 0; + margin:1px; + } + +.menu a:hover{ + background-color: #eee; + border:1px #aaa solid; + } + +/* for a mozilla better display with key nav */ +.menu a:focus{ + background-color: #aaf; +} + +a.linkOver{ + background-color: #eee; + } Added: trunk/misc/design/23menuDynMenu/menuHorizontal.html =================================================================== --- trunk/misc/design/23menuDynMenu/menuHorizontal.html (rev 0) +++ trunk/misc/design/23menuDynMenu/menuHorizontal.html 2008-01-29 14:55:11 UTC (rev 4829) @@ -0,0 +1,97 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr"><head> + +<title>Menu d\xE9roulant horizontal \xE0 plusieurs niveaux en DHTML</title> + + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> + <meta http-equiv="Content-Language" content="fr" /> + <meta name="Robots" content="follow" /> + <meta name="MSSmartTagsPreventParsing" content="TRUE" /> + +<!-- script du menu --> +<script type="text/javascript" src="dynMenu.js"></script> + <!-- d\xE9t\xE9ction du navigateur --> +<script type="text/javascript" src="browserdetect.js"></script> + +<!-- important pour que les vieux navigateurs ne comprennent pas le CSS --> +<style type="text/css"> + @import "menu.css"; +</style> + +</head><body> + +<h1>Menu horizontal \xE0 plusieurs niveaux</h1> + +<p>Auteur : <a href="mailto:batiste_at_dosimple.ch" onmouseover="this.href=this.href.replace(RegExp('(_at_)','g'),'@')">Batiste Bieler</a></p> + +<!-- liens d'accessibilit\xE9 --> +<p id="access"> + <a href="#contenu" accesskey="1">Aller au contenu</a> + <a href="#menu" accesskey="2">Aller au menu</a> +</p> + +<!-- contenu de la page --> +<div id="contenu"> + <ul> + <li><strong><a href="menus.tar.gz">T\xE9l\xE9charger les exemples</a></strong></li> + <li>le <a href="menu.css">fichier <abbr title="Cascaded Style Sheet">CSS</abbr></a>,</li> + <li>le <a href="dynMenu.js">fichier Javascript</a>,</li> + <li>le <a href="browserdetect.js">fichier Javascript</a> de d\xE9t\xE9ction du navigateur n\xE9cessaire \xE0 l'\xE9xecution du script.</li> + </ul> + + <p><a href="./">Revenir sur la page d'accueil</a></p> + + <p> + <a href="http://validator.w3.org/check?uri=referer">xHTML valid</a> + </p> +</div> + +<!-- liste imbriqu\xE9e de liens qui fera office de menu --> +<ul id="menu"> + <li><a href="#menu1">menu 1</a> + <ul> + <li><a href="#">\xE9l\xE9ment 1</a></li> + <li><a href="#">\xE9l\xE9ment 2</a> + <ul> + <li><a href="#">\xE9l\xE9ment 1</a></li> + <li><a href="#">\xE9l\xE9ment 2</a></li> + <li><a href="#">\xE9l\xE9ment 3</a> + <ul> + <li><a href="#">\xE9l\xE9ment 1</a></li> + <li><a href="#">\xE9l\xE9ment 2</a></li> + <li><a href="#">\xE9l\xE9ment 3</a></li> + </ul> + </li> + </ul> + </li> + <li><a href="#">\xE9l\xE9ment 1</a></li> + <li><a href="#">\xE9l\xE9ment 3</a> + <ul> + <li><a href="#">\xE9l\xE9ment 1</a></li> + <li><a href="#">\xE9l\xE9ment 2</a></li> + <li><a href="#">\xE9l\xE9ment 3</a></li> + </ul> + </li> + </ul> + </li> + <li><a href="#menu2" >menu 2</a> + <ul> + <li><a href="#">\xE9l\xE9ment 1</a></li> + <li><a href="#">\xE9l\xE9ment 2</a></li> + <li><a href="#">\xE9l\xE9ment 3</a></li> + </ul> + </li> + <li><a href="#menu3" >menu 3</a> + <ul> + <li><a href="#">\xE9l\xE9ment 1</a></li> + <li><a href="#">\xE9l\xE9ment 2</a></li> + <li><a href="#">\xE9l\xE9ment 3</a></li> + </ul> + </li> +</ul> + +<script type="text/javascript"> + initMenu(); +</script> + +</body></html> \ No newline at end of file Added: trunk/misc/design/23menuDynMenu/menuVertical.html =================================================================== --- trunk/misc/design/23menuDynMenu/menuVertical.html (rev 0) +++ trunk/misc/design/23menuDynMenu/menuVertical.html 2008-01-29 14:55:11 UTC (rev 4829) @@ -0,0 +1,103 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr"><head> + +<title>Menu d\xE9roulant vertical \xE0 plusieurs niveaux en DHTML</title> + + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> + <meta http-equiv="Content-Language" content="fr" /> + <meta name="Robots" content="follow" /> + <meta name="MSSmartTagsPreventParsing" content="TRUE" /> + +<!-- script du menu --> +<script type="text/javascript" src="dynMenu.js"></script> + <!-- d\xE9t\xE9ction du navigateur --> +<script type="text/javascript" src="browserdetect.js"></script> + +<!-- important pour que les vieux navigateurs ne comprennent pas le CSS --> +<style type="text/css"> + @import "menuv.css"; +</style> + +</head><body> + +<h1>Menu vertical \xE0 plusieurs niveaux</h1> + + <p>Auteur : <a href="mailto:batiste_at_dosimple.ch" onmouseover="this.href=this.href.replace(RegExp('(_at_)','g'),'@')">Batiste Bieler</a></p> + +<!-- liens d'accessibilit\xE9 --> +<p id="access"> + <a href="#contenu" accesskey="1">Aller au contenu</a> + <a href="#menu" accesskey="2">Aller au menu</a> +</p> + +<!-- contenu de la page --> +<div id="contenu"> + +<p>Ce menu fonctionne mal avec Safari 1.0, mais cela devrait \xEAtre corrig\xE9 prochainement.</p> + + <ul> + <li><strong><a href="menus.tar.gz">T\xE9l\xE9charger les exemples</a></strong></li> + <li>le <a href="menuv.css">fichier <abbr title="Cascaded Style Sheet">CSS</abbr></a></li> + <li>le <a href="dynMenu.js">fichier Javascript</a></li> + <li>le <a href="browserdetect.js">fichier Javascript</a> de d\xE9t\xE9ction du navigateur n\xE9cessaire \xE0 l'\xE9xecution du script</li> + </ul> + + <p><a href="./">Revenir sur la page d'accueil</a></p> + + <p> + <a href="http://validator.w3.org/check/referer"> + xHTML valid + </a> + </p> + +</div> + +<!-- liste imbriqu\xE9e de liens qui fera office de menu --> +<ul id="menu"> + <li><a href="#menu1">menu 1</a> + <ul> + <li><a href="#">\xE9l\xE9ment 1</a></li> + <li><a href="#">\xE9l\xE9ment 2</a> + <ul> + <li><a href="#">\xE9l\xE9ment 1</a></li> + <li><a href="#">\xE9l\xE9ment 2</a></li> + <li><a href="#">\xE9l\xE9ment 3</a> + <ul> + <li><a href="#">\xE9l\xE9ment 1</a></li> + <li><a href="#">\xE9l\xE9ment 2</a></li> + <li><a href="#">\xE9l\xE9ment 3</a></li> + </ul> + </li> + </ul> + </li> + <li><a href="#">\xE9l\xE9ment 1</a></li> + <li><a href="#">\xE9l\xE9ment 3</a> + <ul> + <li><a href="#">\xE9l\xE9ment 1</a></li> + <li><a href="#">\xE9l\xE9ment 2</a></li> + <li><a href="#">\xE9l\xE9ment 3</a></li> + </ul> + </li> + </ul> + </li> + <li><a href="#menu2" >menu 2</a> + <ul> + <li><a href="#">\xE9l\xE9ment 1</a></li> + <li><a href="#">\xE9l\xE9ment 2</a></li> + <li><a href="#">\xE9l\xE9ment 3</a></li> + </ul> + </li> + <li><a href="#menu3" >menu 3</a> + <ul> + <li><a href="#">\xE9l\xE9ment 1</a></li> + <li><a href="#">\xE9l\xE9ment 2</a></li> + <li><a href="#">\xE9l\xE9ment 3</a></li> + </ul> + </li> +</ul> + +<script type="text/javascript"> + initMenu(); +</script> + +</body></html> \ No newline at end of file Added: trunk/misc/design/23menuDynMenu/menuv.css =================================================================== --- trunk/misc/design/23menuDynMenu/menuv.css (rev 0) +++ trunk/misc/design/23menuDynMenu/menuv.css 2008-01-29 14:55:11 UTC (rev 4829) @@ -0,0 +1,87 @@ +/* CSS du menu vertical, bieler batiste */ + +body{ + margin-left:15em; + } + +.menu{ + position:absolute; + /* solve a Opera7/IE display bug */ + width:152px; + width/**/:150px; + border-top: 1px #000 solid; + border-left: 1px #000 solid; + border-right: 1px #000 solid; + margin:0; + padding:0; + } + +.menu span{ + display:none; + } + +.menu ul{ + border-top: 1px #000 solid; + border-left: 1px #000 solid; + border-right: 1px #000 solid; + margin:0; + padding:0; + position:absolute; /* important */ + width:152px; + width/**/:150px; + } + +.menu li ul{ + visibility:hidden; + } + +.menu li ul{ + margin-left:150px; /* be careful */ + margin-top:-24px; + } + +.menu a{ + text-align:center; + background-color: #ff9; + color:#000; + text-weight:bold; + display:block; + width:150px; + border-bottom: 1px #000 solid; + text-decoration:none; + margin:0; + padding:3px 0 3px 0; /* em units can creat little graphic bug in mozilla */ + } + +.menu a:hover{ + background-color: #aaf; + } + +/* for a mozilla better display with key nav */ +.menu a:focus{ + background-color: #aaf; +} + +.menu span{ + /* hide some accessibility stuff */ + display:none; + } + +.menu li{ + width:150px; + display:block; + float:left; + list-style:none; + margin:0; + padding:0; + } + +/* IE PC selector */ +* html .menu li { + display:inline; /* solve a IE PC list bug */ + float:none; /* solve a IE5 clav nav bug */ + } + +a.linkOver{ + background-color: #eee; + } \ No newline at end of file Modified: trunk/misc/design/info.txt =================================================================== --- trunk/misc/design/info.txt 2008-01-29 11:13:55 UTC (rev 4828) +++ trunk/misc/design/info.txt 2008-01-29 14:55:11 UTC (rev 4829) @@ -36,4 +36,25 @@ ---- http://jscook.yuanheng.org/JSCookMenu/ jscookmenu-2.0.3 -ThemePanel-1.1 \ No newline at end of file +ThemePanel-1.1 + +Size: 52.0 KB (JSCookMenu.js + effect.js) +Packed1: 13.2 KB (error, http://javascriptcompressor.com) +Packed2: 28.7 KB (ok, http://www.creativyst.com/Prod/3) +Packed3: 21.4 KB (ok, http://alex.dojotoolkit.org/shrinksafe) +Packed4: 21.3 KB (error, http://www.saltstorm.net/depo/esc) + + +http://dosimple.ch/articles/Menus-dynamiques/ +problems with z-index +would need much adjustments + +http://www.tanfa.co.uk/css/examples/menu/tutorial-h.asp +css only + + +Javascript Compressor +--------------------- +http://javascriptcompressor.com/ +http://www.creativyst.com/Prod/3/ +http://alex.dojotoolkit.org/shrinksafe/ \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fan...@us...> - 2008-01-29 11:13:58
|
Revision: 4828 http://linpha.svn.sourceforge.net/linpha/?rev=4828&view=rev Author: fangehrn Date: 2008-01-29 03:13:55 -0800 (Tue, 29 Jan 2008) Log Message: ----------- added jomla like menu very nice Modified Paths: -------------- trunk/misc/design/14cornersSchill/colorsettings.php trunk/misc/design/14cornersSchill/roundCorners.css trunk/misc/design/info.txt Added Paths: ----------- trunk/misc/design/21menuCSS/ trunk/misc/design/21menuCSS/csshover.htc trunk/misc/design/21menuCSS/expand.gif trunk/misc/design/21menuCSS/global.css trunk/misc/design/21menuCSS/home.css trunk/misc/design/21menuCSS/index.php trunk/misc/design/21menuCSS/menu.css trunk/misc/design/22menuJSCook/ trunk/misc/design/22menuJSCook/JSCookMenu/ trunk/misc/design/22menuJSCook/JSCookMenu/JSCookMenu.js trunk/misc/design/22menuJSCook/JSCookMenu/ThemeGray/ trunk/misc/design/22menuJSCook/JSCookMenu/ThemeGray/theme.css trunk/misc/design/22menuJSCook/JSCookMenu/ThemeGray/theme.js trunk/misc/design/22menuJSCook/JSCookMenu/ThemeIE/ trunk/misc/design/22menuJSCook/JSCookMenu/ThemeIE/arrow.gif trunk/misc/design/22menuJSCook/JSCookMenu/ThemeIE/folder.gif trunk/misc/design/22menuJSCook/JSCookMenu/ThemeIE/link.gif trunk/misc/design/22menuJSCook/JSCookMenu/ThemeIE/theme.css trunk/misc/design/22menuJSCook/JSCookMenu/ThemeIE/theme.js trunk/misc/design/22menuJSCook/JSCookMenu/ThemeMiniBlack/ trunk/misc/design/22menuJSCook/JSCookMenu/ThemeMiniBlack/theme.css trunk/misc/design/22menuJSCook/JSCookMenu/ThemeMiniBlack/theme.js trunk/misc/design/22menuJSCook/JSCookMenu/ThemeOffice/ trunk/misc/design/22menuJSCook/JSCookMenu/ThemeOffice/arrow.gif trunk/misc/design/22menuJSCook/JSCookMenu/ThemeOffice/arrowdown.gif trunk/misc/design/22menuJSCook/JSCookMenu/ThemeOffice/blank.gif trunk/misc/design/22menuJSCook/JSCookMenu/ThemeOffice/copy.gif trunk/misc/design/22menuJSCook/JSCookMenu/ThemeOffice/copyshadow.gif trunk/misc/design/22menuJSCook/JSCookMenu/ThemeOffice/cut.gif trunk/misc/design/22menuJSCook/JSCookMenu/ThemeOffice/cutshadow.gif trunk/misc/design/22menuJSCook/JSCookMenu/ThemeOffice/help.gif trunk/misc/design/22menuJSCook/JSCookMenu/ThemeOffice/helpshadow.gif trunk/misc/design/22menuJSCook/JSCookMenu/ThemeOffice/new.gif trunk/misc/design/22menuJSCook/JSCookMenu/ThemeOffice/open.gif trunk/misc/design/22menuJSCook/JSCookMenu/ThemeOffice/openshadow.gif trunk/misc/design/22menuJSCook/JSCookMenu/ThemeOffice/paste.gif trunk/misc/design/22menuJSCook/JSCookMenu/ThemeOffice/pasteshadow.gif trunk/misc/design/22menuJSCook/JSCookMenu/ThemeOffice/save.gif trunk/misc/design/22menuJSCook/JSCookMenu/ThemeOffice/saveshadow.gif trunk/misc/design/22menuJSCook/JSCookMenu/ThemeOffice/spacer.gif trunk/misc/design/22menuJSCook/JSCookMenu/ThemeOffice/theme.css trunk/misc/design/22menuJSCook/JSCookMenu/ThemeOffice/theme.js trunk/misc/design/22menuJSCook/JSCookMenu/ThemeOffice2003/ trunk/misc/design/22menuJSCook/JSCookMenu/ThemeOffice2003/arrow.gif trunk/misc/design/22menuJSCook/JSCookMenu/ThemeOffice2003/arrowdown.gif trunk/misc/design/22menuJSCook/JSCookMenu/ThemeOffice2003/blank.gif trunk/misc/design/22menuJSCook/JSCookMenu/ThemeOffice2003/mainmenubg.gif trunk/misc/design/22menuJSCook/JSCookMenu/ThemeOffice2003/mainmenubg.png trunk/misc/design/22menuJSCook/JSCookMenu/ThemeOffice2003/menubg.gif trunk/misc/design/22menuJSCook/JSCookMenu/ThemeOffice2003/menubg.png trunk/misc/design/22menuJSCook/JSCookMenu/ThemeOffice2003/spacer.gif trunk/misc/design/22menuJSCook/JSCookMenu/ThemeOffice2003/theme.css trunk/misc/design/22menuJSCook/JSCookMenu/ThemeOffice2003/theme.js trunk/misc/design/22menuJSCook/JSCookMenu/ThemePanel/ trunk/misc/design/22menuJSCook/JSCookMenu/ThemePanel/arrow.gif trunk/misc/design/22menuJSCook/JSCookMenu/ThemePanel/arrowdown.gif trunk/misc/design/22menuJSCook/JSCookMenu/ThemePanel/blank.gif trunk/misc/design/22menuJSCook/JSCookMenu/ThemePanel/theme.css trunk/misc/design/22menuJSCook/JSCookMenu/ThemePanel/theme.js trunk/misc/design/22menuJSCook/JSCookMenu/ThemePanelLinpha/ trunk/misc/design/22menuJSCook/JSCookMenu/ThemePanelLinpha/arrow.gif trunk/misc/design/22menuJSCook/JSCookMenu/ThemePanelLinpha/arrowdown.gif trunk/misc/design/22menuJSCook/JSCookMenu/ThemePanelLinpha/blank.gif trunk/misc/design/22menuJSCook/JSCookMenu/ThemePanelLinpha/theme.css trunk/misc/design/22menuJSCook/JSCookMenu/ThemePanelLinpha/theme.js trunk/misc/design/22menuJSCook/JSCookMenu/effect.js trunk/misc/design/22menuJSCook/global.css trunk/misc/design/22menuJSCook/home.css trunk/misc/design/22menuJSCook/indexFromHTML.php trunk/misc/design/22menuJSCook/indexJS.php trunk/misc/design/22menuJSCook/indexJSEffectFade.php trunk/misc/design/22menuJSCook/indexJSEffectSlide.php trunk/misc/design/22menuJSCook/indexJSclickOpen.php Modified: trunk/misc/design/14cornersSchill/colorsettings.php =================================================================== --- trunk/misc/design/14cornersSchill/colorsettings.php 2008-01-28 16:33:41 UTC (rev 4827) +++ trunk/misc/design/14cornersSchill/colorsettings.php 2008-01-29 11:13:55 UTC (rev 4828) @@ -65,7 +65,36 @@ background-color: #<?php echo $_GET['fieldscolor']; ?>; border: 1px solid grey; } + +/** + * round corners + */ + .linCornMain { + min-width:20em; + max-width:3000px; + } + .linCornMain .linCornC, /* C = content */ + .linCornMain .linCornT, /* T = Top */ + .linCornMain .linCornB, /* B = Bottom */ + .linCornMain .linCornB div { + background:transparent url(box.php?col=87CEFA) no-repeat top right; + } + + + + .linCornFolder { + min-width:20em; + max-width:800px; + } + + .linCornFolder .linCornC, /* C = content */ + .linCornFolder .linCornT, /* T = Top */ + .linCornFolder .linCornB, /* B = Bottom */ + .linCornFolder .linCornB div { + background:transparent url(box.php?col=D5FCF4&w=1000&h=500) no-repeat top right; + } + /** * menu */ Modified: trunk/misc/design/14cornersSchill/roundCorners.css =================================================================== --- trunk/misc/design/14cornersSchill/roundCorners.css 2008-01-28 16:33:41 UTC (rev 4827) +++ trunk/misc/design/14cornersSchill/roundCorners.css 2008-01-29 11:13:55 UTC (rev 4828) @@ -1,37 +1,4 @@ -/* - -- Even more rounded corners with CSS: Base stylesheet -- -*/ -.linCornMain { - min-width:20em; - max-width:3000px; /* based on image dimensions - not quite consistent with drip styles yet */ -} - -.linCornMain .linCornC, /* C = content */ -.linCornMain .linCornT, /* T = Top */ -.linCornMain .linCornB, /* B = Bottom */ -.linCornMain .linCornB div { - background:transparent url(box.php?col=87CEFA) no-repeat top right; - /*_background-image:url(dialog2-blue.gif);*/ /* IE hack */ -} - - - -.linCornFolder { - min-width:20em; - max-width:800px; /* based on image dimensions - not quite consistent with drip styles yet */ -} - -.linCornFolder .linCornC, /* C = content */ -.linCornFolder .linCornT, /* T = Top */ -.linCornFolder .linCornB, /* B = Bottom */ -.linCornFolder .linCornB div { - background:transparent url(box.php?col=D5FCF4&w=1000&h=500) no-repeat top right; - /*_background-image:url(dialog2-blue.gif);*/ /* IE hack */ -} - - - .linCorn { position:relative; margin:0px auto; @@ -44,7 +11,6 @@ position:relative; zoom:1; _overflow-y:hidden; - /*margin-top: -15px;*/ padding:5px 15px 0px 0px; } @@ -82,26 +48,3 @@ margin-left:-15px; background-position:bottom left; } - -/*.linCorn .hd, -.linCorn .bd, -.linCorn .ft { - position:relative; -}*/ - -/*.linCorn .wrapper {*/ - /* extra content protector - preventing vertical overflow (past background) */ -/* position:static; - max-height:1000px; - overflow:auto; *//* note that overflow:auto causes a rather annoying redraw "lag" in Firefox 2, and may degrade performance. Might be worth trying without if you aren't worried about height/overflow issues. */ -/*}*/ - -/*.linCorn h1, -.linCorn p { - margin:0px;*/ /* margins will blow out backgrounds, leaving whitespace. */ -/* padding:0.5em 0px 0.5em 0px;*/ -}*/ - -/*.linCorn h1 { - padding-bottom:0px; -}*/ \ No newline at end of file Added: trunk/misc/design/21menuCSS/csshover.htc =================================================================== --- trunk/misc/design/21menuCSS/csshover.htc (rev 0) +++ trunk/misc/design/21menuCSS/csshover.htc 2008-01-29 11:13:55 UTC (rev 4828) @@ -0,0 +1,120 @@ +<attach event="ondocumentready" handler="parseStylesheets" /> +<script> +/** + * Whatever:hover - V1.42.060206 - hover & active + * ------------------------------------------------------------ + * (c) 2005 - Peter Nederlof + * Peterned - http://www.xs4all.nl/~peterned/ + * License - http://creativecommons.org/licenses/LGPL/2.1/ + * + * Whatever:hover is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * Whatever:hover is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * Credits and thanks to: + * Arnoud Berendsen, Martin Reurings, Robert Hanson + * + * howto: body { behavior:url("csshover.htc"); } + * ------------------------------------------------------------ + */ + +var csshoverReg = /(^|\s)(([^a]([^ ]+)?)|(a([^#.][^ ]+)+)):(hover|active)/i, +currentSheet, doc = window.document, hoverEvents = [], activators = { + onhover:{on:'onmouseover', off:'onmouseout'}, + onactive:{on:'onmousedown', off:'onmouseup'} +} + +function parseStylesheets() { + if(!/MSIE (5|6)/.test(navigator.userAgent)) return; + window.attachEvent('onunload', unhookHoverEvents); + var sheets = doc.styleSheets, l = sheets.length; + for(var i=0; i<l; i++) + parseStylesheet(sheets[i]); +} + function parseStylesheet(sheet) { + if(sheet.imports) { + try { + var imports = sheet.imports, l = imports.length; + for(var i=0; i<l; i++) parseStylesheet(sheet.imports[i]); + } catch(securityException){} + } + + try { + var rules = (currentSheet = sheet).rules, l = rules.length; + for(var j=0; j<l; j++) parseCSSRule(rules[j]); + } catch(securityException){} + } + + function parseCSSRule(rule) { + var select = rule.selectorText, style = rule.style.cssText; + if(!csshoverReg.test(select) || !style) return; + + var pseudo = select.replace(/[^:]+:([a-z-]+).*/i, 'on$1'); + var newSelect = select.replace(/(\.([a-z0-9_-]+):[a-z]+)|(:[a-z]+)/gi, '.$2' + pseudo); + var className = (/\.([a-z0-9_-]*on(hover|active))/i).exec(newSelect)[1]; + var affected = select.replace(/:(hover|active).*$/, ''); + var elements = getElementsBySelect(affected); + if(elements.length == 0) return; + + currentSheet.addRule(newSelect, style); + for(var i=0; i<elements.length; i++) + new HoverElement(elements[i], className, activators[pseudo]); + } + +function HoverElement(node, className, events) { + if(!node.hovers) node.hovers = {}; + if(node.hovers[className]) return; + node.hovers[className] = true; + hookHoverEvent(node, events.on, function() { node.className += ' ' + className; }); + hookHoverEvent(node, events.off, function() { node.className = node.className.replace(new RegExp('\\s+'+className, 'g'),''); }); +} + function hookHoverEvent(node, type, handler) { + node.attachEvent(type, handler); + hoverEvents[hoverEvents.length] = { + node:node, type:type, handler:handler + }; + } + + function unhookHoverEvents() { + for(var e,i=0; i<hoverEvents.length; i++) { + e = hoverEvents[i]; + e.node.detachEvent(e.type, e.handler); + } + } + +function getElementsBySelect(rule) { + var parts, nodes = [doc]; + parts = rule.split(' '); + for(var i=0; i<parts.length; i++) { + nodes = getSelectedNodes(parts[i], nodes); + } return nodes; +} + function getSelectedNodes(select, elements) { + var result, node, nodes = []; + var identify = (/\#([a-z0-9_-]+)/i).exec(select); + if(identify) { + var element = doc.getElementById(identify[1]); + return element? [element]:nodes; + } + + var classname = (/\.([a-z0-9_-]+)/i).exec(select); + var tagName = select.replace(/(\.|\#|\:)[a-z0-9_-]+/i, ''); + var classReg = classname? new RegExp('\\b' + classname[1] + '\\b'):false; + for(var i=0; i<elements.length; i++) { + result = tagName? elements[i].all.tags(tagName):elements[i].all; + for(var j=0; j<result.length; j++) { + node = result[j]; + if(classReg && !classReg.test(node.className)) continue; + nodes[nodes.length] = node; + } + } + + return nodes; + } +</script> \ No newline at end of file Added: trunk/misc/design/21menuCSS/expand.gif =================================================================== (Binary files differ) Property changes on: trunk/misc/design/21menuCSS/expand.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/misc/design/21menuCSS/global.css =================================================================== --- trunk/misc/design/21menuCSS/global.css (rev 0) +++ trunk/misc/design/21menuCSS/global.css 2008-01-29 11:13:55 UTC (rev 4828) @@ -0,0 +1,138 @@ +<!-- +/** + * common definitions + * All 'em' calculations are based on 1 px = 0.0626em + */ + + #linBody { + font-family: arial, helvetica, sans-serif; + margin: 10px; + padding: 0px; + } + + + h1.linStyle { + font-size: 1.5em; + font-family: Verdana, Arial, Helvetica, sans-serif; + margin: 0px; + margin-top: 0px; + margin-bottom: 5px; + padding: 0px; + } + + h2.linStyle { + font-size: 1.2em; + font-family: Verdana, Arial, Helvetica, sans-serif; + margin: 0px; + margin-top: 0px; + margin-bottom: 5px; + padding: 0px; + } + + /** + * link button + */ + .linButton { + /*cursor: pointer; + border: 0; + font-size: 0.8em; + text-decoration: underline;*/ + } + + +/** + * title + */ + #linDivTitle + { + margin: 0; + margin-bottom: 20px; + margin-left: 90px; + + font-size: 2em; + } + #linDivTitle a:link, #linDivTitle a:visited, #linDivTitle a:hover + { + color: #444444; + text-decoration: none; + } + #linDivTitle a:hover + { + text-decoration: underline; + } + +/** + * navigation + */ + #linDivNavigationOuter { + margin: 0; + margin-bottom: 10px; + padding: 0; + } + #linDivNavigation + { + margin: 0; + padding: 5px; + } + +/** + * main + */ + /*#linDivMainOuter { + margin: 0; + padding: 0; + } + #linDivMain { + margin: 0; + padding: 0px; + padding-left: 10px; + padding-right: 10px; + }*/ + +/** + * folder (used in home view, and maybe as subfolders) + * background-color and border-color are set in colorsettings.php + */ + .linDivFolder { + margin: 5px 5px 0px 5px; + padding: 10px 0 0 0; + + /*width: 700px;*/ + } + + .linDivThumbnail { + height: 140px; + float: left; + } + + .linImgFolderThumbnail { + margin: 0; + margin-left: 20px; + margin-right: 30px; + margin-top: 5px; + padding: 0; + + width: 130px; + height: 130px; + + border: 0; + } + + .linDivFolderText { + margin: 0; + padding: 5px; + } + + .linDivFolderComment { + overflow: auto; + max-height: 300px; + + margin: 0; + margin-top: 10px; + margin-bottom: 10px; + padding: 0; + + /* word-wrap: break-word; fix ie to force width, but creates warnings in firefox !!! */ + } + +--> \ No newline at end of file Added: trunk/misc/design/21menuCSS/home.css =================================================================== --- trunk/misc/design/21menuCSS/home.css (rev 0) +++ trunk/misc/design/21menuCSS/home.css 2008-01-29 11:13:55 UTC (rev 4828) @@ -0,0 +1,18 @@ + +hr.linStyle { + clear: both; +} + +.linDivRandomimg, .linDivNewimg { + float: left; + margin-left: 40px; +} + +.linImgRandomimg, .linImgNewimg { + border: 0; +} + +.linDivFolder a +{ + text-decoration: none; +} \ No newline at end of file Added: trunk/misc/design/21menuCSS/index.php =================================================================== --- trunk/misc/design/21menuCSS/index.php (rev 0) +++ trunk/misc/design/21menuCSS/index.php 2008-01-29 11:13:55 UTC (rev 4828) @@ -0,0 +1,241 @@ +<?php +header('content-type: text/html; charset: utf-8'); +/*echo '<?xml version="1.0" encoding="utf-8"?>'."\n"; not necessary, IE has problems with this*/ +?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=UTF-8"> + +<title>Linpha 2.0</title> + +<!-- css includes --> + +<link rel='stylesheet' href='../14cornersSchill/colorsettings.php?bg=87CEFA&bodybg=DDDDDD&font=000000&albumsbg=D5FCF4&links=005388&linkshover=666666&fieldscolor=CCCCCC' type='text/css'> +<link rel='stylesheet' href='./global.css' type='text/css'> +<link rel='stylesheet' href='./home.css' type='text/css'> + +<link rel="stylesheet" href="../14cornersSchill/roundCorners.css" media="screen" /> + +<link rel="stylesheet" href="./menu.css" media="screen" /> + <!--[if IE]> + <style type="text/css" media="screen"> + #menu ul { width: 1em; } /* this will be a *min* width */ + #menu ul ul { width: 12em; } + #menu ul li { float: left; width: 100%; } + body { behavior: url(./csshover.htc); font-size: 100%; } + #menu ul li a { height: 1%; } + #menu a, #menu span { font: bold 0.7em/1.4em arial, helvetica, sans-serif; } + </style> + <![endif]--> + +</head> + + +<body id="linBody"> + +<!-- menu --> +<div id="linDivMenu"> + <ul style="margin-left: 50px;"> + <li><a href="/linpha2/?&linCat=alb">Home</a></li> + </ul> + <ul> + <li><span>Suche </span> + <ul> + <li><a href="/linpha2/?&linCat=search">Extended Search</a></li> + <li> + <div> + <form method="GET" action="/linpha2/?&linCat=search"> + <input type="text" class="linForms" name="search_text" value="" /> + <input type="hidden" name="button[meta][all]" value="1" /> + + <input type="hidden" name="cmd" value="search" /> + <input type="hidden" name="linCat" value="search" /> + <input type="submit" name="submit" class="linButton linInputMenu" value="Suche" /> + </form> + </div> + </li> + </ul> + </li> + </ul> + <ul> + <li> + <span>Login </span> + <ul id="linMenuLogin"> + <li> + <div> + <form action="" method="POST" onsubmit="new Ajax.Updater('linDivMenu', LINPHA_CLIENT + '/?linCat=ajax&reloadmenu&linId='+IdCurrent, {method: 'post', asynchronous:true, parameters:Form.serialize(this), evalScripts:true}); return false;"> + <!-- login infos --> + <br /> + <label for="linFormUsername" style="display: block; float: left; width: 80px;">Username: </label><input style="width: 105px;" class="linForms" type="text" name="username" value="" id="linFormUsername" /><br /> + <label for="linFormPassword" style="display: block; float: left; width: 80px;">Password: </label><input style="width: 105px;" class="linForms" type="password" name="password" value="" id="linFormPassword" /><br /> + <input type="checkbox" name="rememberme" value="true" id="linFormCheckboxRemember" /><label for="linFormCheckboxRemember">Remember Me</label> <input type="hidden" name="cmd" value="login" /> + <input type="submit" name="submit" class="linButton linInputMenu" value="Login" /><br /><br /> + <div style="font-size: smaller; border: 0px;">Um sich anmelden zu können, müssen Cookies aktiviert sein.</div> + </form> + </div> + </li> + </ul> + </li> + </ul> + <ul> + <li><span>More </span> + <ul id="linMenuMore"> + <li><span>Basket </span> + <ul> + <li><a href="/linpha2/?&linCat=alb&linId=4&admin_cmd=basket_add_all">Add All To Basket</a></li> + + <li><a href="/linpha2/?&linCat=alb&linId=4&view=basket">Switch To Basket View</a></li> + <li><a href="/linpha2/?&linCat=basket">Open Basket (0 Images)</a></li> + </ul> + </li> + <li><span>Ansicht </span> + <ul> + <li><span>Sort </span> + + <ul> + <li><a href="/linpha2/?&linCat=alb&linId=4&order_by=Name Asc">Name Asc</a></li> + <li><a href="/linpha2/?&linCat=alb&linId=4&order_by=Name Desc">Name Desc</a></li> + <li><a href="/linpha2/?&linCat=alb&linId=4&order_by=Date Asc">Date Asc</a></li> + <li><a href="/linpha2/?&linCat=alb&linId=4&order_by=Date Desc">Date Desc</a></li> + </ul> + </li> + + <li><span>Ansicht </span> + <ul> + <li><a href="/linpha2/?&linCat=alb&linId=4&view=thumb">Normal</a></li> + <li><a href="/linpha2/?&linCat=alb&linId=4&view=thumbdetail">Detail</a></li> + </ul> + </li> + <li><span>Thumb Size </span> + + <ul> + <li><a href="javascript:myLinThumbnails.setTnSize(50)">50 Pixel</a></li> + <li><a href="javascript:myLinThumbnails.setTnSize(75)">75 Pixel</a></li> + <li><a href="javascript:myLinThumbnails.setTnSize(100)">100 Pixel</a></li> + <li><a href="javascript:myLinThumbnails.setTnSize(150)">150 Pixel</a></li> + <li><a href="javascript:myLinThumbnails.setTnSize(200)">200 Pixel</a></li> + + <li><a href="javascript:myLinThumbnails.setTnSize(250)">250 Pixel</a></li> + <li><a href="javascript:myLinThumbnails.setTnSize(300)">300 Pixel</a></li> + <li><a href="javascript:myLinThumbnails.setTnSize(400)">400 Pixel</a></li> + <li><a href="javascript:myLinThumbnails.setTnSize(500)">500 Pixel</a></li> + </ul> + </li> + <li><span>Thumb Nr </span> + + <ul> + <li><a href="javascript:myLinThumbnails.setNrImages('auto')">auto</a></li> + <li><a href="javascript:myLinThumbnails.setNrImages('10')">10</a></li> + <li><a href="javascript:myLinThumbnails.setNrImages('25')">25</a></li> + <li><a href="javascript:myLinThumbnails.setNrImages('50')">50</a></li> + <li><a href="javascript:myLinThumbnails.setNrImages('100')">100</a></li> + + <li><a href="javascript:myLinThumbnails.setNrImages('200')">200</a></li> + <li><a href="javascript:myLinThumbnails.setNrImages('all')">all</a></li> + </ul> + </li> + </ul> + </li> + </ul> + </li> + </ul> + <!-- icons --> + <div> + <a href="javascript:myLinThumbnails.loadSlideshow()"><img src="../slideshow.png" border="0" title="Play Slideshow" /></a> + </div> +</div> + +<div style="clear: both;"></div> +<!-- end menu --> + +<div id="linDivMainOuter" class="linCorn linCornMain"> + <div class="linCornC"> + <div class="linCornT"></div> + + <div id="linDivMain"> + <h1 class="linStyle">Willkommen</h1>Hi, this is the home of "The PHP Photo Archive" <a href="http://linpha.sf.net">aka LinPHA</a>.<br /><br /> + + <!-- Random Images --> + + <!-- New Images --> + + <!-- Browse by Date --> + + <!-- Albums --> + <hr class="linStyle" /> + + <h1 class="linStyle">Alben</h1> + + <div class="linCorn linCornFolder"> + <div class="linCornC"> + <div class="linCornT"></div> + + <div class="linDivFolder"> + + <div class="linDivThumbnail"> + <a href="/linpha2/?&linCat=alb&linId=4"><img class="linImgFolderThumbnail" src="../thumb1.gif" alt="thumbnail_album" /></a> + </div> + <div class="linDivFolderText"> + <h2 class="linStyle"><a href="/linpha2/?&linCat=alb&linId=4">2005.05.14-16 Barcelona</a></h2> + Di 25. Dez 2007 19:08:13<br />0 Fotos<br /> + </div> + <div style="clear: both;"></div> + + </div> + + </div> + <div class="linCornB"><div></div></div> + </div> + + <div class="linCorn linCornFolder"> + <div class="linCornC"> + <div class="linCornT"></div> + + <div class="linDivFolder"> + + <div class="linDivThumbnail"> + <a href="/linpha2/?&linCat=alb&linId=4"><img class="linImgFolderThumbnail" src="../thumb2.gif" alt="thumbnail_album" /></a> + </div> + <div class="linDivFolderText"> + <h2 class="linStyle"><a href="/linpha2/?&linCat=alb&linId=4">2007.07-14-28 Fuerteventura</a></h2> + Di 25. Dez 2007 19:08:13<br />0 Fotos<br /> + </div> + <div style="clear: both;"></div> + + </div> + </div> + <div class="linCornB"><div></div></div> + </div> + + <div class="linCorn linCornFolder"> + <div class="linCornC"> + <div class="linCornT"></div> + + <div class="linDivFolder"> + + <div class="linDivThumbnail"> + <a href="/linpha2/?&linCat=alb&linId=4"><img class="linImgFolderThumbnail" src="../thumb3.gif" alt="thumbnail_album" /></a> + </div> + <div class="linDivFolderText"> + <h2 class="linStyle"><a href="/linpha2/?&linCat=alb&linId=4">2007.12.15-16 Skifahren Samnaun</a></h2> + Di 25. Dez 2007 19:08:13<br />0 Fotos<br /> + </div> + <div style="clear: both;"></div> + + </div> + </div> + <div class="linCornB"><div></div></div> + </div> + + <br /> + </div> + + </div> + <div class="linCornB"><div></div></div> +</div> + +</body> +</html> + Added: trunk/misc/design/21menuCSS/menu.css =================================================================== --- trunk/misc/design/21menuCSS/menu.css (rev 0) +++ trunk/misc/design/21menuCSS/menu.css 2008-01-29 11:13:55 UTC (rev 4828) @@ -0,0 +1,123 @@ +/** + * menu + */ + #linDivMenu { + margin: 0; + padding: 0; + + width: 100%; + float: left; + } + + /** + * icons + */ + #linDivMenu div { + margin: 0; + margin-left: 5px; + margin-right: 5px; + padding: 0; + float: left; + } + #linDivMenu div a { + margin: 0; + padding: 0; + float: left; + } + + /** + * first level elements + */ + #linDivMenu ul { + list-style: none; + + margin: 0; + margin-left: 5px; + margin-right: 5px; + padding: 0; + + width: auto; + float: left; + + border-top: 1px solid #000000; + + white-space: nowrap; + } + #linDivMenu ul a, #linDivMenu ul span, #linDivMenu ul div { + display: block; + + margin: 0; + padding-left: 10px; + padding-right: 10px; + padding-top: 2px; + padding-bottom: 2px; + + text-align: center; + text-decoration: none; + + } + #linDivMenu ul span { + background: url(./expand.gif) no-repeat 100% 100%; + } + + + /** + * second and more level elements + */ + #linDivMenu ul ul { + position: absolute; + z-index: 500; + + border: 0; + + /** + * relativ to parent element! be careful + */ + margin: 0; + padding: 0; + font-size: 1em; + + } + #linDivMenu ul ul a, #linDivMenu ul ul span, #linDivMenu ul ul div { + margin: 0; + padding-left: 5px; + padding-right: 15px; + padding-top: 2px; + padding-bottom: 2px; + + border-width: 1px; + border-style: solid; + border-color: #ccc #888 #555 #bbb; + text-align: left; + } + + /** + * third stage, switch to horizontal menu entries + */ + #linDivMenu ul ul ul { + position: absolute; + top: 0; + left: 100%; + } + + + /** + * the most important thing + * enable/disable submenus + */ + #linDivMenu ul ul, + #linDivMenu ul li:hover ul ul, + #linDivMenu ul ul li:hover ul ul + {display: none;} + + #linDivMenu ul li:hover ul, + #linDivMenu ul ul li:hover ul, + #linDivMenu ul ul ul li:hover ul + {display: block;} + + #linDivMenu li {position: relative;} + + +/** + * end menu + */ Added: trunk/misc/design/22menuJSCook/JSCookMenu/JSCookMenu.js =================================================================== --- trunk/misc/design/22menuJSCook/JSCookMenu/JSCookMenu.js (rev 0) +++ trunk/misc/design/22menuJSCook/JSCookMenu/JSCookMenu.js 2008-01-29 11:13:55 UTC (rev 4828) @@ -0,0 +1,1658 @@ +/* + JSCookMenu v2.0.3 (c) Copyright 2002-2006 by Heng Yuan + + http://jscook.sourceforge.net/JSCookMenu/ + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + ITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. +*/ + +// default node properties +var _cmNodeProperties = +{ + // theme prefix + prefix: '', + + // main menu display attributes + // + // Note. When the menu bar is horizontal, + // mainFolderLeft and mainFolderRight are + // put in <span></span>. When the menu + // bar is vertical, they would be put in + // a separate TD cell. + + // HTML code to the left of the folder item + mainFolderLeft: '', + // HTML code to the right of the folder item + mainFolderRight: '', + // HTML code to the left of the regular item + mainItemLeft: '', + // HTML code to the right of the regular item + mainItemRight: '', + + // sub menu display attributes + + // HTML code to the left of the folder item + folderLeft: '', + // HTML code to the right of the folder item + folderRight: '', + // HTML code to the left of the regular item + itemLeft: '', + // HTML code to the right of the regular item + itemRight: '', + // cell spacing for main menu + mainSpacing: 0, + // cell spacing for sub menus + subSpacing: 0, + + // optional settings + // If not set, use the default + + // auto disappear time for submenus in milli-seconds + delay: 500, + + // 1st layer sub menu starting index + zIndexStart: 1000, + // z-index incremental step for subsequent layers + zIndexInc: 5, + + // sub menu header appears before the sub menu table + subMenuHeader: null, + // sub menu header appears after the sub menu table + subMenuFooter: null, + + // submenu location adjustments + // + // offsetHMainAdjust for adjusting the first submenu + // of a 'hbr' menu. + // offsetVMainAdjust for adjusting the first submenu + // of a 'vbr' menu. + // offsetSubAdjust for subsequent level of submenus + // + offsetHMainAdjust: [0, 0], + offsetVMainAdjust: [0, 0], + offsetSubAdjust: [0, 0], + + // act on click to open sub menu + // not yet implemented + // 0 : use default behavior + // 1 : hover open in all cases + // 2 : click on main, hover on sub + // 3 : click open in all cases (illegal as of 1.5) + clickOpen: 1, + + // special effects on open/closing a sub menu + effect: null +}; + +// Globals +var _cmIDCount = 0; +var _cmIDName = 'cmSubMenuID'; // for creating submenu id + +var _cmTimeOut = null; // how long the menu would stay +var _cmCurrentItem = null; // the current menu item being selected; + +var _cmNoAction = new Object (); // indicate that the item cannot be hovered. +var _cmNoClick = new Object (); // similar to _cmNoAction but does not respond to mouseup/mousedown events +var _cmSplit = new Object (); // indicate that the item is a menu split + +var _cmMenuList = new Array (); // a list of the current menus +var _cmItemList = new Array (); // a simple list of items + +var _cmFrameList = new Array (); // a pool of reusable iframes +var _cmFrameListSize = 0; // keep track of the actual size +var _cmFrameIDCount = 0; // keep track of the frame id +var _cmFrameMasking = true; // use the frame masking + +// disable iframe masking for IE7 +/*@cc_on + @if (@_jscript_version >= 5.6) + if (_cmFrameMasking) + { + var v = navigator.appVersion; + var i = v.indexOf ("MSIE "); + if (i >= 0) + { + if (parseInt (navigator.appVersion.substring (i + 5)) >= 7) + _cmFrameMasking = false; + } + } + @end +@*/ + +var _cmClicked = false; // for onClick + +// flag for turning on off hiding objects +// +// 0: automatic +// 1: hiding +// 2: no hiding +var _cmHideObjects = 0; + +// Utility function to do a shallow copy a node property +function cmClone (nodeProperties) +{ + var returnVal = new Object (); + for (v in nodeProperties) + returnVal[v] = nodeProperties[v]; + return returnVal; +} + +// +// store the new menu information into a structure to retrieve it later +// +function cmAllocMenu (id, menu, orient, nodeProperties, prefix) +{ + var info = new Object (); + info.div = id; + info.menu = menu; + info.orient = orient; + info.nodeProperties = nodeProperties; + info.prefix = prefix; + var menuID = _cmMenuList.length; + _cmMenuList[menuID] = info; + return menuID; +} + +// +// request a frame +// +function cmAllocFrame () +{ + if (_cmFrameListSize > 0) + return cmGetObject (_cmFrameList[--_cmFrameListSize]); + var frameObj = document.createElement ('iframe'); + var id = _cmFrameIDCount++; + frameObj.id = 'cmFrame' + id; + frameObj.frameBorder = '0'; + frameObj.style.display = 'none'; + frameObj.src = 'javascript:false'; + document.body.appendChild (frameObj); + frameObj.style.filter = 'alpha(opacity=0)'; + frameObj.style.zIndex = 99; + frameObj.style.position = 'absolute'; + frameObj.style.border = '0'; + frameObj.scrolling = 'no'; + return frameObj; +} + +// +// make a frame resuable later +// +function cmFreeFrame (frameObj) +{ + _cmFrameList[_cmFrameListSize++] = frameObj.id; +} + +////////////////////////////////////////////////////////////////////// +// +// Drawing Functions and Utility Functions +// +////////////////////////////////////////////////////////////////////// + +// +// produce a new unique id +// +function cmNewID () +{ + return _cmIDName + (++_cmIDCount); +} + +// +// return the property string for the menu item +// +function cmActionItem (item, isMain, idSub, menuInfo, menuID) +{ + _cmItemList[_cmItemList.length] = item; + var index = _cmItemList.length - 1; + idSub = (!idSub) ? 'null' : ('\'' + idSub + '\''); + + var clickOpen = menuInfo.nodeProperties.clickOpen; + var onClick = (clickOpen == 3) || (clickOpen == 2 && isMain); + + var param = 'this,' + isMain + ',' + idSub + ',' + menuID + ',' + index; + + var returnStr; + if (onClick) + returnStr = ' onmouseover="cmItemMouseOver(' + param + ',false)" onmousedown="cmItemMouseDownOpenSub (' + param + ')"'; + else + returnStr = ' onmouseover="cmItemMouseOverOpenSub (' + param + ')" onmousedown="cmItemMouseDown (' + param + ')"'; + return returnStr + ' onmouseout="cmItemMouseOut (' + param + ')" onmouseup="cmItemMouseUp (' + param + ')"'; +} + +// +// this one is used by _cmNoClick to only take care of onmouseover and onmouseout +// events which are associated with menu but not actions associated with menu clicking/closing +// +function cmNoClickItem (item, isMain, idSub, menuInfo, menuID) +{ + // var index = _cmItemList.push (item) - 1; + _cmItemList[_cmItemList.length] = item; + var index = _cmItemList.length - 1; + idSub = (!idSub) ? 'null' : ('\'' + idSub + '\''); + + var param = 'this,' + isMain + ',' + idSub + ',' + menuID + ',' + index; + + return ' onmouseover="cmItemMouseOver (' + param + ')" onmouseout="cmItemMouseOut (' + param + ')"'; +} + +function cmNoActionItem (item) +{ + return item[1]; +} + +function cmSplitItem (prefix, isMain, vertical) +{ + var classStr = 'cm' + prefix; + if (isMain) + { + classStr += 'Main'; + if (vertical) + classStr += 'HSplit'; + else + classStr += 'VSplit'; + } + else + classStr += 'HSplit'; + return eval (classStr); +} + +// +// draw the sub menu recursively +// +function cmDrawSubMenu (subMenu, prefix, id, nodeProperties, zIndexStart, menuInfo, menuID) +{ + var str = '<div class="' + prefix + 'SubMenu" id="' + id + '" style="z-index: ' + zIndexStart + ';position: absolute; top: 0px; left: 0px;">'; + if (nodeProperties.subMenuHeader) + str += nodeProperties.subMenuHeader; + + str += '<table summary="sub menu" id="' + id + 'Table" cellspacing="' + nodeProperties.subSpacing + '" class="' + prefix + 'SubMenuTable">'; + + var strSub = ''; + + var item; + var idSub; + var hasChild; + + var i; + + var classStr; + + for (i = 5; i < subMenu.length; ++i) + { + item = subMenu[i]; + if (!item) + continue; + + if (item == _cmSplit) + item = cmSplitItem (prefix, 0, true); + item.parentItem = subMenu; + item.subMenuID = id; + + hasChild = (item.length > 5); + idSub = hasChild ? cmNewID () : null; + + str += '<tr class="' + prefix + 'MenuItem"'; + if (item[0] != _cmNoClick) + str += cmActionItem (item, 0, idSub, menuInfo, menuID); + else + str += cmNoClickItem (item, 0, idSub, menuInfo, menuID); + str += '>' + + if (item[0] == _cmNoAction || item[0] == _cmNoClick) + { + str += cmNoActionItem (item); + str += '</tr>'; + continue; + } + + classStr = prefix + 'Menu'; + classStr += hasChild ? 'Folder' : 'Item'; + + str += '<td class="' + classStr + 'Left">'; + + if (item[0] != null) + str += item[0]; + else + str += hasChild ? nodeProperties.folderLeft : nodeProperties.itemLeft; + + str += '</td><td class="' + classStr + 'Text">' + item[1]; + + str += '</td><td class="' + classStr + 'Right">'; + + if (hasChild) + { + str += nodeProperties.folderRight; + strSub += cmDrawSubMenu (item, prefix, idSub, nodeProperties, zIndexStart + nodeProperties.zIndexInc, menuInfo, menuID); + } + else + str += nodeProperties.itemRight; + str += '</td></tr>'; + } + + str += '</table>'; + + if (nodeProperties.subMenuFooter) + str += nodeProperties.subMenuFooter; + str += '</div>' + strSub; + return str; +} + +// +// The function that builds the menu inside the specified element id. +// +// id id of the element +// orient orientation of the menu in [hv][ub][lr] format +// menu the menu object to be drawn +// nodeProperties properties for the theme +// prefix prefix of the theme +// +function cmDraw (id, menu, orient, nodeProperties, prefix) +{ + var obj = cmGetObject (id); + + if (!prefix) + prefix = nodeProperties.prefix; + if (!prefix) + prefix = ''; + if (!nodeProperties) + nodeProperties = _cmNodeProperties; + if (!orient) + orient = 'hbr'; + + var menuID = cmAllocMenu (id, menu, orient, nodeProperties, prefix); + var menuInfo = _cmMenuList[menuID]; + + // setup potentially missing properties + if (!nodeProperties.delay) + nodeProperties.delay = _cmNodeProperties.delay; + if (!nodeProperties.clickOpen) + nodeProperties.clickOpen = _cmNodeProperties.clickOpen; + if (!nodeProperties.zIndexStart) + nodeProperties.zIndexStart = _cmNodeProperties.zIndexStart; + if (!nodeProperties.zIndexInc) + nodeProperties.zIndexInc = _cmNodeProperties.zIndexInc; + if (!nodeProperties.offsetHMainAdjust) + nodeProperties.offsetHMainAdjust = _cmNodeProperties.offsetHMainAdjust; + if (!nodeProperties.offsetVMainAdjust) + nodeProperties.offsetVMainAdjust = _cmNodeProperties.offsetVMainAdjust; + if (!nodeProperties.offsetSubAdjust) + nodeProperties.offsetSubAdjust = _cmNodeProperties.offsetSubAdjust; + // save user setting on frame masking + menuInfo.cmFrameMasking = _cmFrameMasking; + + var str = '<table summary="main menu" class="' + prefix + 'Menu" cellspacing="' + nodeProperties.mainSpacing + '">'; + var strSub = ''; + + var vertical; + + // draw the main menu items + if (orient.charAt (0) == 'h') + { + str += '<tr>'; + vertical = false; + } + else + { + vertical = true; + } + + var i; + var item; + var idSub; + var hasChild; + + var classStr; + + for (i = 0; i < menu.length; ++i) + { + item = menu[i]; + + if (!item) + continue; + + item.menu = menu; + item.subMenuID = id; + + str += vertical ? '<tr' : '<td'; + str += ' class="' + prefix + 'MainItem"'; + + hasChild = (item.length > 5); + idSub = hasChild ? cmNewID () : null; + + str += cmActionItem (item, 1, idSub, menuInfo, menuID) + '>'; + + if (item == _cmSplit) + item = cmSplitItem (prefix, 1, vertical); + + if (item[0] == _cmNoAction || item[0] == _cmNoClick) + { + str += cmNoActionItem (item); + str += vertical? '</tr>' : '</td>'; + continue; + } + + classStr = prefix + 'Main' + (hasChild ? 'Folder' : 'Item'); + + str += vertical ? '<td' : '<span'; + str += ' class="' + classStr + 'Left">'; + + str += (item[0] == null) ? (hasChild ? nodeProperties.mainFolderLeft : nodeProperties.mainItemLeft) + : item[0]; + str += vertical ? '</td>' : '</span>'; + + str += vertical ? '<td' : '<span'; + str += ' class="' + classStr + 'Text">'; + str += item[1]; + + str += vertical ? '</td>' : '</span>'; + + str += vertical ? '<td' : '<span'; + str += ' class="' + classStr + 'Right">'; + + str += hasChild ? nodeProperties.mainFolderRight : nodeProperties.mainItemRight; + + str += vertical ? '</td>' : '</span>'; + + str += vertical ? '</tr>' : '</td>'; + + if (hasChild) + strSub += cmDrawSubMenu (item, prefix, idSub, nodeProperties, nodeProperties.zIndexStart, menuInfo, menuID); + } + if (!vertical) + str += '</tr>'; + str += '</table>' + strSub; + obj.innerHTML = str; +} + +// +// The function builds the menu inside the specified element id. +// +// This function is similar to cmDraw except that menu is taken from HTML node +// rather a javascript tree. This feature allows links to be scanned by search +// bots. +// +// This function basically converts HTML node to a javascript tree, and then calls +// cmDraw to draw the actual menu, replacing the hidden menu tree. +// +// Format: +// <div id="menu"> +// <ul style="visibility: hidden"> +// <li><span>icon</span><a href="link" title="description">main menu text</a> +// <ul> +// <li><span>icon</span><a href="link" title="description">submenu item</a> +// </li> +// </ul> +// </li> +// </ul> +// </div> +// +function cmDrawFromText (id, orient, nodeProperties, prefix) +{ + var domMenu = cmGetObject (id); + var menu = null; + for (var currentDomItem = domMenu.firstChild; currentDomItem; currentDomItem = currentDomItem.nextSibling) + { + if (!currentDomItem.tagName) + continue; + var tag = currentDomItem.tagName.toLowerCase (); + if (tag != 'ul' && tag != 'ol') + continue; + menu = cmDrawFromTextSubMenu (currentDomItem); + break; + } + if (menu) + cmDraw (id, menu, orient, nodeProperties, prefix); +} + +// +// a recursive function that build menu tree structure +// +function cmDrawFromTextSubMenu (domMenu) +{ + var items = new Array (); + for (var currentDomItem = domMenu.firstChild; currentDomItem; currentDomItem = currentDomItem.nextSibling) + { + if (!currentDomItem.tagName || currentDomItem.tagName.toLowerCase () != 'li') + continue; + if (currentDomItem.firstChild == null) + { + items[items.length] = _cmSplit; + continue; + } + var item = new Array (); + var currentItem = currentDomItem.firstChild; + var hasAction = false; + for (; currentItem; currentItem = currentItem.nextSibling) + { + // scan for span or div tag + if (!currentItem.tagName) + continue; + if (currentItem.className == 'cmNoClick') + { + item[0] = _cmNoClick; + item[1] = getActionHTML (currentItem); + hasAction = true; + break; + } + if (currentItem.className == 'cmNoAction') + { + item[0] = _cmNoAction; + item[1] = getActionHTML (currentItem); + hasAction = true; + break; + } + var tag = currentItem.tagName.toLowerCase (); + if (tag != 'span') + continue; + if (!currentItem.firstChild) + item[0] = null; + else + item[0] = currentItem.innerHTML; + currentItem = currentItem.nextSibling; + break; + } + if (hasAction) + { + items[items.length] = item; + continue; + } + if (!currentItem) + continue; + for (; currentItem; currentItem = currentItem.nextSibling) + { + if (!currentItem.tagName) + continue; + var tag = currentItem.tagName.toLowerCase (); + if (tag == 'a') + { + item[1] = currentItem.innerHTML; + item[2] = currentItem.href; + item[3] = currentItem.target; + item[4] = currentItem.title; + if (item[4] == '') + item[4] = null; + } + else if (tag == 'span' || tag == 'div') + { + item[1] = currentItem.innerHTML; + item[2] = null; + item[3] = null; + item[4] = null; + } + break; + } + + for (; currentItem; currentItem = currentItem.nextSibling) + { + // scan for span tag + if (!currentItem.tagName) + continue; + var tag = currentItem.tagName.toLowerCase (); + if (tag != 'ul' && tag != 'ol') + continue; + var subMenuItems = cmDrawFromTextSubMenu (currentItem); + for (i = 0; i < subMenuItems.length; ++i) + item[i + 5] = subMenuItems[i]; + break; + } + items[items.length] = item; + } + return items; +} + +// +// obtain the actual action item's action, which is inside a +// table. The first row should be it +// +function getActionHTML (htmlNode) +{ + var returnVal = '<td></td><td></td><td></td>'; + var currentDomItem; + // find the table first + for (currentDomItem = htmlNode.firstChild; currentDomItem; currentDomItem = currentDomItem.nextSibling) + { + if (currentDomItem.tagName && currentDomItem.tagName.toLowerCase () == 'table') + break; + } + if (!currentDomItem) + return returnVal; + // skip over tbody + for (currentDomItem = currentDomItem.firstChild; currentDomItem; currentDomItem = currentDomItem.nextSibling) + { + if (currentDomItem.tagName && currentDomItem.tagName.toLowerCase () == 'tbody') + break; + } + if (!currentDomItem) + return returnVal; + // get the first tr + for (currentDomItem = currentDomItem.firstChild; currentDomItem; currentDomItem = currentDomItem.nextSibling) + { + if (currentDomItem.tagName && currentDomItem.tagName.toLowerCase () == 'tr') + break; + } + if (!currentDomItem) + return returnVal; + return currentDomItem.innerHTML; +} + +// +// get the DOM object associated with the item +// +function cmGetMenuItem (item) +{ + if (!item.subMenuID) + return null; + var subMenu = cmGetObject (item.subMenuID); + // we are dealing with a main menu item + if (item.menu) + { + var menu = item.menu; + // skip over table, tbody, tr, reach td + subMenu = subMenu.firstChild.firstChild.firstChild.firstChild; + var i; + for (i = 0; i < menu.length; ++i) + { + if (menu[i] == item) + return subMenu; + subMenu = subMenu.nextSibling; + } + } + else if (item.parentItem) // sub menu item + { + var menu = item.parentItem; + var table = cmGetObject (item.subMenuID + 'Table'); + if (!table) + return null; + // skip over table, tbody, reach tr + subMenu = table.firstChild.firstChild; + var i; + for (i = 5; i < menu.length; ++i) + { + if (menu[i] == item) + return subMenu; + subMenu = subMenu.nextSibling; + } + } + return null; +} + +// +// disable a menu item +// +function cmDisableItem (item, prefix) +{ + if (!item) + return; + var menuItem = cmGetMenuItem (item); + if (!menuItem) + return; + if (item.menu) + menuItem.className = prefix + 'MainItemDisabled'; + else + menuItem.className = prefix + 'MenuItemDisabled'; + item.isDisabled = true; +} + +// +// enable a menu item +// +function cmEnableItem (item, prefix) +{ + if (!item) + return; + var menuItem = cmGetMenuItem (item); + if (!menuItem) + return; + if (item.menu) + menu.className = prefix + 'MainItem'; + else + menu.className = prefix + 'MenuItem'; + item.isDisabled = true; +} + +////////////////////////////////////////////////////////////////////// +// +// Mouse Event Handling Functions +// +////////////////////////////////////////////////////////////////////// + +// +// action should be taken for mouse moving in to the menu item +// +// Here we just do things concerning this menu item, w/o opening sub menus. +// +function cmItemMouseOver (obj, isMain, idSub, menuID, index, calledByOpenSub) +{ + if (!calledByOpenSub && _cmClicked) + { + cmItemMouseOverOpenSub (obj, isMain, idSub, menuID, index); + return; + } + + clearTimeout (_cmTimeOut); + + if (_cmItemList[index].isDisabled) + return; + + var prefix = _cmMenuList[menuID].prefix; + + if (!obj.cmMenuID) + { + obj.cmMenuID = menuID; + obj.cmIsMain = isMain; + } + + var thisMenu = cmGetThisMenu (obj, prefix); + + // insert obj into cmItems if cmItems doesn't have obj + if (!thisMenu.cmItems) + thisMenu.cmItems = new Array (); + var i; + for (i = 0; i < thisMenu.cmItems.length; ++i) + { + if (thisMenu.cmItems[i] == obj) + break; + } + if (i == thisMenu.cmItems.length) + { + //thisMenu.cmItems.push (obj); + thisMenu.cmItems[i] = obj; + } + + // hide the previous submenu that is not this branch + if (_cmCurrentItem) + { + // occationally, we get this case when user + // move the mouse slowly to the border + if (_cmCurrentItem == obj || _cmCurrentItem == thisMenu) + { + var item = _cmItemList[index]; + cmSetStatus (item); + return; + } + + var thatMenuInfo = _cmMenuList[_cmCurrentItem.cmMenuID]; + var thatPrefix = thatMenuInfo.prefix; + var thatMenu = cmGetThisMenu (_cmCurrentItem, thatPrefix); + + if (thatMenu != thisMenu.cmParentMenu) + { + if (_cmCurrentItem.cmIsMain) + _cmCurrentItem.className = thatPrefix + 'MainItem'; + else + _cmCurrentItem.className = thatPrefix + 'MenuItem'; + if (thatMenu.id != idSub) + cmHideMenu (thatMenu, thisMenu, thatMenuInfo); + } + } + + // okay, set the current menu to this obj + _cmCurrentItem = obj; + + // just in case, reset all items in this menu to MenuItem + cmResetMenu (thisMenu, prefix); + + var item = _cmItemList[index]; + var isDefaultItem = cmIsDefaultItem (item); + + if (isDefaultItem) + { + if (isMain) + obj.className = prefix + 'MainItemHover'; + else + obj.className = prefix + 'MenuItemHover'; + } + + cmSetStatus (item); +} + +// +// action should be taken for mouse moving in to the menu item +// +// This function also opens sub menu +// +function cmItemMouseOverOpenSub (obj, isMain, idSub, menuID, index) +{ + clearTimeout (_cmTimeOut); + + if (_cmItemList[index].isDisabled) + return; + + cmItemMouseOver (obj, isMain, idSub, menuID, index, true); + + if (idSub) + { + var subMenu = cmGetObject (idSub); + var menuInfo = _cmMenuList[menuID]; + var orient = menuInfo.orient; + var prefix = menuInfo.prefix; + cmShowSubMenu (obj, isMain, subMenu, menuInfo); + } +} + +// +// action should be taken for mouse moving out of the menu item +// +function cmItemMouseOut (obj, isMain, idSub, menuID, index) +{ + var delayTime = _cmMenuList[menuID].nodeProperties.delay; + _cmTimeOut = window.setTimeout ('cmHideMenuTime ()', delayTime); + window.defaultStatus = ''; +} + +// +// action should be taken for mouse button down at a menu item +// +function cmItemMouseDown (obj, isMain, idSub, menuID, index) +{ + if (_cmItemList[index].isDisabled) + return; + + if (cmIsDefaultItem (_cmItemList[index])) + { + var prefix = _cmMenuList[menuID].prefix; + if (obj.cmIsMain) + obj.className = prefix + 'MainItemActive'; + else + obj.className = prefix + 'MenuItemActive'; + } +} + +// +// action should be taken for mouse button down at a menu item +// this is one also opens submenu if needed +// +function cmItemMouseDownOpenSub (obj, isMain, idSub, menuID, index) +{ + if (_cmItemList[index].isDisabled) + return; + + _cmClicked = true; + cmItemMouseDown (obj, isMain, idSub, menuID, index); + + if (idSub) + { + var subMenu = cmGetObject (idSub); + var menuInfo = _cmMenuList[menuID]; + cmShowSubMenu (obj, isMain, subMenu, menuInfo); + } +} + +// +// action should be taken for mouse button up at a menu item +// +function cmItemMouseUp (obj, isMain, idSub, menuID, index) +{ + if (_cmItemList[index].isDisabled) + return; + + var item = _cmItemList[index]; + + var link = null, target = '_self'; + + if (item.length > 2) + link = item[2]; + if (item.length > 3 && item[3]) + target = item[3]; + + if (link != null) + { + _cmClicked = false; + window.open (link, target); + } + + var menuInfo = _cmMenuList[menuID]; + var prefix = menuInfo.prefix; + var thisMenu = cmGetThisMenu (obj, prefix); + + var hasChild = (item.length > 5); + if (!hasChild) + { + if (cmIsDefaultItem (item)) + { + if (obj.cmIsMain) + obj.className = prefix + 'MainItem'; + else + obj.className = prefix + 'MenuItem'; + } + cmHideMenu (thisMenu, null, menuInfo); + } + else + { + if (cmIsDefaultItem (item)) + { + if (obj.cmIsMain) + obj.className = prefix + 'MainItemHover'; + else + obj.className = prefix + 'MenuItemHover'; + } + } +} + +////////////////////////////////////////////////////////////////////// +// +// Mouse Event Support Utility Functions +// +////////////////////////////////////////////////////////////////////// + +// +// move submenu to the appropriate location +// +function cmMoveSubMenu (obj, isMain, subMenu, menuInfo) +{ + var orient = menuInfo.orient; + + var offsetAdjust; + + if (isMain) + { + if (orient.charAt (0) == 'h') + offsetAdjust = menuInfo.nodeProperties.offsetHMainAdjust; + else + offsetAdjust = menuInfo.nodeProperties.offsetVMainAdjust; + } + else + offsetAdjust = menuInfo.nodeProperties.offsetSubAdjust; + + if (!isMain && orient.charAt (0) == 'h') + orient = 'v' + orient.charAt (1) + orient.charAt (2); + + var mode = String (orient); + var p = subMenu.offsetParent; + var subMenuWidth = cmGetWidth (subMenu); + var horiz = cmGetHorizontalAlign (obj, mode, p, subMenuWidth); + if (mode.charAt (0) == 'h') + { + if (mode.charAt (1) == 'b') + subMenu.style.top = (cmGetYAt (obj, p) + cmGetHeight (obj) + offsetAdjust[1]) + 'px'; + else + subMenu.style.top = (cmGetYAt (obj, p) - cmGetHeight (subMenu) - offsetAdjust[1]) + 'px'; + if (horiz == 'r') + subMenu.style.left = (cmGetXAt (obj, p) + offsetAdjust[0]) + 'px'; + else + subMenu.style.left = (cmGetXAt (obj, p) + cmGetWidth (obj) - subMenuWidth - offsetAdjust[0]) + 'px'; + } + else + { + if (horiz == 'r') + subMenu.style.left = (cmGetXAt (obj, p) + cmGetWidth (obj) + offsetAdjust[0]) + 'px'; + else + subMenu.style.left = (cmGetXAt (obj, p) - subMenuWidth - offsetAdjust[0]) + 'px'; + if (mode.charAt (1) == 'b') + subMenu.style.top = (cmGetYAt (obj, p) + offsetAdjust[1]) + 'px'; + else + subMenu.style.top = (cmGetYAt (obj, p) + cmGetHeight (obj) - cmGetHeight (subMenu) + offsetAdjust[1]) + 'px'; + } + + // IE specific iframe masking method + /*@cc_on + @if (@_jscript_version >= 5.5) + if (menuInfo.cmFrameMasking) + { + if (!subMenu.cmFrameObj) + { + var frameObj = cmAllocFrame (); + subMenu.cmFrameObj = frameObj; + } + + var frameObj = subMenu.cmFrameObj; + frameObj.style.zIndex = subMenu.style.zIndex - 1; + frameObj.style.left = (cmGetX (subMenu) - cmGetX (frameObj.offsetParent)) + 'px'; + frameObj.style.top = (cmGetY (subMenu) - cmGetY (frameObj.offsetParent)) + 'px'; + frameObj.style.width = cmGetWidth (subMenu) + 'px'; + frameObj.style.height = cmGetHeight (subMenu) + 'px'; + frameObj.style.display = 'block'; + } + @end + @*/ + if (horiz != orient.charAt (2)) + orient = orient.charAt (0) + orient.charAt (1) + horiz; + return orient; +} + +// +// automatically re-adjust the menu position based on available screen size. +// +function cmGetHorizontalAlign (obj, mode, p, subMenuWidth) +{ + var horiz = mode.charAt (2); + if (!(document.body)) + return horiz; + var body = document.body; + var browserLeft; + var browserRight; + if (window.innerWidth) + { + // DOM window attributes + browserLeft = window.pageXOffset; + browserRight = window.innerWidth + browserLeft; + } + else if (body.clientWidth) + { + // IE attributes + browserLeft = body.clientLeft; + browserRight = body.clientWidth + browserLeft; + } + else + return horiz; + if (mode.charAt (0) == 'h') + { + if (horiz == 'r' && (cmGetXAt (obj) + subMenuWidth) > browserRight) + horiz = 'l'; + if (horiz == 'l' && (cmGetXAt (obj) + cmGetWidth (obj) - subMenuWidth) < browserLeft) + horiz = 'r'; + return horiz; + } + else + { + if (horiz == 'r' && (cmGetXAt (obj, p) + cmGetWidth (obj) + subMenuWidth) > browserRight) + horiz = 'l'; + if (horiz == 'l' && (cmGetXAt (obj, p) - subMenuWidth) < browserLeft) + horiz = 'r'; + return horiz; + } +} + +// +// show the subMenu w/ specified orientation +// also move it to the correct coordinates +// +function cmShowSubMenu (obj, isMain, subMenu, menuInfo) +{ + var prefix = menuInfo.prefix; + + if (!subMenu.cmParentMenu) + { + // establish the tree w/ back edge + var thisMenu = cmGetThisMenu (obj, prefix); + subMenu.cmParentMenu = thisMenu; + if (!thisMenu.cmSubMenu) + thisMenu.cmSubMenu = new Array (); + thisMenu.cmSubMenu[thisMenu.cmSubMenu.length] = subMenu; + } + + var effectInstance = subMenu.cmEffect; + if (effectInstance) + effectInstance.showEffect (true); + else + { + // position the sub menu only if we are not already showing the submenu + var orient = cmMoveSubMenu (obj, isMain, subMenu, menuInfo); + subMenu.cmOrient = orient; + + var forceShow = false; + if (subMenu.style.visibility != 'visible' && menuInfo.nodeProperties.effect) + { + try + { + effectInstance = menuInfo.nodeProperties.effect.getInstance (subMenu, orient); + effectInstance.showEffect (false); + } + catch (e) + { + forceShow = true; + subMenu.cmEffect = null; + } + } + else + forceShow = true; + + if (forceShow) + { + subMenu.style.visibility = 'visible'; + /*@cc_on + @if (@_jscript_version >= 5.5) + if (subMenu.cmFrameObj) + subMenu.cmFrameObj.style.display = 'block'; + @end + @*/ + } + } + + if (!_cmHideObjects) + { + _cmHideObjects = 2; // default = not hide, may change behavior later + try + { + if (window.opera) + { + if (parseInt (navigator.appVersion) < 9) + _cmHideObjects = 1; + } + } + catch (e) + { + } + } + + if (_cmHideObjects == 1) + { + if (!subMenu.cmOverlap) + subMenu.cmOverlap = new Array (); + cmHideControl ("IFRAME", subMenu); + cmHideControl ("OBJECT", subMenu); + } +} + +// +// reset all the menu items to class MenuItem in thisMenu +// +function cmResetMenu (thisMenu, prefix) +{ + if (thisMenu.cmItems) + { + var i; + var str; + var items = thisMenu.cmItems; + for (i = 0; i < items.length; ++i) + { + if (items[i].cmIsMain) + { + if (items[i].className == (prefix + 'MainItemDisabled')) + continue; + } + else + { + if (items[i].className == (prefix + 'MenuItemDisabled')) + continue; + } + if (items[i].cmIsMain) + str = prefix + 'MainItem'; + else + str = prefix + 'MenuItem'; + if (items[i].className != str) + items[i].className = str; + } + } +} + +// +// called by the timer to hide the menu +// +function cmHideMenuTime () +{ + _cmClicked = false; + if (_cmCurrentItem) + { + var menuInfo = _cmMenuList[_cmCurrentItem.cmMenuID]; + var prefix = menuInfo.prefix; + cmHideMenu (cmGetThisMenu (_cmCurrentItem, prefix), null, menuInfo); + _cmCurrentItem = null; + } +} + +// +// Only hides this menu +// +function cmHideThisMenu (thisMenu, menuInfo) +{ + var effectInstance = thisMenu.cmEffect; + if (effectInstance) + effectInstance.hideEffect (true); + else + { + thisMenu.style.visibility = 'hidden'; + thisMenu.style.top = '0px'; + thisMenu.style.left = '0px'; + thisMenu.cmOrient = null; + /*@cc_on + @if (@_jscript_version >= 5.5) + if (thisMenu.cmFrameObj) + { + var frameObj = thisMenu.cmFrameObj; + frameObj.style.display = 'none'; + frameObj.style.width = '1px'; + frameObj.style.height = '1px'; + thisMenu.cmFrameObj = null; + cmFreeFrame (frameObj); + } + @end + @*/ + } + + cmShowControl (thisMenu); + thisMenu.cmItems = null; +} + +// +// hide thisMenu, children of thisMenu, as well as the ancestor +// of thisMenu until currentMenu is encountered. currentMenu +// will not be hidden +// +function cmHideMenu (thisMenu, currentMenu, menuInfo) +{ + var prefix = menuInfo.prefix; + var str = prefix + 'SubMenu'; + + // hide the down stream menus + if (thisMenu.cmSubMenu) + { + var i; + for (i = 0; i < thisMenu.cmSubMenu.length; ++i) + { + cmHideSubMenu (thisMenu.cmSubMenu[i], menuInfo); + } + } + + // hide the upstream menus + while (thisMenu && thisMenu ... [truncated message content] |
From: <fan...@us...> - 2008-01-28 16:33:53
|
Revision: 4827 http://linpha.svn.sourceforge.net/linpha/?rev=4827&view=rev Author: fangehrn Date: 2008-01-28 08:33:41 -0800 (Mon, 28 Jan 2008) Log Message: ----------- Modified Paths: -------------- trunk/misc/.settings/org.eclipse.core.resources.prefs trunk/misc/design/14cornersSchill/box.php Added Paths: ----------- trunk/misc/design/01current/ trunk/misc/design/02utf8/ trunk/misc/design/03utf8db/ trunk/misc/design/04utf8file/ trunk/misc/design/14cornersSchill/box_test.php Removed Paths: ------------- trunk/misc/design/13cornersTransparent/index.php trunk/misc/design/1current/ trunk/misc/design/2utf8/ trunk/misc/design/3utf8db/ trunk/misc/design/4utf8file/ Modified: trunk/misc/.settings/org.eclipse.core.resources.prefs =================================================================== --- trunk/misc/.settings/org.eclipse.core.resources.prefs 2008-01-28 16:23:54 UTC (rev 4826) +++ trunk/misc/.settings/org.eclipse.core.resources.prefs 2008-01-28 16:33:41 UTC (rev 4827) @@ -1,5 +1,5 @@ -#Sun Jan 20 22:42:44 CET 2008 +#Mon Jan 28 17:30:26 CET 2008 eclipse.preferences.version=1 -encoding//design/2utf8/index2.php=ISO-8859-15 -encoding//design/2utf8/index3.php=ISO-8859-15 -encoding//design/4utf8file/langISO-8859-15.php=ISO-8859-15 +encoding//design/02utf8/index2.php=ISO-8859-15 +encoding//design/02utf8/index3.php=ISO-8859-15 +encoding//design/04utf8file/langISO-8859-15.php=ISO-8859-15 Copied: trunk/misc/design/01current (from rev 4825, trunk/misc/design/1current) Copied: trunk/misc/design/02utf8 (from rev 4825, trunk/misc/design/2utf8) Copied: trunk/misc/design/03utf8db (from rev 4825, trunk/misc/design/3utf8db) Copied: trunk/misc/design/04utf8file (from rev 4825, trunk/misc/design/4utf8file) Deleted: trunk/misc/design/13cornersTransparent/index.php =================================================================== --- trunk/misc/design/13cornersTransparent/index.php 2008-01-28 16:23:54 UTC (rev 4826) +++ trunk/misc/design/13cornersTransparent/index.php 2008-01-28 16:33:41 UTC (rev 4827) @@ -1,270 +0,0 @@ -<?php -header('content-type: text/html; charset: utf-8'); -/*echo '<?xml version="1.0" encoding="utf-8"?>'."\n"; not necessary, IE has problems with this*/ -?> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta http-equiv="content-type" content="text/html; charset=UTF-8"> - -<title>Linpha 2.0</title> - -<!-- css includes --> - -<link rel='stylesheet' href='./colorsettings.php?bg=87CEFA&bodybg=DDDDDD&font=000000&albumsbg=D5FCF4&links=005388&linkshover=666666&fieldscolor=CCCCCC' type='text/css'> -<link rel='stylesheet' href='./global.css' type='text/css'> -<link rel='stylesheet' href='./home.css' type='text/css'> - - - -<style> -.roundcont { - width: 250px; - background-color: #f90; - color: #fff; -} - -.roundcont p { - margin: 0 10px; -} - -.roundtop { - background: url(test/tr.gif) no-repeat top right; -} - -.roundbottom { - background: url(test/br.gif) no-repeat top right; -} - -img.corner { - width: 15px; - height: 15px; - border: none; - display: block !important; -} - - -.roundcont2 { - width: 250px; - background-color: #87CEFA; - color: #000; -} - -.roundcont2 p { - margin: 0 10px; -} - -.roundtop2 { - background: url(test/tr_blue.png) no-repeat top right; -} - -.roundbottom2 { - background: url(test/br_blue.png) no-repeat top right; -} - - -.roundcont3 { - /*width: 250px;*/ - background-color: #87CEFA; - color: #000; -} - -.roundcont3 p { - margin: 0 10px; -} - -.roundtop3 { - background: url(test/tr_blue.png) no-repeat top right; -} - -.roundbottom3 { - background: url(test/br_blue.png) no-repeat top right; -} - -</style> - - - -</head> - - -<body id="linBody"> - - -<!-- title/navigation --> - -<div id="linDivTitle">Linpha 2.0 :: <a href="/linpha2/?&linCat=alb&linId=0">></a> </div> - -<div class="roundcont"> - <div class="roundtop"> - <img src="test/tl.gif" alt="" width="15" height="15" class="corner" style="display: none" /> - </div> - - <p>Lorem ipsum dolor sit amet, consectetur adipisicing - elit, sed do eiusmod tempor incididunt ut labore et - dolore magna aliqua. Ut enim ad minim veniam, quis - nostrud exercitation ullamco laboris nisi ut aliquip - ex ea commodo consequat. Duis aute irure dolor in - reprehenderit in voluptate velit esse cillum dolore eu - fugiat nulla pariatur. Excepteur sint occaecat cupidatat - non proident, sunt in culpa qui officia deserunt mollit - anim id est laborum.</p> - - <div class="roundbottom"> - <img src="test/bl.gif" alt="" width="15" height="15" class="corner" style="display: none" /> - </div> -</div> - -<br /><br /> - - -<div class="roundcont2"> - <div class="roundtop2"> - <img src="test/tl_blue.png" alt="" width="15" height="15" class="corner" style="display: none" /> - </div> - - <p>Lorem ipsum dolor sit amet, consectetur adipisicing - elit, sed do eiusmod tempor incididunt ut labore et - dolore magna aliqua. Ut enim ad minim veniam, quis - nostrud exercitation ullamco laboris nisi ut aliquip - ex ea commodo consequat. Duis aute irure dolor in - reprehenderit in voluptate velit esse cillum dolore eu - fugiat nulla pariatur. Excepteur sint occaecat cupidatat - non proident, sunt in culpa qui officia deserunt mollit - anim id est laborum.</p> - - <div class="roundbottom2"> - <img src="test/bl_blue.png" alt="" width="15" height="15" class="corner" style="display: none" /> - </div> -</div> - -<br /><br /> - - -<div class="roundcont3"> - <div class="roundtop3"> - <img src="test/tl_blue.png" alt="" width="15" height="15" class="corner" style="display: none" /> - </div> - - <p>Lorem ipsum dolor sit amet, consectetur adipisicing - elit, sed do eiusmod tempor incididunt ut labore et - dolore magna aliqua. Ut enim ad minim veniam, quis - nostrud exercitation ullamco laboris nisi ut aliquip - ex ea commodo consequat. Duis aute irure dolor in - reprehenderit in voluptate velit esse cillum dolore eu - fugiat nulla pariatur. Excepteur sint occaecat cupidatat - non proident, sunt in culpa qui officia deserunt mollit - anim id est laborum.</p> - - <div class="roundbottom3"> - <img src="test/bl_blue.png" alt="" width="15" height="15" class="corner" style="display: none" /> - </div> -</div> - -<br /><br /> - -<div style="background-color: #87CEFA; color: #000;"> - <div style="background: url(test/tr_blue.png) no-repeat top right;"> - <img src="test/tl_blue.png" alt="" width="15" height="15" style="display: block;" /> - </div> - - <p style="margin: 0 10px;">Lorem ipsum dolor sit amet, consectetur adipisicing - elit, sed do eiusmod tempor incididunt ut labore et - dolore magna aliqua. Ut enim ad minim veniam, quis - nostrud exercitation ullamco laboris nisi ut aliquip - ex ea commodo consequat. Duis aute irure dolor in - reprehenderit in voluptate velit esse cillum dolore eu - fugiat nulla pariatur. Excepteur sint occaecat cupidatat - non proident, sunt in culpa qui officia deserunt mollit - anim id est laborum.</p> - - <div style="background: url(test/br_blue.png) no-repeat top right;"> - <img src="test/bl_blue.png" alt="" width="15" height="15" style="display: block;" /> - </div> -</div> - -<br /><br /> - - -<div id="linDivMainOuter"> - <div style="background: url(./roundcorners.php?color=87CEFA&bgcolor=DDDDDD&size=15&align=tr) no-repeat top right;"> - <img src="./roundcorners.php?color=87CEFA&bgcolor=DDDDDD&size=15&align=tl" alt="" width="15" height="15" style="display: block;" /> - </div> - - <div id="linDivMain"> - - <h1 class="linStyle">Willkommen</h1>Hi, this is the home of "The PHP Photo Archive" <a href="http://linpha.sf.net">aka LinPHA</a>.<br /> <br /> - - - <!-- Random Images --> - - <!-- New Images --> - - <!-- Browse by Date --> - - <!-- Albums --> - <hr class="linStyle" /> - - <h1 class="linStyle">Alben</h1> - - <div class="linDivFolder"> - <div style="background: url(./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=tr) no-repeat top right;"> - <img src="./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=tl" alt="" width="15" height="15" style="display: block;" /> - </div> - <div class="linDivThumbnail"> - <a href="/linpha2/?&linCat=alb&linId=4"><img class="linImgFolderThumbnail" src="../thumb1.gif" alt="thumbnail_album" /></a> - </div> - <div class="linDivFolderText"> - <h2 class="linStyle"><a href="/linpha2/?&linCat=alb&linId=4">2005.05.14-16 Barcelona</a></h2> - Di 25. Dez 2007 19:08:13<br />0 Fotos<br /> - </div> - <div style="clear: both;"></div> - <div style="background: url(./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=br) no-repeat top right;"> - <img src="./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=bl" alt="" width="15" height="15" style="display: block;" /> - </div> - </div> - - <div class="linDivFolder"> - <div style="background: url(./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=tr) no-repeat top right;"> - <img src="./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=tl" alt="" width="15" height="15" style="display: block;" /> - </div> - <div class="linDivThumbnail"> - <a href="/linpha2/?&linCat=alb&linId=4"><img class="linImgFolderThumbnail" src="../thumb2.gif" alt="thumbnail_album" /></a> - </div> - <div class="linDivFolderText"> - <h2 class="linStyle"><a href="/linpha2/?&linCat=alb&linId=4">2007.07-14-28 Fuerteventura</a></h2> - Di 25. Dez 2007 19:08:13<br />0 Fotos<br /> - </div> - <div style="clear: both;"></div> - <div style="background: url(./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=br) no-repeat top right;"> - <img src="./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=bl" alt="" width="15" height="15" style="display: block;" /> - </div> - </div> - - <div class="linDivFolder"> - <div style="background: url(./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=tr) no-repeat top right;"> - <img src="./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=tl" alt="" width="15" height="15" style="display: block;" /> - </div> - <div class="linDivThumbnail"> - <a href="/linpha2/?&linCat=alb&linId=4"><img class="linImgFolderThumbnail" src="../thumb3.gif" alt="thumbnail_album" /></a> - </div> - <div class="linDivFolderText"> - <h2 class="linStyle"><a href="/linpha2/?&linCat=alb&linId=4">2007.12.15-16 Skifahren Samnaun</a></h2> - Di 25. Dez 2007 19:08:13<br />0 Fotos<br /> - </div> - <div style="clear: both;"></div> - <div style="background: url(./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=br) no-repeat top right;"> - <img src="./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=bl" alt="" width="15" height="15" style="display: block;" /> - </div> - </div> - - </div> - - <div style="background: url(./roundcorners.php?color=87CEFA&bgcolor=DDDDDD&size=15&align=br) no-repeat top right;"> - <img src="./roundcorners.php?color=87CEFA&bgcolor=DDDDDD&size=15&align=bl" alt="" width="15" height="15" style="display: block;" /> - </div> -</div> -</body> -</html> - Modified: trunk/misc/design/14cornersSchill/box.php =================================================================== --- trunk/misc/design/14cornersSchill/box.php 2008-01-28 16:23:54 UTC (rev 4826) +++ trunk/misc/design/14cornersSchill/box.php 2008-01-28 16:33:41 UTC (rev 4827) @@ -3,7 +3,7 @@ include_once( './func.watermark.php' ); -$col = (isset($_GET['col']) ? $_GET['col'] : 'orange'); +$col = (isset($_GET['col']) ? $_GET['col'] : '87CEFA'); $rad = (isset($_GET['r']) ? intval($_GET['r']) : 15); $width = (isset($_GET['w']) ? intval($_GET['w']) : 2000); $height = (isset($_GET['h']) ? intval($_GET['h']) : 1000); Added: trunk/misc/design/14cornersSchill/box_test.php =================================================================== --- trunk/misc/design/14cornersSchill/box_test.php (rev 0) +++ trunk/misc/design/14cornersSchill/box_test.php 2008-01-28 16:33:41 UTC (rev 4827) @@ -0,0 +1,6 @@ +<img src="box.php" width="200" height="100" /><br /><br /> +<img src="box.php?col=orange&r=50&w=100&h=100" /><br /><br /> +<img src="box.php?col=87CEFA&w=200&h=100" /><br /><br /> +<img src="box.php?col=red&r=5&w=50&h=25" /><br /><br /> +<img src="box.php?col=lightcyan&w=30&h=150" /><br /><br /> +<img src="box.php" /><br /><br /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fan...@us...> - 2008-01-28 16:24:14
|
Revision: 4826 http://linpha.svn.sourceforge.net/linpha/?rev=4826&view=rev Author: fangehrn Date: 2008-01-28 08:23:54 -0800 (Mon, 28 Jan 2008) Log Message: ----------- Modified Paths: -------------- trunk/misc/design/info.txt Added Paths: ----------- trunk/misc/.cache/.dataModel trunk/misc/design/12cornersNewStrict/ trunk/misc/design/12cornersNewStrict/colorsettings.php trunk/misc/design/12cornersNewStrict/func.watermark.php trunk/misc/design/12cornersNewStrict/global.css trunk/misc/design/12cornersNewStrict/home.css trunk/misc/design/12cornersNewStrict/index.php trunk/misc/design/12cornersNewStrict/roundcorners.php trunk/misc/design/12cornersNewStrict/test/ trunk/misc/design/12cornersNewStrict/test/bl.gif trunk/misc/design/12cornersNewStrict/test/bl_blue.png trunk/misc/design/12cornersNewStrict/test/br.gif trunk/misc/design/12cornersNewStrict/test/br_blue.png trunk/misc/design/12cornersNewStrict/test/index.php trunk/misc/design/12cornersNewStrict/test/tl.gif trunk/misc/design/12cornersNewStrict/test/tl_blue.png trunk/misc/design/12cornersNewStrict/test/tr.gif trunk/misc/design/12cornersNewStrict/test/tr_blue.png trunk/misc/design/13cornersTransparent/ trunk/misc/design/13cornersTransparent/colorsettings.php trunk/misc/design/13cornersTransparent/global.css trunk/misc/design/13cornersTransparent/home.css trunk/misc/design/13cornersTransparent/index.php trunk/misc/design/14cornersSchill/ trunk/misc/design/14cornersSchill/albumbg.gif trunk/misc/design/14cornersSchill/basic/ trunk/misc/design/14cornersSchill/basic/basic.php trunk/misc/design/14cornersSchill/basic/dialog.css trunk/misc/design/14cornersSchill/basic/dialog2-blue-800x1600.png trunk/misc/design/14cornersSchill/basic/dialog2-blue.gif trunk/misc/design/14cornersSchill/bg.gif trunk/misc/design/14cornersSchill/bg.png trunk/misc/design/14cornersSchill/box.php trunk/misc/design/14cornersSchill/colorsettings.php trunk/misc/design/14cornersSchill/func.watermark.php trunk/misc/design/14cornersSchill/global.css trunk/misc/design/14cornersSchill/home.css trunk/misc/design/14cornersSchill/index2.php trunk/misc/design/14cornersSchill/roundCorners.css Removed Paths: ------------- trunk/misc/design/10cornersOld/csshover.htc trunk/misc/design/10cornersOld/expand.gif trunk/misc/design/11cornersNifty/csshover.htc trunk/misc/design/11cornersNifty/expand.gif Added: trunk/misc/.cache/.dataModel =================================================================== (Binary files differ) Property changes on: trunk/misc/.cache/.dataModel ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Deleted: trunk/misc/design/10cornersOld/csshover.htc =================================================================== --- trunk/misc/design/10cornersOld/csshover.htc 2008-01-26 17:25:41 UTC (rev 4825) +++ trunk/misc/design/10cornersOld/csshover.htc 2008-01-28 16:23:54 UTC (rev 4826) @@ -1,120 +0,0 @@ -<attach event="ondocumentready" handler="parseStylesheets" /> -<script> -/** - * Whatever:hover - V1.42.060206 - hover & active - * ------------------------------------------------------------ - * (c) 2005 - Peter Nederlof - * Peterned - http://www.xs4all.nl/~peterned/ - * License - http://creativecommons.org/licenses/LGPL/2.1/ - * - * Whatever:hover is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * Whatever:hover is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * Credits and thanks to: - * Arnoud Berendsen, Martin Reurings, Robert Hanson - * - * howto: body { behavior:url("csshover.htc"); } - * ------------------------------------------------------------ - */ - -var csshoverReg = /(^|\s)(([^a]([^ ]+)?)|(a([^#.][^ ]+)+)):(hover|active)/i, -currentSheet, doc = window.document, hoverEvents = [], activators = { - onhover:{on:'onmouseover', off:'onmouseout'}, - onactive:{on:'onmousedown', off:'onmouseup'} -} - -function parseStylesheets() { - if(!/MSIE (5|6)/.test(navigator.userAgent)) return; - window.attachEvent('onunload', unhookHoverEvents); - var sheets = doc.styleSheets, l = sheets.length; - for(var i=0; i<l; i++) - parseStylesheet(sheets[i]); -} - function parseStylesheet(sheet) { - if(sheet.imports) { - try { - var imports = sheet.imports, l = imports.length; - for(var i=0; i<l; i++) parseStylesheet(sheet.imports[i]); - } catch(securityException){} - } - - try { - var rules = (currentSheet = sheet).rules, l = rules.length; - for(var j=0; j<l; j++) parseCSSRule(rules[j]); - } catch(securityException){} - } - - function parseCSSRule(rule) { - var select = rule.selectorText, style = rule.style.cssText; - if(!csshoverReg.test(select) || !style) return; - - var pseudo = select.replace(/[^:]+:([a-z-]+).*/i, 'on$1'); - var newSelect = select.replace(/(\.([a-z0-9_-]+):[a-z]+)|(:[a-z]+)/gi, '.$2' + pseudo); - var className = (/\.([a-z0-9_-]*on(hover|active))/i).exec(newSelect)[1]; - var affected = select.replace(/:(hover|active).*$/, ''); - var elements = getElementsBySelect(affected); - if(elements.length == 0) return; - - currentSheet.addRule(newSelect, style); - for(var i=0; i<elements.length; i++) - new HoverElement(elements[i], className, activators[pseudo]); - } - -function HoverElement(node, className, events) { - if(!node.hovers) node.hovers = {}; - if(node.hovers[className]) return; - node.hovers[className] = true; - hookHoverEvent(node, events.on, function() { node.className += ' ' + className; }); - hookHoverEvent(node, events.off, function() { node.className = node.className.replace(new RegExp('\\s+'+className, 'g'),''); }); -} - function hookHoverEvent(node, type, handler) { - node.attachEvent(type, handler); - hoverEvents[hoverEvents.length] = { - node:node, type:type, handler:handler - }; - } - - function unhookHoverEvents() { - for(var e,i=0; i<hoverEvents.length; i++) { - e = hoverEvents[i]; - e.node.detachEvent(e.type, e.handler); - } - } - -function getElementsBySelect(rule) { - var parts, nodes = [doc]; - parts = rule.split(' '); - for(var i=0; i<parts.length; i++) { - nodes = getSelectedNodes(parts[i], nodes); - } return nodes; -} - function getSelectedNodes(select, elements) { - var result, node, nodes = []; - var identify = (/\#([a-z0-9_-]+)/i).exec(select); - if(identify) { - var element = doc.getElementById(identify[1]); - return element? [element]:nodes; - } - - var classname = (/\.([a-z0-9_-]+)/i).exec(select); - var tagName = select.replace(/(\.|\#|\:)[a-z0-9_-]+/i, ''); - var classReg = classname? new RegExp('\\b' + classname[1] + '\\b'):false; - for(var i=0; i<elements.length; i++) { - result = tagName? elements[i].all.tags(tagName):elements[i].all; - for(var j=0; j<result.length; j++) { - node = result[j]; - if(classReg && !classReg.test(node.className)) continue; - nodes[nodes.length] = node; - } - } - - return nodes; - } -</script> \ No newline at end of file Deleted: trunk/misc/design/10cornersOld/expand.gif =================================================================== (Binary files differ) Deleted: trunk/misc/design/11cornersNifty/csshover.htc =================================================================== --- trunk/misc/design/11cornersNifty/csshover.htc 2008-01-26 17:25:41 UTC (rev 4825) +++ trunk/misc/design/11cornersNifty/csshover.htc 2008-01-28 16:23:54 UTC (rev 4826) @@ -1,120 +0,0 @@ -<attach event="ondocumentready" handler="parseStylesheets" /> -<script> -/** - * Whatever:hover - V1.42.060206 - hover & active - * ------------------------------------------------------------ - * (c) 2005 - Peter Nederlof - * Peterned - http://www.xs4all.nl/~peterned/ - * License - http://creativecommons.org/licenses/LGPL/2.1/ - * - * Whatever:hover is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * Whatever:hover is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * Credits and thanks to: - * Arnoud Berendsen, Martin Reurings, Robert Hanson - * - * howto: body { behavior:url("csshover.htc"); } - * ------------------------------------------------------------ - */ - -var csshoverReg = /(^|\s)(([^a]([^ ]+)?)|(a([^#.][^ ]+)+)):(hover|active)/i, -currentSheet, doc = window.document, hoverEvents = [], activators = { - onhover:{on:'onmouseover', off:'onmouseout'}, - onactive:{on:'onmousedown', off:'onmouseup'} -} - -function parseStylesheets() { - if(!/MSIE (5|6)/.test(navigator.userAgent)) return; - window.attachEvent('onunload', unhookHoverEvents); - var sheets = doc.styleSheets, l = sheets.length; - for(var i=0; i<l; i++) - parseStylesheet(sheets[i]); -} - function parseStylesheet(sheet) { - if(sheet.imports) { - try { - var imports = sheet.imports, l = imports.length; - for(var i=0; i<l; i++) parseStylesheet(sheet.imports[i]); - } catch(securityException){} - } - - try { - var rules = (currentSheet = sheet).rules, l = rules.length; - for(var j=0; j<l; j++) parseCSSRule(rules[j]); - } catch(securityException){} - } - - function parseCSSRule(rule) { - var select = rule.selectorText, style = rule.style.cssText; - if(!csshoverReg.test(select) || !style) return; - - var pseudo = select.replace(/[^:]+:([a-z-]+).*/i, 'on$1'); - var newSelect = select.replace(/(\.([a-z0-9_-]+):[a-z]+)|(:[a-z]+)/gi, '.$2' + pseudo); - var className = (/\.([a-z0-9_-]*on(hover|active))/i).exec(newSelect)[1]; - var affected = select.replace(/:(hover|active).*$/, ''); - var elements = getElementsBySelect(affected); - if(elements.length == 0) return; - - currentSheet.addRule(newSelect, style); - for(var i=0; i<elements.length; i++) - new HoverElement(elements[i], className, activators[pseudo]); - } - -function HoverElement(node, className, events) { - if(!node.hovers) node.hovers = {}; - if(node.hovers[className]) return; - node.hovers[className] = true; - hookHoverEvent(node, events.on, function() { node.className += ' ' + className; }); - hookHoverEvent(node, events.off, function() { node.className = node.className.replace(new RegExp('\\s+'+className, 'g'),''); }); -} - function hookHoverEvent(node, type, handler) { - node.attachEvent(type, handler); - hoverEvents[hoverEvents.length] = { - node:node, type:type, handler:handler - }; - } - - function unhookHoverEvents() { - for(var e,i=0; i<hoverEvents.length; i++) { - e = hoverEvents[i]; - e.node.detachEvent(e.type, e.handler); - } - } - -function getElementsBySelect(rule) { - var parts, nodes = [doc]; - parts = rule.split(' '); - for(var i=0; i<parts.length; i++) { - nodes = getSelectedNodes(parts[i], nodes); - } return nodes; -} - function getSelectedNodes(select, elements) { - var result, node, nodes = []; - var identify = (/\#([a-z0-9_-]+)/i).exec(select); - if(identify) { - var element = doc.getElementById(identify[1]); - return element? [element]:nodes; - } - - var classname = (/\.([a-z0-9_-]+)/i).exec(select); - var tagName = select.replace(/(\.|\#|\:)[a-z0-9_-]+/i, ''); - var classReg = classname? new RegExp('\\b' + classname[1] + '\\b'):false; - for(var i=0; i<elements.length; i++) { - result = tagName? elements[i].all.tags(tagName):elements[i].all; - for(var j=0; j<result.length; j++) { - node = result[j]; - if(classReg && !classReg.test(node.className)) continue; - nodes[nodes.length] = node; - } - } - - return nodes; - } -</script> \ No newline at end of file Deleted: trunk/misc/design/11cornersNifty/expand.gif =================================================================== (Binary files differ) Added: trunk/misc/design/12cornersNewStrict/colorsettings.php =================================================================== --- trunk/misc/design/12cornersNewStrict/colorsettings.php (rev 0) +++ trunk/misc/design/12cornersNewStrict/colorsettings.php 2008-01-28 16:23:54 UTC (rev 4826) @@ -0,0 +1,70 @@ +<?php +header("Content-Type: text/css"); + +/** + * force caching in browser + * works in firefox and internet explorer + */ +Header("Last-Modified: " . gmdate("D, d M Y H:i:s",mktime (0,0,0,1,1,2000)) . " GMT"); // Date in the past +Header("Expires: Mon, 26 Jul 2100 05:00:00 GMT"); // In other words... never expire the image +Header("Cache-Control: max-age=10000000, s-maxage=1000000, proxy-revalidate, must-revalidate"); + + +/* + * Created on 26.10.2006 + * + * To change the template for this generated file go to + * Window - Preferences - PHPeclipse - PHP - Code Templates + */ +?> + +/** + * background color + * #linDivThumbNavi amd #divSlideshowControlsInner used in view_img.html.php + */ + body { + background-color: #<?php echo $_GET['bodybg']; ?>; + } + + #linDivMainOuter, #linDivMetaStaticOuter, #linDivNavigationOuter, /*.linButton,*/ #linDivThumbnaviOuter, #linDivSlideshowControls, .roundAlphabottomInner, .linBackground { + background-color: #<?php echo $_GET['bg']; ?>; + } + +/** + * font color + */ + body, #linDivMenu ul a, #linDivMenu ul span, #linDivMenu ul div { + color: #<?php echo $_GET['font']; ?>; + } + +/** + * albums color + */ + .linDivFolder { + background-color: #<?php echo $_GET['albumsbg']; ?>; + } + +/** + * link/form colors + */ + a:link, a:visited /*, .linButton*/ { + color: #<?php echo $_GET['links']; ?>; + } + a:hover /*, .linButton:hover*/ { + color: #<?php echo $_GET['linkshover']; ?>; + } + + .linForms { + background-color: #<?php echo $_GET['fieldscolor']; ?>; + border: 1px solid grey; + } + +/** + * menu + */ + #linDivMenu ul a:hover, #linDivMenu ul span:hover { + background: #bbbbbb; + } + #linDivMenu ul ul, .linInputMenu { + background-color: #eeeeee; + } Added: trunk/misc/design/12cornersNewStrict/func.watermark.php =================================================================== --- trunk/misc/design/12cornersNewStrict/func.watermark.php (rev 0) +++ trunk/misc/design/12cornersNewStrict/func.watermark.php 2008-01-28 16:23:54 UTC (rev 4826) @@ -0,0 +1,547 @@ +<?php +/* +* Copyright (c) 2004 Heiko Rutenbeck <bz...@tu...> +* +* This program is free software; you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation; either version 2 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program; if not, write to the Free Software +* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ + +if(!defined('LINPHA_DIR')) { exit(1); } + +class LinWatermark +{ + +/** +* @author flo +* @todo adapt from linpha1 +*/ +function needWatermark($imgid) +{ + if( $GLOBALS['linpha']->sql->config->value['plugins_active_wm'] + && $GLOBALS['linpha']->sql->config->value['plugins_wm_active'] + && !check_permissions('watermark',$imgid) ) + { + return true; + } else { + return false; + } +} + +/** + * returns array with all the configs and the default values, they are only defined here + */ +function getWatermarkArray() +{ + return array ( + 'wm_active' => "0", + 'wm_watermark' => "0", + 'wm_text' => "Copyright 2007", + 'wm_font' => "", + 'wm_fontsize' => "20", + 'wm_fontcolor' => "white", + 'wm_align' => "southwest", + 'wm_horizontal' => "0", + 'wm_vertical' => "0", + 'wm_enable_shadow' => "1", + 'wm_shadow_size' => "1", + 'wm_shadow_fontsize' => "20", + 'wm_shadow_color' => "black", + 'wm_enable_rectangle' => "1", + 'wm_rectangle_color' => "darkgrey", + 'wm_height' => "30", + 'wm_width' => "145", + 'wm_img_img' => "", + 'wm_dissolve' => "75%", + 'wm_resize' => "30" + ); +} + +function readWatermark() +{ + $arr_config = LinWatermark::getWatermarkArray(); + while(list($name,$value) = each($arr_config) ) + { + $arr_read[$name] = $GLOBALS['linpha']->sql->config->value['plugins_'.$name]; + } + return $arr_read; +} + +function updateWatermark() +{ + $arr_config = LinWatermark::getWatermarkArray(); + while(list($name,$value) = each($arr_config) ) + { + $GLOBALS['linpha']->sql->config->updateConfig($name,$_POST[$name]); + } +} + +/** + * restore watermark settings to initial settings or to examples + */ +function restoreWatermark() +{ + global $wm_restore_to; + + $arr_config = LinWatermark::getWatermarkArray(); + switch($_POST['setdefault']) + { + case 'initial': + break; + case 'settings1': + $arr_config['wm_watermark'] = 1; + $arr_config['wm_text'] = "(C) 2004 linpha.sf.net"; + $arr_config['wm_fontsize'] = "10"; + $arr_config['wm_fontcolor'] = "white"; + $arr_config['wm_align'] = "south"; + $arr_config['wm_horizontal'] = "0"; + $arr_config['wm_vertical'] = "0"; + $arr_config['wm_enable_rectangle'] = "1"; + $arr_config['wm_rectangle_color'] = "darkgrey"; + $arr_config['wm_enable_shadow'] = "2"; + $arr_config['wm_height'] = "20"; + $arr_config['wm_width'] = "2000"; + $arr_config['wm_resize'] = "no"; + break; + case 'settings2': + $arr_config['wm_watermark'] = 2; + $arr_config['wm_dissolve'] = "65%"; + $arr_config['wm_align'] = "southwest"; + $arr_config['wm_img_img'] = "linpha.png"; + $arr_config['wm_horizontal'] = "10"; + $arr_config['wm_vertical'] = "10"; + $arr_config['wm_resize'] = "30"; + + break; + case 'settings3': // maybe better for gd lib than for convert + $arr_config['wm_watermark'] = 1; + $arr_config['wm_dissolve'] = "100%"; + $arr_config['wm_align'] = "southwest"; + $arr_config['wm_text'] = "(C) 2004 linpha.sf.net"; + $arr_config['wm_fontsize'] = "20"; + $arr_config['wm_fontcolor'] = "white"; + $arr_config['wm_horizontal'] = "0"; + $arr_config['wm_vertical'] = "0"; + $arr_config['wm_enable_rectangle'] = "1"; + $arr_config['wm_rectangle_color'] = "darkgrey"; + $arr_config['wm_enable_shadow'] = "1"; + $arr_config['wm_shadow_size'] = "5"; + $arr_config['wm_shadow_fontsize'] = "2"; + $arr_config['wm_height'] = "30"; + $arr_config['wm_width'] = "260"; + $arr_config['wm_resize'] = "no"; + break; + } + while(list($name,$value) = each($arr_config) ) + { + $GLOBALS['linpha']->sql->config->updateConfig($name,$value); + } +} + +/** + * calcs the new height and width of the resized watermark + * $w, $h: size of the big image + * $org_width, $org_height: size of the watermark rectangle/image + * $resize: resize factor in percent + * + */ +function wmArrResized($w,$h,$org_width,$org_height,$resize) +{ + $arr_resized['w'] = round($w * $resize/100); + $arr_resized['h'] = round($h * $resize/100); + + $no_increase = 0; + $array = LinImage::scaleToFit($org_height,$org_width,$arr_resized['h'],$arr_resized['w'],$no_increase); + + //error_log('w: '.$w.' h: '.$h.' arr_resized_w: '.$arr_resized['w'].' arr_resized_h: '.$arr_resized['h']. + // ' org_w: '.$org_width.' org_h: '.$org_height.' scaleToFit w: '.$array['w'].' h: '.$array['h']); + + return $array; +} + +/** + * list with many available colors + * http://mail.gnu.org/archive/html/emacs-diffs/2002-06/msg00158.html + * @uses getRgbFromAll() + */ +static $Colors = array( + 'aliceblue'=>'#f0f8ff', + 'antiquewhite'=>'#faebd7', + 'aquamarine'=>'#7fffd4', + 'azure'=>'#f0ffff', + 'beige'=>'#f5f5dc', + 'bisque'=>'#ffe4c4', + 'black'=>'#000000', + 'blanchedalmond'=>'#ffebcd', + 'blue'=>'#0000ff', + 'blueviolet'=>'#8a2be2', + 'brown'=>'#a52a2a', + 'burlywood'=>'#deb887', + 'cadetblue'=>'#5f9ea0', + 'chartreuse'=>'#7fff00', + 'chocolate'=>'#d2691e', + 'coral'=>'#ff7f50', + 'cornflowerblue'=>'#6495ed', + 'cornsilk'=>'#fff8dc', + 'cyan'=>'#00ffff', + 'darkblue'=>'#00008b', + 'darkcyan'=>'#008b8b', + 'darkgoldenrod'=>'#b886011', + 'darkgray'=>'#a9a9a9', + 'darkgreen'=>'#006400', + 'darkgrey'=>'#a9a9a9', + 'darkkhaki'=>'#bdb76b', + 'darkmagenta'=>'#8b008b', + 'darkolivegreen'=>'#556b2f', + 'darkorange'=>'#ff8c00', + 'darkorchid'=>'#9932cc', + 'darkred'=>'#8b0000', + 'darksalmon'=>'#e9967a', + 'darkseagreen'=>'#8fbc8f', + 'darkslateblue'=>'#483d8b', + 'darkslategray'=>'#2f4f4f', + 'darkslategrey'=>'#2f4f4f', + 'darkturquoise'=>'#00ced1', + 'darkviolet'=>'#9400d3', + 'deeppink'=>'#ff1493', + 'deepskyblue'=>'#00bfff', + 'dimgray'=>'#696969', + 'dimgrey'=>'#696969', + 'dodgerblue'=>'#1e90ff', + 'firebrick'=>'#b22222', + 'floralwhite'=>'#fffaf0', + 'forestgreen'=>'#228b22', + 'gainsboro'=>'#dcdcdc', + 'ghostwhite'=>'#f8f8ff', + 'gold'=>'#ffd700', + 'goldenrod'=>'#daa520', + 'gray'=>'#bebebe', + 'green'=>'#00ff00', + 'greenyellow'=>'#adff2f', + 'honeydew'=>'#f0fff0', + 'hotpink'=>'#ff69b4', + 'indianred'=>'#cd5c5c', + 'ivory'=>'#fffff0', + 'khaki'=>'#f0e68c', + 'lavender'=>'#e6e6fa', + 'lavenderblush'=>'#fff0f5', + 'lawngreen'=>'#7cfc00', + 'lemonchiffon'=>'#fffacd', + 'lightblue'=>'#add8e6', + 'lightcoral'=>'#f08080', + 'lightcyan'=>'#e0ffff', + 'lightgoldenrod'=>'#eedd82', + 'lightgoldenrodyellow'=>'#fafad2', + 'lightgray'=>'#d3d3d3', + 'lightgreen'=>'#90ee90', + 'lightgrey'=>'#d3d3d3', + 'lightpink'=>'#ffb6c1', + 'lightred'=>'#ffc8c8', + 'lightsalmon'=>'#ffa07a', + 'lightseagreen'=>'#20b2aa', + 'lightskyblue'=>'#87cefa', + 'lightslateblue'=>'#8470ff', + 'lightslategray'=>'#778899', + 'lightsteelblue'=>'#b0c4de', + 'lightyellow'=>'#ffffe0', + 'limegreen'=>'#32cd32', + 'linen'=>'#faf0e6', + 'magenta'=>'#ff00ff', + 'maroon'=>'#b03060', + 'mediumaquamarine'=>'#66cdaa', + 'mediumblue'=>'#0000cd', + 'mediumorchid'=>'#ba55d3', + 'mediumpurple'=>'#9370db', + 'mediumseagreen'=>'#3cb371', + 'mediumslateblue'=>'#7b68ee', + 'mediumspringgreen'=>'#00fa9a', + 'mediumturquoise'=>'#48d1cc', + 'mediumvioletred'=>'#c71585', + 'midnightblue'=>'#191970', + 'mintcream'=>'#f5fffa', + 'mistyrose'=>'#ffe4e1', + 'moccasin'=>'#ffe4b5', + 'navajowhite'=>'#ffdead', + 'navy'=>'#000080', + 'navyblue'=>'#000080', + 'oldlace'=>'#fdf5e6', + 'olivedrab'=>'#6b8e23', + 'orange'=>'#ffa500', + 'orangered'=>'#ff4500', + 'orchid'=>'#da70d6', + 'palegoldenrod'=>'#eee8aa', + 'palegreen'=>'#98fb98', + 'paleturquoise'=>'#afeeee', + 'palevioletred'=>'#db7093', + 'papayawhip'=>'#ffefd5', + 'peachpuff'=>'#ffdab9', + 'peru'=>'#cd853f', + 'pink'=>'#ffc0cb', + 'plum'=>'#dda0dd', + 'powderblue'=>'#b0e0e6', + 'purple'=>'#a020f0', + 'red'=>'#ff0000', + 'rosybrown'=>'#bc8f8f', + 'royalblue'=>'#4169e1', + 'saddlebrown'=>'#8b4513', + 'salmon'=>'#fa8072', + 'sandybrown'=>'#f4a460', + 'seagreen'=>'#2e8b57', + 'seashell'=>'#fff5ee', + 'sienna'=>'#a0522d', + 'skyblue'=>'#87ceeb', + 'slateblue'=>'#6a5acd', + 'slategray'=>'#708090', + 'slategrey'=>'#708090', + 'snow'=>'#fffafa', + 'springgreen'=>'#00ff7f', + 'steelblue'=>'#4682b4', + 'tan'=>'#d2b48c', + 'thistle'=>'#d8bfd8', + 'tomato'=>'#ff6347', + 'turquoise'=>'#40e0d0', + 'violet'=>'#ee82ee', + 'violetred'=>'#d02090', + 'wheat'=>'#f5deb3', + 'white'=>'#ffffff', + 'yellow'=>'#ffff00', + 'yellowgreen'=>'#9acd32' +); + +/** + * not used anymore + */ +function getHtmlColorFromRgb($r,$g,$b) +{ + if(strlen(dechex($r))==1) { + $r = '0'.$r; + } else { + $r = dechex($r); + } + if(strlen(dechex($g))==1) { + $g = '0'.$g; + } else { + $g = dechex($g); + } + if(strlen(dechex($b))==1) { + $b = '0'.$b; + } else { + $b = dechex($b); + } + + return '#'.$r.$g.$b; +} + +/** + * used to check if it is a valid html color + * @uses isHtmlColor() + */ +function everyCharIsHex($string) +{ + for($i=0;$i<strlen($string);$i++) + { + $char = substr($string,$i,1); + $valid_color = false; + + if($char == "0") { // zero makes problems... '== 0' and '== "0"' is not the same... + $valid_color = true; + } + for($n=1;$n<=9;$n++) + { + if($char == $n) { + $valid_color = true; + } + } + + for($n='a';$n<='f';$n++) + { + if($char === $n) { + $valid_color = true; + } + } + + for($n='A';$n<='F';$n++) + { + if($char === $n) { + $valid_color = true; + } + } + if(!$valid_color) { + return 0; + } + } + return 1; +} + +/** + * used to check if it is a valid html color + * @uses getRgbFromAll() + */ +function isHtmlColor($string) +{ + switch(strlen($string)) + { + case 6: + if(LinWatermark::everyCharIsHex($string)) { + return 1; + } + break; + case 7: + if(substr($string,0,1)=="#") { + if(LinWatermark::everyCharIsHex(substr($string,1,6))) { + return 1; + } + } + break; + } + return 0; +} + +/** + * converts a html color to an array with the rgb values + * it doesn't matter if the html color is '#00FF00' or '00FF00' + * @uses getRgbFromAll() + */ +function getRgbFromHtml($string) +{ + switch(strlen($string)) + { + case 6: + break; + case 7: + $string = substr($string,1,6); + break; + } + $r_hex = substr($string,0,2); + $g_hex = substr($string,2,2); + $b_hex = substr($string,4,2); + $arr['r'] = hexdec($r_hex); + $arr['g'] = hexdec($g_hex); + $arr['b'] = hexdec($b_hex); + return $arr; +} + +/** + * returns an array with the rgb values + * it doesn't matter if the argument is 'darkblue', '#00FF55' or '00FF55' + * if it isn't a correct color, the color (0,0,0) is returned + * + * @uses watermark_gd() + */ +function getRgbFromAll($string) +{ + if( isset( LinWatermark::$Colors[$string]) ) + { + return LinWatermark::getRgbFromHtml( LinWatermark::$Colors[$string] ); + } + elseif(LinWatermark::isHtmlColor($string) ) + { + return LinWatermark::getRgbFromHtml( $string ); + } + else + { + array('r'=>0,'g'=>0,'b'=>0); + } +} + +/** + * return html color without '#' + * + * used in linpha2 - admin - settings_layout + */ +function getHtmlFromAll($string) +{ + if(LinWatermark::isHtmlColor($string)) + { + if(substr($string,0,1)=="#") + { + return substr($string,1,6); + } + else + { + return $string; + } + } + else + { + if( isset( LinWatermark::$Colors[$string]) ) + { + return substr(LinWatermark::$Colors[$string],1,6); + } + else + { + return 'ffffff'; + } + } +} + +/** + * @uses watermark_gd() + * calcs the position in pixel with a given align + * src_w, src_h: width and height from the textfield (or the small watermark image) + * dst_w, dst_h: width and height from the image + * pos_x, pos_y: additional adjust for the image + * + */ +function calcAlign($align, $src_w, $src_h, $dst_w, $dst_h, $pos_x, $pos_y) +{ + + switch($align) + { + case "center": + $arr_pos['x'] = ($dst_w-$src_w)/2+($pos_x); + $arr_pos['y'] = ($dst_h-$src_h)/2+($pos_y); + break; + case "east": + $arr_pos['x'] = $dst_w-$src_w+($pos_x); + $arr_pos['y'] = ($dst_h-$src_h)/2+($pos_y); + break; + case "west": + $arr_pos['x'] = $pos_x; + $arr_pos['y'] = ($dst_h-$src_h)/2+($pos_y); + break; + case "north": + $arr_pos['x'] = ($dst_w-$src_w)/2+($pos_x); + $arr_pos['y'] = $pos_y; + break; + case "south": + $arr_pos['x'] = ($dst_w-$src_w)/2+($pos_x); + $arr_pos['y'] = $dst_h-$src_h+($pos_y); + break; + case "northeast": + $arr_pos['x'] = $dst_w-$src_w+($pos_x); + $arr_pos['y'] = $pos_y; + break; + case "northwest": + $arr_pos['x'] = $pos_x; + $arr_pos['y'] = $pos_y; + break; + case "southwest": + $arr_pos['x'] = $pos_x; + $arr_pos['y'] = $dst_h-$src_h+($pos_y); + break; + case "southeast": + $arr_pos['x'] = $dst_w-$src_w+($pos_x); + $arr_pos['y'] = $dst_h-$src_h+($pos_y); + break; + default: + $arr_pos['x'] = $pos_x; + $arr_pos['y'] = $pos_y; + break; + + } + return $arr_pos; +} + +} +?> \ No newline at end of file Added: trunk/misc/design/12cornersNewStrict/global.css =================================================================== --- trunk/misc/design/12cornersNewStrict/global.css (rev 0) +++ trunk/misc/design/12cornersNewStrict/global.css 2008-01-28 16:23:54 UTC (rev 4826) @@ -0,0 +1,140 @@ +<!-- +/** + * common definitions + * All 'em' calculations are based on 1 px = 0.0626em + */ + + #linBody { + font-family: arial, helvetica, sans-serif; + margin: 10px; + padding: 0px; + } + + + h1.linStyle { + font-size: 1.5em; + font-family: Verdana, Arial, Helvetica, sans-serif; + margin: 0px; + margin-top: 0px; + margin-bottom: 5px; + padding: 0px; + } + + h2.linStyle { + font-size: 1.2em; + font-family: Verdana, Arial, Helvetica, sans-serif; + margin: 0px; + margin-top: 0px; + margin-bottom: 5px; + padding: 0px; + } + + /** + * link button + */ + .linButton { + /*cursor: pointer; + border: 0; + font-size: 0.8em; + text-decoration: underline;*/ + } + + +/** + * title + */ + #linDivTitle + { + margin: 0; + margin-bottom: 20px; + margin-left: 90px; + + font-size: 2em; + } + #linDivTitle a:link, #linDivTitle a:visited, #linDivTitle a:hover + { + color: #444444; + text-decoration: none; + } + #linDivTitle a:hover + { + text-decoration: underline; + } + +/** + * navigation + */ + #linDivNavigationOuter { + margin: 0; + margin-bottom: 10px; + padding: 0; + } + #linDivNavigation + { + margin: 0; + padding: 5px; + } + +/** + * main + */ + #linDivMainOuter { + margin: 0; + padding: 0; + } + #linDivMain { + margin: 0; + padding: 0px; + padding-left: 10px; + padding-right: 10px; + } + +/** + * folder (used in home view, and maybe as subfolders) + * background-color and border-color are set in colorsettings.php + */ + .linDivFolder { + margin: 2px; + margin-left: 15px; + margin-bottom: 15px; + padding: 0; + + width: 700px; + } + + .linDivThumbnail { + height: 140px; + float: left; + } + + .linImgFolderThumbnail { + margin: 0; + margin-left: 20px; + margin-right: 30px; + margin-top: 5px; + padding: 0; + + width: 130px; + height: 130px; + + border: 0; + } + + .linDivFolderText { + margin: 0; + padding: 5px; + } + + .linDivFolderComment { + overflow: auto; + max-height: 300px; + + margin: 0; + margin-top: 10px; + margin-bottom: 10px; + padding: 0; + + /* word-wrap: break-word; fix ie to force width, but creates warnings in firefox !!! */ + } + +--> \ No newline at end of file Added: trunk/misc/design/12cornersNewStrict/home.css =================================================================== --- trunk/misc/design/12cornersNewStrict/home.css (rev 0) +++ trunk/misc/design/12cornersNewStrict/home.css 2008-01-28 16:23:54 UTC (rev 4826) @@ -0,0 +1,18 @@ + +hr.linStyle { + clear: both; +} + +.linDivRandomimg, .linDivNewimg { + float: left; + margin-left: 40px; +} + +.linImgRandomimg, .linImgNewimg { + border: 0; +} + +.linDivFolder a +{ + text-decoration: none; +} \ No newline at end of file Added: trunk/misc/design/12cornersNewStrict/index.php =================================================================== --- trunk/misc/design/12cornersNewStrict/index.php (rev 0) +++ trunk/misc/design/12cornersNewStrict/index.php 2008-01-28 16:23:54 UTC (rev 4826) @@ -0,0 +1,270 @@ +<?php +header('content-type: text/html; charset: utf-8'); +/*echo '<?xml version="1.0" encoding="utf-8"?>'."\n"; not necessary, IE has problems with this*/ +?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=UTF-8"> + +<title>Linpha 2.0</title> + +<!-- css includes --> + +<link rel='stylesheet' href='./colorsettings.php?bg=87CEFA&bodybg=DDDDDD&font=000000&albumsbg=D5FCF4&links=005388&linkshover=666666&fieldscolor=CCCCCC' type='text/css'> +<link rel='stylesheet' href='./global.css' type='text/css'> +<link rel='stylesheet' href='./home.css' type='text/css'> + + + +<style> +.roundcont { + width: 250px; + background-color: #f90; + color: #fff; +} + +.roundcont p { + margin: 0 10px; +} + +.roundtop { + background: url(test/tr.gif) no-repeat top right; +} + +.roundbottom { + background: url(test/br.gif) no-repeat top right; +} + +img.corner { + width: 15px; + height: 15px; + border: none; + display: block !important; +} + + +.roundcont2 { + width: 250px; + background-color: #87CEFA; + color: #000; +} + +.roundcont2 p { + margin: 0 10px; +} + +.roundtop2 { + background: url(test/tr_blue.png) no-repeat top right; +} + +.roundbottom2 { + background: url(test/br_blue.png) no-repeat top right; +} + + +.roundcont3 { + /*width: 250px;*/ + background-color: #87CEFA; + color: #000; +} + +.roundcont3 p { + margin: 0 10px; +} + +.roundtop3 { + background: url(test/tr_blue.png) no-repeat top right; +} + +.roundbottom3 { + background: url(test/br_blue.png) no-repeat top right; +} + +</style> + + + +</head> + + +<body id="linBody"> + + +<!-- title/navigation --> + +<div id="linDivTitle">Linpha 2.0 :: <a href="/linpha2/?&linCat=alb&linId=0">></a> </div> + +<div class="roundcont"> + <div class="roundtop"> + <img src="test/tl.gif" alt="" width="15" height="15" class="corner" style="display: none" /> + </div> + + <p>Lorem ipsum dolor sit amet, consectetur adipisicing + elit, sed do eiusmod tempor incididunt ut labore et + dolore magna aliqua. Ut enim ad minim veniam, quis + nostrud exercitation ullamco laboris nisi ut aliquip + ex ea commodo consequat. Duis aute irure dolor in + reprehenderit in voluptate velit esse cillum dolore eu + fugiat nulla pariatur. Excepteur sint occaecat cupidatat + non proident, sunt in culpa qui officia deserunt mollit + anim id est laborum.</p> + + <div class="roundbottom"> + <img src="test/bl.gif" alt="" width="15" height="15" class="corner" style="display: none" /> + </div> +</div> + +<br /><br /> + + +<div class="roundcont2"> + <div class="roundtop2"> + <img src="test/tl_blue.png" alt="" width="15" height="15" class="corner" style="display: none" /> + </div> + + <p>Lorem ipsum dolor sit amet, consectetur adipisicing + elit, sed do eiusmod tempor incididunt ut labore et + dolore magna aliqua. Ut enim ad minim veniam, quis + nostrud exercitation ullamco laboris nisi ut aliquip + ex ea commodo consequat. Duis aute irure dolor in + reprehenderit in voluptate velit esse cillum dolore eu + fugiat nulla pariatur. Excepteur sint occaecat cupidatat + non proident, sunt in culpa qui officia deserunt mollit + anim id est laborum.</p> + + <div class="roundbottom2"> + <img src="test/bl_blue.png" alt="" width="15" height="15" class="corner" style="display: none" /> + </div> +</div> + +<br /><br /> + + +<div class="roundcont3"> + <div class="roundtop3"> + <img src="test/tl_blue.png" alt="" width="15" height="15" class="corner" style="display: none" /> + </div> + + <p>Lorem ipsum dolor sit amet, consectetur adipisicing + elit, sed do eiusmod tempor incididunt ut labore et + dolore magna aliqua. Ut enim ad minim veniam, quis + nostrud exercitation ullamco laboris nisi ut aliquip + ex ea commodo consequat. Duis aute irure dolor in + reprehenderit in voluptate velit esse cillum dolore eu + fugiat nulla pariatur. Excepteur sint occaecat cupidatat + non proident, sunt in culpa qui officia deserunt mollit + anim id est laborum.</p> + + <div class="roundbottom3"> + <img src="test/bl_blue.png" alt="" width="15" height="15" class="corner" style="display: none" /> + </div> +</div> + +<br /><br /> + +<div style="background-color: #87CEFA; color: #000;"> + <div style="background: url(test/tr_blue.png) no-repeat top right;"> + <img src="test/tl_blue.png" alt="" width="15" height="15" style="display: block;" /> + </div> + + <p style="margin: 0 10px;">Lorem ipsum dolor sit amet, consectetur adipisicing + elit, sed do eiusmod tempor incididunt ut labore et + dolore magna aliqua. Ut enim ad minim veniam, quis + nostrud exercitation ullamco laboris nisi ut aliquip + ex ea commodo consequat. Duis aute irure dolor in + reprehenderit in voluptate velit esse cillum dolore eu + fugiat nulla pariatur. Excepteur sint occaecat cupidatat + non proident, sunt in culpa qui officia deserunt mollit + anim id est laborum.</p> + + <div style="background: url(test/br_blue.png) no-repeat top right;"> + <img src="test/bl_blue.png" alt="" width="15" height="15" style="display: block;" /> + </div> +</div> + +<br /><br /> + + +<div id="linDivMainOuter"> + <div style="background: url(./roundcorners.php?color=87CEFA&bgcolor=DDDDDD&size=15&align=tr) no-repeat top right;"> + <img src="./roundcorners.php?color=87CEFA&bgcolor=DDDDDD&size=15&align=tl" alt="" width="15" height="15" style="display: block;" /> + </div> + + <div id="linDivMain"> + + <h1 class="linStyle">Willkommen</h1>Hi, this is the home of "The PHP Photo Archive" <a href="http://linpha.sf.net">aka LinPHA</a>.<br /> <br /> + + + <!-- Random Images --> + + <!-- New Images --> + + <!-- Browse by Date --> + + <!-- Albums --> + <hr class="linStyle" /> + + <h1 class="linStyle">Alben</h1> + + <div class="linDivFolder"> + <div style="background: url(./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=tr) no-repeat top right;"> + <img src="./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=tl" alt="" width="15" height="15" style="display: block;" /> + </div> + <div class="linDivThumbnail"> + <a href="/linpha2/?&linCat=alb&linId=4"><img class="linImgFolderThumbnail" src="../thumb1.gif" alt="thumbnail_album" /></a> + </div> + <div class="linDivFolderText"> + <h2 class="linStyle"><a href="/linpha2/?&linCat=alb&linId=4">2005.05.14-16 Barcelona</a></h2> + Di 25. Dez 2007 19:08:13<br />0 Fotos<br /> + </div> + <div style="clear: both;"></div> + <div style="background: url(./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=br) no-repeat top right;"> + <img src="./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=bl" alt="" width="15" height="15" style="display: block;" /> + </div> + </div> + + <div class="linDivFolder"> + <div style="background: url(./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=tr) no-repeat top right;"> + <img src="./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=tl" alt="" width="15" height="15" style="display: block;" /> + </div> + <div class="linDivThumbnail"> + <a href="/linpha2/?&linCat=alb&linId=4"><img class="linImgFolderThumbnail" src="../thumb2.gif" alt="thumbnail_album" /></a> + </div> + <div class="linDivFolderText"> + <h2 class="linStyle"><a href="/linpha2/?&linCat=alb&linId=4">2007.07-14-28 Fuerteventura</a></h2> + Di 25. Dez 2007 19:08:13<br />0 Fotos<br /> + </div> + <div style="clear: both;"></div> + <div style="background: url(./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=br) no-repeat top right;"> + <img src="./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=bl" alt="" width="15" height="15" style="display: block;" /> + </div> + </div> + + <div class="linDivFolder"> + <div style="background: url(./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=tr) no-repeat top right;"> + <img src="./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=tl" alt="" width="15" height="15" style="display: block;" /> + </div> + <div class="linDivThumbnail"> + <a href="/linpha2/?&linCat=alb&linId=4"><img class="linImgFolderThumbnail" src="../thumb3.gif" alt="thumbnail_album" /></a> + </div> + <div class="linDivFolderText"> + <h2 class="linStyle"><a href="/linpha2/?&linCat=alb&linId=4">2007.12.15-16 Skifahren Samnaun</a></h2> + Di 25. Dez 2007 19:08:13<br />0 Fotos<br /> + </div> + <div style="clear: both;"></div> + <div style="background: url(./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=br) no-repeat top right;"> + <img src="./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=bl" alt="" width="15" height="15" style="display: block;" /> + </div> + </div> + + </div> + + <div style="background: url(./roundcorners.php?color=87CEFA&bgcolor=DDDDDD&size=15&align=br) no-repeat top right;"> + <img src="./roundcorners.php?color=87CEFA&bgcolor=DDDDDD&size=15&align=bl" alt="" width="15" height="15" style="display: block;" /> + </div> +</div> +</body> +</html> + Added: trunk/misc/design/12cornersNewStrict/roundcorners.php =================================================================== --- trunk/misc/design/12cornersNewStrict/roundcorners.php (rev 0) +++ trunk/misc/design/12cornersNewStrict/roundcorners.php 2008-01-28 16:23:54 UTC (rev 4826) @@ -0,0 +1,87 @@ +<?php +if(!defined('LINPHA_DIR')) { define('LINPHA_DIR','../..'); } + +include_once( './func.watermark.php' ); + +if(!isset($_GET['color'])) +{ + $_GET['color'] = 'orange'; +} + +if(!isset($_GET['bgcolor'])) +{ + $_GET['bgcolor'] = 'white'; +} + +if(!isset($_GET['align'])) +{ + $_GET['align'] = 'tl'; +} + +if(!isset($_GET['size'])) +{ + $size = 15; +} +else +{ + $size = $_GET['size']; +} + +switch($_GET['align']) +{ +case 'tl': $cx = $size; $cy = $size; $workaround = 0; break; +case 'tr': $cx = -1; $cy = $size; $workaround = 0; break; +case 'bl': $cx = $size; $cy = 0; $workaround = 1; break; +case 'br': $cx = -1; $cy = -1; $workaround = 1; break; +} + +// create image +$image = imagecreatetruecolor($size, $size); + +// create colors +$rgb = LinWatermark::getRgbFromAll($_GET['color']); +$color = imagecolorallocate($image, $rgb['r'], $rgb['g'], $rgb['b']); + +if(isset($_GET['alpha'])) +{ + imageAlphaBlending($image, false); + imageSaveAlpha($image, true); + $bgcolor = imagecolorallocatealpha($image, 0, 0, 0, 127); +} +else +{ + $rgb = LinWatermark::getRgbFromAll($_GET['bgcolor']); + $bgcolor = imagecolorallocate($image, $rgb['r'], $rgb['g'], $rgb['b']); +} + +// fill image with background color +imagefill($image, 0, 0, $bgcolor); + + +// draw circly +imagefilledellipse($image, $cx, $cy, ($size*2), ($size*2), $color); + +// workaround +if($workaround) +{ + imageline($image, 0, 0, $size-1, 0, $color ); +} + +// flush image +Header('Content-type: image/png'); + +/** + * force caching in browser + * works in firefox and internet explorer + */ +Header("Last-Modified: " . gmdate("D, d M Y H:i:s",mktime (0,0,0,1,1,2000)) . " GMT"); // Date in the past +Header("Expires: Mon, 26 Jul 2100 05:00:00 GMT"); // In other words... never expire the image +Header("Cache-Control: max-age=10000000, s-maxage=1000000, proxy-revalidate, must-revalidate"); + + + +imagepng($image); +imagedestroy($image); + + +?> \ No newline at end of file Added: trunk/misc/design/12cornersNewStrict/test/bl.gif =================================================================== (Binary files differ) Property changes on: trunk/misc/design/12cornersNewStrict/test/bl.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/misc/design/12cornersNewStrict/test/bl_blue.png =================================================================== (Binary files differ) Property changes on: trunk/misc/design/12cornersNewStrict/test/bl_blue.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/misc/design/12cornersNewStrict/test/br.gif =================================================================== (Binary files differ) Property changes on: trunk/misc/design/12cornersNewStrict/test/br.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/misc/design/12cornersNewStrict/test/br_blue.png =================================================================== (Binary files differ) Property changes on: trunk/misc/design/12cornersNewStrict/test/br_blue.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/misc/design/12cornersNewStrict/test/index.php =================================================================== --- trunk/misc/design/12cornersNewStrict/test/index.php (rev 0) +++ trunk/misc/design/12cornersNewStrict/test/index.php 2008-01-28 16:23:54 UTC (rev 4826) @@ -0,0 +1,66 @@ +<?php +header('content-type: text/html; charset: utf-8'); +/*echo '<?xml version="1.0" encoding="utf-8"?>'."\n"; not necessary, IE has problems with this*/ +?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=UTF-8"> + +<title>Linpha 2.0</title> + +<style> +.roundcont { + width: 250px; + background-color: #f90; + color: #fff; +} + +.roundcont p { + margin: 0 10px; +} + +.roundtop { + background: url(tr.gif) no-repeat top right; +} + +.roundbottom { + background: url(br.gif) no-repeat top right; +} + +img.corner { + width: 15px; + height: 15px; + border: none; + display: block !important; +} +</style> + +</head> + + +<body> + +<div class="roundcont"> + <div class="roundtop"> + <img src="tl.gif" alt="" width="15" height="15" class="corner" style="display: none" /> + </div> + + <p>Lorem ipsum dolor sit amet, consectetur adipisicing + elit, sed do eiusmod tempor incididunt ut labore et + dolore magna aliqua. Ut enim ad minim veniam, quis + nostrud exercitation ullamco laboris nisi ut aliquip + ex ea commodo consequat. Duis aute irure dolor in + reprehenderit in voluptate velit esse cillum dolore eu + fugiat nulla pariatur. Excepteur sint occaecat cupidatat + non proident, sunt in culpa qui officia deserunt mollit + anim id est laborum.</p> + + <div class="roundbottom"> + <img src="bl.gif" alt="" width="15" height="15" class="corner" style="display: none" /> + </div> +</div> + +</body> +</html> Added: trunk/misc/design/12cornersNewStrict/test/tl.gif =================================================================== (Binary files differ) Property changes on: trunk/misc/design/12cornersNewStrict/test/tl.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/misc/design/12cornersNewStrict/test/tl_blue.png =================================================================== (Binary files differ) Property changes on: trunk/misc/design/12cornersNewStrict/test/tl_blue.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/misc/design/12cornersNewStrict/test/tr.gif =================================================================== (Binary files differ) Property changes on: trunk/misc/design/12cornersNewStrict/test/tr.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/misc/design/12cornersNewStrict/test/tr_blue.png =================================================================== (Binary files differ) Property changes on: trunk/misc/design/12cornersNewStrict/test/tr_blue.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/misc/design/13cornersTransparent/colorsettings.php =================================================================== --- trunk/misc/design/13cornersTransparent/colorsettings.php (rev 0) +++ trunk/misc/design/13cornersTransparent/colorsettings.php 2008-01-28 16:23:54 UTC (rev 4826) @@ -0,0 +1,70 @@ +<?php +header("Content-Type: text/css"); + +/** + * force caching in browser + * works in firefox and internet explorer + */ +Header("Last-Modified: " . gmdate("D, d M Y H:i:s",mktime (0,0,0,1,1,2000)) . " GMT"); // Date in the past +Header("Expires: Mon, 26 Jul 2100 05:00:00 GMT"); // In other words... never expire the image +Header("Cache-Control: max-age=10000000, s-maxage=1000000, proxy-revalidate, must-revalidate"); + + +/* + * Created on 26.10.2006 + * + * To change the template for this generated file go to + * Window - Preferences - PHPeclipse - PHP - Code Templates + */ +?> + +/** + * background color + * #linDivThumbNavi amd #divSlideshowControlsInner used in view_img.html.php + */ + body { + background-color: #<?php echo $_GET['bodybg']; ?>; + } + + #linDivMainOuter, #linDivMetaStaticOuter, #linDivNavigationOuter, /*.linButton,*/ #linDivThumbnaviOuter, #linDivSlideshowControls, .roundAlphabottomInner, .linBackground { + background-color: #<?php echo $_GET['bg']; ?>; + } + +/** + * font color + */ + body, #linDivMenu ul a, #linDivMenu ul span, #linDivMenu ul div { + color: #<?php echo $_GET['font']; ?>; + } + +/** + * albums color + */ + .linDivFolder { + background-color: #<?php echo $_GET['albumsbg']; ?>; + } + +/** + * link/form colors + */ + a:link, a:visited /*, .linButton*/ { + color: #<?php echo $_GET['links']; ?>; + } + a:hover /*, .linButton:hover*/ { + color: #<?php echo $_GET['linkshover']; ?>; + } + + .linForms { + background-color: #<?php echo $_GET['fieldscolor']; ?>; + border: 1px solid grey; + } + +/** + * menu + */ + #linDivMenu ul a:hover, #linDivMenu ul span:hover { + background: #bbbbbb; + } + #linDivMenu ul ul, .linInputMenu { + background-color: #eeeeee; + } Added: trunk/misc/design/13cornersTransparent/global.css =================================================================== --- trunk/misc/design/13cornersTransparent/global.css (rev 0) +++ trunk/misc/design/13cornersTransparent/global.css 2008-01-28 16:23:54 UTC (rev 4826) @@ -0,0 +1,140 @@ +<!-- +/** + * common definitions + * All 'em' calculations are based on 1 px = 0.0626em + */ + + #linBody { + font-family: arial, helvetica, sans-serif; + margin: 10px; + padding: 0px; + } + + + h1.linStyle { + font-size: 1.5em; + font-family: Verdana, Arial, Helvetica, sans-serif; + margin: 0px; + margin-top: 0px; + margin-bottom: 5px; + padding: 0px; + } + + h2.linStyle { + font-size: 1.2em; + font-family: Verdana, Arial, Helvetica, sans-serif; + margin: 0px; + margin-top: 0px; + margin-bottom: 5px; + padding: 0px; + } + + /** + * link button + */ + .linButton { + /*cursor: pointer; + border: 0; + font-size: 0.8em; + text-decoration: underline;*/ + } + + +/** + * title + */ + #linDivTitle + { + margin: 0; + margin-bottom: 20px; + margin-left: 90px; + + font-size: 2em; + } + #linDivTitle a:link, #linDivTitle a:visited, #linDivTitle a:hover + { + color: #444444; + text-decoration: none; + } + #linDivTitle a:hover + { + text-decoration: underline; + } + +/** + * navigation + */ + #linDivNavigationOuter { + margin: 0; + margin-bottom: 10px; + padding: 0; + } + #linDivNavigation + { + margin: 0; + padding: 5px; + } + +/** + * main + */ + #linDivMainOuter { + margin: 0; + padding: 0; + } + #linDivMain { + margin: 0; + padding: 0px; + padding-left: 10px; + padding-right: 10px; + } + +/** + * folder (used in home view, and maybe as subfolders) + * background-color and border-color are set in colorsettings.php + */ + .linDivFolder { + margin: 2px; + margin-left: 15px; + margin-bottom: 15px; + padding: 0; + + width: 700px; + } + + .linDivThumbnail { + height: 140px; + float: left; + } + + .linImgFolderThumbnail { + margin: 0; + margin-left: 20px; + margin-right: 30px; + margin-top: 5px; + padding: 0; + + width: 130px; + height: 130px; + + border: 0; + } + + .linDivFolderText { + margin: 0; + padding: 5px; + } + + .linDivFolderComment { + overflow: auto; + max-height: 300px; + + margin: 0; + margin-top: 10px; + margin-bottom: 10px; + padding: 0; + + /* word-wrap: break-word; fix ie to force width, but creates warnings in firefox !!! */ + } + +--> \ No newline at end of file Added: trunk/misc/design/13cornersTransparent/home.css =================================================================== --- trunk/misc/design/13cornersTransparent/home.css (rev 0) +++ trunk/misc/design/13cornersTransparent/home.css 2008-01-28 16:23:54 UTC (rev 4826) @@ -0,0 +1,18 @@ + +hr.linStyle { + clear: both; +} + +.linDivRandomimg, .linDivNewimg { + float: left; + margin-left: 40px; +} + +.linImgRandomimg, .linImgNewimg { + border: 0; +} + +.linDivFolder a +{ + text-decoration: none; +} \ No newline at end of file Added: trunk/misc/design/13cornersTransparent/index.php =================================================================== --- trunk/misc/design/13cornersTransparent/index.php (rev 0) +++ trunk/misc/design/13cornersTransparent/index.php 2008-01-28 16:23:54 UTC (rev 4826) @@ -0,0 +1,270 @@ +<?php +header('content-type: text/html; charset: utf-8'); +/*echo '<?xml version="1.0" encoding="utf-8"?>'."\n"; not necessary, IE has problems with this*/ +?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=UTF-8"> + +<title>Linpha 2.0</title> + +<!-- css includes --> + +<link rel='stylesheet' href='./colorsettings.php?bg=87CEFA&bodybg=DDDDDD&font=000000&albumsbg=D5FCF4&links=005388&linkshover=666666&fieldscolor=CCCCCC' type='text/css'> +<link rel='stylesheet' href='./global.css' type='text/css'> +<link rel='stylesheet' href='./home.css' type='text/css'> + + + +<style> +.roundcont { + width: 250px; + background-color: #f90; + color: #fff; +} + +.roundcont p { + margin: 0 10px; +} + +.roundtop { + background: url(test/tr.gif) no-repeat top right; +} + +.roundbottom { + background: url(test/br.gif) no-repeat top right; +} + +img.corner { + width: 15px; + height: 15px; + border: none; + display: block !important; +} + + +.roundcont2 { + width: 250px; + background-color: #87CEFA; + color: #000; +} + +.roundcont2 p { + margin: 0 10px; +} + +.roundtop2 { + background: url(test/tr_blue.png) no-repeat top right; +} + +.roundbottom2 { + background: url(test/br_blue.png) no-repeat top right; +} + + +.roundcont3 { + /*width: 250px;*/ + background-color: #87CEFA; + color: #000; +} + +.roundcont3 p { + margin: 0 10px; +} + +.roundtop3 { + background: url(test/tr_blue.png) no-repeat top right; +} + +.roundbottom3 { + background: url(test/br_blue.png) no-repeat top right; +} + +</style> + + + +</head> + + +<body id="linBody"> + + +<!-- title/navigation --> + +<div id="linDivTitle">Linpha 2.0 :: <a href="/linpha2/?&linCat=alb&linId=0">></a> </div> + +<div class="roundcont"> + <div class="roundtop"> + <img src="test/tl.gif" alt="" width="15" height="15" class="corner" style="display: none" /> + </div> + + <p>Lorem ipsum dolor sit amet, consectetur adipisicing + elit, sed do eiusmod tempor incididunt ut labore et + dolore magna aliqua. Ut enim ad minim veniam, quis + nostrud exercitation ullamco laboris nisi ut aliquip + ex ea commodo consequat. Duis aute irure dolor in + reprehenderit in voluptate velit esse cillum dolore eu + fugiat nulla pariatur. Excepteur sint occaecat cupidatat + non proident, sunt in culpa qui officia deserunt mollit + anim id est laborum.</p> + + <div class="roundbottom"> + <img src="test/bl.gif" alt="" width="15" height="15" class="corner" style="display: none" /> + </div> +</div> + +<br /><br /> + + +<div class="roundcont2"> + <div class="roundtop2"> + <img src="test/tl_blue.png" alt="" width="15" height="15" class="corner" style="display: none" /> + </div> + + <p>Lorem ipsum dolor sit amet, consectetur adipisicing + elit, sed do eiusmod tempor incididunt ut labore et + dolore magna aliqua. Ut enim ad minim veniam, quis + nostrud exercitation ullamco laboris nisi ut aliquip + ex ea commodo consequat. Duis aute irure dolor in + reprehenderit in voluptate velit esse cillum dolore eu + fugiat nulla pariatur. Excepteur sint occaecat cupidatat + non proident, sunt in culpa qui officia deserunt mollit + anim id est laborum.</p> + + <div class="roundbottom2"> + <img src="test/bl_blue.png" alt="" width="15" height="15" class="corner" style="display: none" /> + </div> +</div> + +<br /><br /> + + +<div class="roundcont3"> + <div class="roundtop3"> + <img src="test/tl_blue.png" alt="" width="15" height="15" class="corner" style="display: none" /> + </div> + + <p>Lorem ipsum dolor sit amet, consectetur adipisicing + elit, sed do eiusmod tempor incididunt ut labore et + dolore magna aliqua. Ut enim ad minim veniam, quis + nostrud exercitation ullamco laboris nisi ut aliquip + ex ea commodo consequat. Duis aute irure dolor in + reprehenderit in voluptate velit esse cillum dolore eu + fugiat nulla pariatur. Excepteur sint occaecat cupidatat + non proident, sunt in culpa qui officia deserunt mollit + anim id est laborum.</p> + + <div class="roundbottom3"> + <img src="test/bl_blue.png" alt="" width="15" height="15" class="corner" style="display: none" /> + </div> +</div> + +<br /><br /> + +<div style="background-color: #87CEFA; color: #000;"> + <div style="background: url(test/tr_blue.png) no-repeat top right;"> + <img src="test/tl_blue.png" alt="" width="15" height="15" style="display: block;" /> + </div> + + <p style="margin: 0 10px;">Lorem ipsum dolor sit amet, consectetur adipisicing + elit, sed do eiusmod tempor incididunt ut labore et + dolore magna aliqua. Ut enim ad minim veniam, quis + nostrud exercitation ullamco laboris nisi ut aliquip + ex ea commodo consequat. Duis aute irure dolor in + reprehenderit in voluptate velit esse cillum dolore eu + fugiat nulla pariatur. Excepteur sint occaecat cupidatat + non proident, sunt in culpa qui officia deserunt mollit + anim id est laborum.</p> + + <div style="background: url(test/br_blue.png) no-repeat top right;"> + <img src="test/bl_blue.png" alt="" width="15" height="15" style="display: block;" /> + </div> +</div> + +<br /><br /> + + +<div id="linDivMainOuter"> + <div style="background: url(./roundcorners.php?color=87CEFA&bgcolor=DDDDDD&size=15&align=tr) no-repeat top right;"> + <img src="./roundcorners.php?color=87CEFA&bgcolor=DDDDDD&size=15&align=tl" alt="" width="15" height="15" style="display: block;" /> + </div> + + <div id="linDivMain"> + + <h1 class="linStyle">Willkommen</h1>Hi, this is the home of "The PHP Photo Archive" <a href="http://linpha.sf.net">aka LinPHA</a>.<br /> <br /> + + + <!-- Random Images --> + + <!-- New Images --> + + <!-- Browse by Date --> + + <!-- Albums --> + <hr class="linStyle" /> + + <h1 class="linStyle">Alben</h1> + + <div class="linDivFolder"> + <div style="background: url(./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=tr) no-repeat top right;"> + <img src="./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=tl" alt="" width="15" height="15" style="display: block;" /> + </div> + <div class="linDivThumbnail"> + <a href="/linpha2/?&linCat=alb&linId=4"><img class="linImgFolderThumbnail" src="../thumb1.gif" alt="thumbnail_album" /></a> + </div> + <div class="linDivFolderText"> + <h2 class="linStyle"><a href="/linpha2/?&linCat=alb&linId=4">2005.05.14-16 Barcelona</a></h2> + Di 25. Dez 2007 19:08:13<br />0 Fotos<br /> + </div> + <div style="clear: both;"></div> + <div style="background: url(./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=br) no-repeat top right;"> + <img src="./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=bl" alt="" width="15" height="15" style="display: block;" /> + </div> + </div> + + <div class="linDivFolder"> + <div s... [truncated message content] |
From: <fan...@us...> - 2008-01-26 17:25:56
|
Revision: 4825 http://linpha.svn.sourceforge.net/linpha/?rev=4825&view=rev Author: fangehrn Date: 2008-01-26 09:25:41 -0800 (Sat, 26 Jan 2008) Log Message: ----------- Modified Paths: -------------- trunk/misc/design/2utf8/Linpha2.php Added Paths: ----------- trunk/misc/design/11cornersNifty/ Removed Paths: ------------- trunk/misc/design/11cornersNifty2/ Copied: trunk/misc/design/11cornersNifty (from rev 4824, trunk/misc/design/11cornersNifty2) Modified: trunk/misc/design/2utf8/Linpha2.php =================================================================== --- trunk/misc/design/2utf8/Linpha2.php 2008-01-26 17:21:59 UTC (rev 4824) +++ trunk/misc/design/2utf8/Linpha2.php 2008-01-26 17:25:41 UTC (rev 4825) @@ -1,4 +1,3 @@ -<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> @@ -178,7 +177,7 @@ <hr class="linStyle" /> <h2>Test Zeichenkodierung</h2> - \xC4\xD6\xDC \xE4\xF6\xFC \xE9\xE8\xE0 $\xA3\x80@\xA2\xB0\xA7 + ��� ��� ��� $��@��� <br /><br /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fan...@us...> - 2008-01-26 17:22:12
|
Revision: 4824 http://linpha.svn.sourceforge.net/linpha/?rev=4824&view=rev Author: fangehrn Date: 2008-01-26 09:21:59 -0800 (Sat, 26 Jan 2008) Log Message: ----------- Added Paths: ----------- trunk/misc/design/11cornersNifty2/ trunk/misc/design/11cornersNifty2/NiftyCube/ trunk/misc/design/11cornersNifty2/NiftyCube/NiftyLayout.css trunk/misc/design/11cornersNifty2/NiftyCube/gpl.it.txt trunk/misc/design/11cornersNifty2/NiftyCube/gpl.txt trunk/misc/design/11cornersNifty2/NiftyCube/niftyCorners.css trunk/misc/design/11cornersNifty2/NiftyCube/niftyLayout.js trunk/misc/design/11cornersNifty2/NiftyCube/niftycube.js trunk/misc/design/11cornersNifty2/colorsettings.php trunk/misc/design/11cornersNifty2/csshover.htc trunk/misc/design/11cornersNifty2/expand.gif trunk/misc/design/11cornersNifty2/global.css trunk/misc/design/11cornersNifty2/home.css trunk/misc/design/11cornersNifty2/index.php trunk/misc/design/11cornersNifty2/niftyCorners.css trunk/misc/design/11cornersNifty2/niftycube.js Added: trunk/misc/design/11cornersNifty2/NiftyCube/NiftyLayout.css =================================================================== --- trunk/misc/design/11cornersNifty2/NiftyCube/NiftyLayout.css (rev 0) +++ trunk/misc/design/11cornersNifty2/NiftyCube/NiftyLayout.css 2008-01-26 17:21:59 UTC (rev 4824) @@ -0,0 +1,47 @@ +html,body{margin:0;padding:0} +body{font: 85%/1.3 Verdana,Arial,sans-serif; + text-align: center;background: #757D88;padding-bottom:20px} +p{margin-top:0} +h1,h2,h3{font: normal normal 200% "Trebuchet MS",Arial,sans-serif} +h2{font-size:160%} +h3{font-size:120%} + +div#header{width:100%;overflow:hidden;background: #595D66} +div#header h1,div#menu{width:770px;margin:0 auto;text-align:left} +div#header h1{padding: 30px 0 10px;color: #FFF} + +ul#nav,ul#nav li{list-style-type:none;margin:0;padding:0} +ul#nav{float:right;font-size: 80%} +ul#nav li{float:left;margin-left: 3px;text-align: center} +ul#nav a{float:left;width: 95px;padding: 5px 0;background: #369A3D;text-decoration:none;color: #FFC} +ul#nav a:hover{background: #CDFFA1;color: #006A35} +ul#nav li.activelink a,ul#nav li.activelink a:hover{background: #FFF;color: #003} + +div#container{width:770px;margin:0 auto 10px;padding:20px 0 10px;text-align:left;background:#FFF} +div#content{float:left;display:inline;width:560px;margin:0 0 10px 10px} + +ul#intro,ul#intro li{list-style-type:none;margin:0;padding:0} +ul#intro{width:100%;overflow:hidden;margin-bottom:20px} +ul#intro li{float:left;width:180px;margin-right:10px;padding: 10px 0} +li#mission{background: #E65714} +li#services{background: #42B4AC} +ul#intro li#more{margin-right:0;background: #7D63A9} +ul#intro p,ul#intro h3{margin:0;padding: 0 10px} +ul#intro h3{text-transform:uppercase;padding-bottom:3px;color: #FFF} + +div#content h2{margin: 10px 0;color: #007BC4} +div.date{float:left;width: 4em;padding: 5px 0;background: #F1DDC4;color:#B0001E; + text-align:center;margin: 0 4px 4px 0;font-size: 80%;line-height:0.9} +div.date span{display:block;font-size: 150%;font-weight:bold} + +div.comments div{background: #EEE;margin-bottom:10px} +div.comments p{padding: 10px;margin:0} +div.comments div.odd{background:#DAE6FE} + +div#side{float:right;display:inline;width: 180px;background:#F3CF00; margin:0 10px 10px 0} +div#side p{margin:5px 0 10px;padding: 0 10px} +div#side div{margin: 0 0 10px;padding: 10px 0} + +div#footer{clear:both;width:750px;margin:0 10px 0;padding: 10px 0; + background: #586695;color: #FFF;text-align:center} +div#footer p{margin:0} \ No newline at end of file Added: trunk/misc/design/11cornersNifty2/NiftyCube/gpl.it.txt =================================================================== --- trunk/misc/design/11cornersNifty2/NiftyCube/gpl.it.txt (rev 0) +++ trunk/misc/design/11cornersNifty2/NiftyCube/gpl.it.txt 2008-01-26 17:21:59 UTC (rev 4824) @@ -0,0 +1,403 @@ + +Questa \xE8 una traduzione italiana non ufficiale della Licenza Pubblica +Generica GNU. Non \xE8 pubblicata dalla Free Software Foundation e non +ha valore legale nell'esprimere i termini di distribuzione del +software che usa la licenza GPL. Solo la versione originale in inglese +della licenza ha valore legale. Ad ogni modo, speriamo che questa +traduzione aiuti le persone di lingua italiana a capire meglio il +significato della licenza GPL. + + This is an unofficial translation of the GNU General Public + License into Italian. It was not published by the Free + Software Foundation, and does not legally state the + distribution terms for software that uses the GNU GPL--only + the original English text of the GNU GPL does that. However, + we hope that this translation will help Italian speakers + understand the GNU GPL better. + + + + LICENZA PUBBLICA GENERICA (GPL) DEL PROGETTO GNU + Versione 2, Giugno 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Traduzione curata da gruppo Pluto, da ILS e dal gruppo italiano di +traduzione GNU. Ultimo aggiornamento 19 aprile 2000. + +Chiunque pu\xF2 copiare e distribuire copie letterali di questo documento +di licenza, ma non ne \xE8 permessa la modifica. + + Preambolo + +Le licenze della maggior parte dei programmi hanno lo scopo di +togliere all'utente la libert\xE0 di condividere e modificare il +programma stesso. Viceversa, la Licenza Pubblica Generica GNU \xE8 intesa +a garantire la libert\xE0 di condividere e modificare il software libero, +al fine di assicurare che i programmi siano liberi per tutti i loro +utenti. Questa Licenza si applica alla maggioranza dei programmi +della Free Software Foundation e ad ogni altro programma i cui autori +hanno deciso di usare questa Licenza. Alcuni altri programmi della +Free Software Foundation sono invece coperti dalla Licenza Pubblica +Generica Minore. Chiunque pu\xF2 usare questa Licenza per i propri +programmi. + +Quando si parla di software libero (free software), ci si riferisce +alla libert\xE0, non al prezzo. Le nostre Licenze (la GPL e la LGPL) +sono progettate per assicurarsi che ciascuno abbia la libert\xE0 di +distribuire copie del software libero (e farsi pagare per questo, se +vuole), che ciascuno riceva il codice sorgente o che lo possa ottenere +se lo desidera, che ciascuno possa modificare il programma o usarne +delle parti in nuovi programmi liberi e che ciascuno sappia di potere +fare queste cose. + +Per proteggere i diritti dell'utente, abbiamo bisogno di creare delle +restrizioni che vietino a chiunque di negare questi diritti o di +chiedere di rinunciarvi. Queste restrizioni si traducono in certe +responsabilit\xE0 per chi distribuisce copie del software e per chi lo +modifica. + +Per esempio, chi distribuisce copie di un programma coperto da GPL, +sia gratis sia in cambio di un compenso, deve concedere ai destinatari +tutti i diritti che ha ricevuto. Deve anche assicurarsi che i +destinatari ricevano o possano ottenere il codice sorgente. E deve +mostrar loro queste condizioni di licenza, in modo che essi conoscano +i propri diritti. + +Proteggiamo i diritti dell'utente in due modi: (1) proteggendo il +software con un copyright, e (2) offrendo una licenza che dia il +permesso legale di copiare, distribuire e modificare il Programma. + +Inoltre, per proteggere ogni autore e noi stessi, vogliamo assicurarci +che ognuno capisca che non ci sono garanzie per i programmi coperti da +GPL. Se il programma viene modificato da qualcun altro e +ridistribuito, vogliamo che gli acquirenti sappiano che ci\xF2 che hanno +non \xE8 l'originale, in modo che ogni problema introdotto da altri non +si rifletta sulla reputazione degli autori originari. + +Infine, ogni programma libero \xE8 costantemente minacciato dai brevetti +sui programmi. Vogliamo evitare il pericolo che chi ridistribuisce un +programma libero ottenga la propriet\xE0 di brevetti, rendendo in pratica +il programma cosa di sua propriet\xE0. Per prevenire questa evenienza, +abbiamo chiarito che ogni brevetto debba essere concesso in licenza +d'uso a chiunque, o non avere alcuna restrizione di licenza d'uso. + +Seguono i termini e le condizioni precisi per la copia, la +distribuzione e la modifica. + + LICENZA PUBBLICA GENERICA GNU + TERMINI E CONDIZIONI PER LA COPIA, LA DISTRIBUZIONE E LA MODIFICA + + 0. Questa Licenza si applica a ogni programma o altra opera che +contenga una nota da parte del detentore del copyright che dica che +tale opera pu\xF2 essere distribuita sotto i termini di questa Licenza +Pubblica Generica. Il termine "Programma" nel seguito si riferisce ad +ogni programma o opera cos\xEC definita, e l'espressione "opera basata +sul Programma" indica sia il Programma sia ogni opera considerata +"derivata" in base alla legge sul copyright; in altre parole, un'opera +contenente il Programma o una porzione di esso, sia letteralmente sia +modificato o tradotto in un'altra lingua. Da qui in avanti, la +traduzione \xE8 in ogni caso considerata una "modifica". Vengono ora +elencati i diritti dei beneficiari della licenza. + +Attivit\xE0 diverse dalla copiatura, distribuzione e modifica non sono +coperte da questa Licenza e sono al di fuori della sua influenza. +L'atto di eseguire il Programma non viene limitato, e l'output del +programma \xE8 coperto da questa Licenza solo se il suo contenuto +costituisce un'opera basata sul Programma (indipendentemente dal fatto +che sia stato creato eseguendo il Programma). In base alla natura del +Programma il suo output pu\xF2 essere o meno coperto da questa Licenza. + + 1. \xC8 lecito copiare e distribuire copie letterali del codice +sorgente del Programma cos\xEC come viene ricevuto, con qualsiasi mezzo, +a condizione che venga riprodotta chiaramente su ogni copia una +appropriata nota di copyright e di assenza di garanzia; che si +mantengano intatti tutti i riferimenti a questa Licenza e all'assenza +di ogni garanzia; che si dia a ogni altro destinatario del Programma +una copia di questa Licenza insieme al Programma. + +\xC8 possibile richiedere un pagamento per il trasferimento fisico di una +copia del Programma, \xE8 anche possibile a propria discrezione +richiedere un pagamento in cambio di una copertura assicurativa. + + 2. \xC8 lecito modificare la propria copia o copie del Programma, o +parte di esso, creando perci\xF2 un'opera basata sul Programma, e copiare +o distribuire tali modifiche o tale opera secondo i termini del +precedente comma 1, a patto che siano soddisfatte tutte le condizioni +che seguono: + + a) Bisogna indicare chiaramente nei file che si tratta di copie + modificate e la data di ogni modifica. + + b) Bisogna fare in modo che ogni opera distribuita o pubblicata, + che in parte o nella sua totalit\xE0 derivi dal Programma o da parti + di esso, sia concessa nella sua interezza in licenza gratuita ad + ogni terza parte, secondo i termini di questa Licenza. + + c) Se normalmente il programma modificato legge comandi + interattivamente quando viene eseguito, bisogna fare in modo che + all'inizio dell'esecuzione interattiva usuale, esso stampi un + messaggio contenente una appropriata nota di copyright e di + assenza di garanzia (oppure che specifichi il tipo di garanzia che + si offre). Il messaggio deve inoltre specificare che chiunque pu\xF2 + ridistribuire il programma alle condizioni qui descritte e deve + indicare come reperire questa Licenza. Se per\xF2 il programma di + partenza \xE8 interattivo ma normalmente non stampa tale messaggio, + non occorre che un'opera basata sul Programma lo stampi. + +Questi requisiti si applicano all'opera modificata nel suo complesso. +Se sussistono parti identificabili dell'opera modificata che non siano +derivate dal Programma e che possono essere ragionevolmente +considerate lavori indipendenti, allora questa Licenza e i suoi +termini non si applicano a queste parti quando queste vengono +distribuite separatamente. Se per\xF2 queste parti vengono distribuite +all'interno di un prodotto che \xE8 un'opera basata sul Programma, la +distribuzione di quest'opera nella sua interezza deve avvenire nei +termini di questa Licenza, le cui norme nei confronti di altri utenti +si estendono all'opera nella sua interezza, e quindi ad ogni sua +parte, chiunque ne sia l'autore. + +Quindi, non \xE8 nelle intenzioni di questa sezione accampare diritti, n\xE9 +contestare diritti su opere scritte interamente da altri; l'intento \xE8 +piuttosto quello di esercitare il diritto di controllare la +distribuzione di opere derivati dal Programma o che lo contengano. + +Inoltre, la semplice aggregazione di un'opera non derivata dal +Programma col Programma o con un'opera da esso derivata su di un mezzo +di memorizzazione o di distribuzione, non \xE8 sufficente a includere +l'opera non derivata nell'ambito di questa Licenza. + + 3. \xC8 lecito copiare e distribuire il Programma (o un'opera basata su +di esso, come espresso al comma 2) sotto forma di codice oggetto o +eseguibile secondo i termini dei precedenti commi 1 e 2, a patto che +si applichi una delle seguenti condizioni: + + a) Il Programma sia corredato del codice sorgente completo, in una + forma leggibile da calcolatore, e tale sorgente sia fornito + secondo le regole dei precedenti commi 1 e 2 su di un mezzo + comunemente usato per lo scambio di programmi. + + b) Il Programma sia accompagnato da un'offerta scritta, valida per + almeno tre anni, di fornire a chiunque ne faccia richiesta una + copia completa del codice sorgente, in una forma leggibile da + calcolatore, in cambio di un compenso non superiore al costo del + trasferimento fisico di tale copia, che deve essere fornita + secondo le regole dei precedenti commi 1 e 2 su di un mezzo + comunemente usato per lo scambio di programmi. + + c) Il Programma sia accompagnato dalle informazioni che sono state + ricevute riguardo alla possibilit\xE0 di ottenere il codice sorgente. + Questa alternativa \xE8 permessa solo in caso di distribuzioni non + commerciali e solo se il programma \xE8 stato ottenuto sotto forma di + codice oggetto o eseguibile in accordo al precedente comma B. + +Per "codice sorgente completo" di un'opera si intende la forma +preferenziale usata per modificare un'opera. Per un programma +eseguibile, "codice sorgente completo" significa tutto il codice +sorgente di tutti i moduli in esso contenuti, pi\xF9 ogni file associato +che definisca le interfacce esterne del programma, pi\xF9 gli script +usati per controllare la compilazione e l'installazione +dell'eseguibile. In ogni caso non \xE8 necessario che il codice sorgente +fornito includa nulla che sia normalmente distribuito (in forma +sorgente o in formato binario) con i principali componenti del sistema +operativo sotto cui viene eseguito il Programma (compilatore, kernel, +e cos\xEC via), a meno che tali componenti accompagnino l'eseguibile. + +Se la distribuzione dell'eseguibile o del codice oggetto \xE8 effettuata +indicando un luogo dal quale sia possibile copiarlo, permettere la +copia del codice sorgente dallo stesso luogo \xE8 considerata una valida +forma di distribuzione del codice sorgente, anche se copiare il +sorgente \xE8 facoltativo per l'acquirente. + + 4. Non \xE8 lecito copiare, modificare, sublicenziare, o distribuire +il Programma in modi diversi da quelli espressamente previsti da +questa Licenza. Ogni tentativo di copiare, modificare, sublicenziare +o distribuire altrimenti il Programma non \xE8 autorizzato, e far\xE0 +terminare automaticamente i diritti garantiti da questa Licenza. +D'altra parte ogni acquirente che abbia ricevuto copie, o diritti, +coperti da questa Licenza da parte di persone che violano la Licenza +come qui indicato non vedranno invalidata la loro Licenza, purch\xE9 si +comportino conformemente ad essa. + + 5. L'acquirente non \xE8 tenuto ad accettare questa Licenza, +poich\xE9 non l'ha firmata. D'altra parte nessun altro documento +garantisce il permesso di modificare o distribuire il Programma o i +lavori derivati da esso. Queste azioni sono proibite dalla legge per +chi non accetta questa Licenza; perci\xF2, modificando o distribuendo il +Programma o un'opera basata sul programma, si indica nel fare ci\xF2 +l'accettazione di questa Licenza e quindi di tutti i suoi termini e le +condizioni poste sulla copia, la distribuzione e la modifica del +Programma o di lavori basati su di esso. + + 6. Ogni volta che il Programma o un'opera basata su di esso vengono +distribuiti, l'acquirente riceve automaticamente una licenza d'uso da +parte del licenziatario originale. Tale licenza regola la copia, la +distribuzione e la modifica del Programma secondo questi termini e +queste condizioni. Non \xE8 lecito imporre restrizioni ulteriori +all'acquirente nel suo esercizio dei diritti qui garantiti. Chi +distribuisce programmi coperti da questa Licenza non e' comunque +tenuto a imporre il rispetto di questa Licenza a terzi. + + 7. Se, come conseguenza del giudizio di un tribunale, o di una +imputazione per la violazione di un brevetto o per ogni altra ragione +(non limitatamente a questioni di brevetti), vengono imposte +condizioni che contraddicono le condizioni di questa licenza, che +queste condizioni siano dettate dalla corte, da accordi tra le parti o +altro, queste condizioni non esimono nessuno dall'osservazione di +questa Licenza. Se non \xE8 possibile distribuire un prodotto in un modo +che soddisfi simultaneamente gli obblighi dettati da questa Licenza e +altri obblighi pertinenti, il prodotto non pu\xF2 essere affatto +distribuito. Per esempio, se un brevetto non permettesse a tutti +quelli che lo ricevono di ridistribuire il Programma senza obbligare +al pagamento di diritti, allora l'unico modo per soddisfare +contemporaneamente il brevetto e questa Licenza e' di non distribuire +affatto il Programma. + +Se una qualunque parte di questo comma \xE8 ritenuta non valida o non +applicabile in una qualunque circostanza, deve comunque essere +applicata l'idea espressa da questo comma; in ogni altra circostanza +invece deve essere applicato questo comma nel suo complesso. + +Non \xE8 nelle finalit\xE0 di questo comma indurre gli utenti ad infrangere +alcun brevetto n\xE9 ogni altra rivendicazione di diritti di propriet\xE0, +n\xE9 di contestare la validit\xE0 di alcuna di queste rivendicazioni; lo +scopo di questo comma \xE8 unicamente quello di proteggere l'integrit\xE0 +del sistema di distribuzione dei programmi liberi, che viene +realizzato tramite l'uso di licenze pubbliche. Molte persone hanno +contribuito generosamente alla vasta gamma di programmi distribuiti +attraverso questo sistema, basandosi sull'applicazione fedele di tale +sistema. L'autore/donatore pu\xF2 decidere di sua volont\xE0 se preferisce +distribuire il software avvalendosi di altri sistemi, e l'acquirente +non pu\xF2 imporre la scelta del sistema di distribuzione. + +Questo comma serve a rendere il pi\xF9 chiaro possibile ci\xF2 che crediamo +sia una conseguenza del resto di questa Licenza. + + 8. Se in alcuni paesi la distribuzione o l'uso del Programma sono +limitati da brevetto o dall'uso di interfacce coperte da copyright, il +detentore del copyright originale che pone il Programma sotto questa +Licenza pu\xF2 aggiungere limiti geografici espliciti alla distribuzione, +per escludere questi paesi dalla distribuzione stessa, in modo che il +programma possa essere distribuito solo nei paesi non esclusi da +questa regola. In questo caso i limiti geografici sono inclusi in +questa Licenza e ne fanno parte a tutti gli effetti. + + 9. All'occorrenza la Free Software Foundation pu\xF2 pubblicare +revisioni o nuove versioni di questa Licenza Pubblica Generica. Tali +nuove versioni saranno simili a questa nello spirito, ma potranno +differire nei dettagli al fine di coprire nuovi problemi e nuove +situazioni. + +Ad ogni versione viene dato un numero identificativo. Se il Programma +asserisce di essere coperto da una particolare versione di questa +Licenza e "da ogni versione successiva", l'acquirente pu\xF2 scegliere se +seguire le condizioni della versione specificata o di una successiva. +Se il Programma non specifica quale versione di questa Licenza deve +applicarsi, l'acquirente pu\xF2 scegliere una qualsiasi versione tra +quelle pubblicate dalla Free Software Foundation. + + 10. Se si desidera incorporare parti del Programma in altri +programmi liberi le cui condizioni di distribuzione differiscano da +queste, \xE8 possibile scrivere all'autore del Programma per chiederne +l'autorizzazione. Per il software il cui copyright \xE8 detenuto dalla +Free Software Foundation, si scriva alla Free Software Foundation; +talvolta facciamo eccezioni alle regole di questa Licenza. La nostra +decisione sar\xE0 guidata da due finalit\xE0: preservare la libert\xE0 di tutti +i prodotti derivati dal nostro software libero e promuovere la +condivisione e il riutilizzo del software in generale. + + + NON C'\xC8 GARANZIA + + 11. POICH\xC9 IL PROGRAMMA \xC8 CONCESSO IN USO GRATUITAMENTE, NON C'\xC8 +GARANZIA PER IL PROGRAMMA, NEI LIMITI PERMESSI DALLE VIGENTI LEGGI. +SE NON INDICATO DIVERSAMENTE PER ISCRITTO, IL DETENTORE DEL COPYRIGHT +E LE ALTRE PARTI FORNISCONO IL PROGRAMMA "COS\xCC COM'\xC8", SENZA ALCUN +TIPO DI GARANZIA, N\xC9 ESPLICITA N\xC9 IMPLICITA; CI\xD2 COMPRENDE, SENZA +LIMITARSI A QUESTO, LA GARANZIA IMPLICITA DI COMMERCIABILIT\xC0 E +UTILIZZABILIT\xC0 PER UN PARTICOLARE SCOPO. L'INTERO RISCHIO CONCERNENTE +LA QUALIT\xC0 E LE PRESTAZIONI DEL PROGRAMMA \xC8 DELL'ACQUIRENTE. SE IL +PROGRAMMA DOVESSE RIVELARSI DIFETTOSO, L'ACQUIRENTE SI ASSUME IL COSTO +DI OGNI MANUTENZIONE, RIPARAZIONE O CORREZIONE NECESSARIA. + + 12. N\xC9 IL DETENTORE DEL COPYRIGHT N\xC9 ALTRE PARTI CHE POSSONO +MODIFICARE O RIDISTRIBUIRE IL PROGRAMMA COME PERMESSO IN QUESTA +LICENZA SONO RESPONSABILI PER DANNI NEI CONFRONTI DELL'ACQUIRENTE, A +MENO CHE QUESTO NON SIA RICHIESTO DALLE LEGGI VIGENTI O APPAIA IN UN +ACCORDO SCRITTO. SONO INCLUSI DANNI GENERICI, SPECIALI O INCIDENTALI, +COME PURE I DANNI CHE CONSEGUONO DALL'USO O DALL'IMPOSSIBILIT\xC0 DI +USARE IL PROGRAMMA; CI\xD2 COMPRENDE, SENZA LIMITARSI A QUESTO, LA +PERDITA DI DATI, LA CORRUZIONE DEI DATI, LE PERDITE SOSTENUTE +DALL'ACQUIRENTE O DA TERZI E L'INCAPACIT\xC0 DEL PROGRAMMA A INTERAGIRE +CON ALTRI PROGRAMMI, ANCHE SE IL DETENTORE O ALTRE PARTI SONO STATE +AVVISATE DELLA POSSIBILIT\xC0 DI QUESTI DANNI. + + FINE DEI TERMINI E DELLE CONDIZIONI + + Appendice: come applicare questi termini a nuovi programmi + +Se si sviluppa un nuovo programma e lo si vuole rendere della maggiore +utilit\xE0 possibile per il pubblico, la cosa migliore da fare \xE8 rendere +tale programma libero, cosicch\xE9 ciascuno possa ridistribuirlo e +modificarlo sotto questi termini. + +Per fare questo, si inserisca nel programma la seguente nota. La cosa +migliore da fare \xE8 mettere la nota all`inizio di ogni file sorgente, +per chiarire nel modo pi\xF9 efficiente possibile l'assenza di garanzia; +ogni file dovrebbe contenere almeno la nota di copyright e +l'indicazione di dove trovare l'intera nota. + + <una riga per dire in breve il nome del programma e cosa fa> + Copyright (C) <anno> <nome dell'autore> + + Questo programma \xE8 software libero; \xE8 lecito redistribuirlo o + modificarlo secondo i termini della Licenza Pubblica Generica GNU + come \xE8 pubblicata dalla Free Software Foundation; o la versione 2 + della licenza o (a propria scelta) una versione successiva. + + Questo programma \xE8 distribuito nella speranza che sia utile, ma + SENZA ALCUNA GARANZIA; senza neppure la garanzia implicita di + NEGOZIABILIT\xC0 o di APPLICABILIT\xC0 PER UN PARTICOLARE SCOPO. Si + veda la Licenza Pubblica Generica GNU per avere maggiori dettagli. + + Questo programma deve essere distribuito assieme ad una copia + della Licenza Pubblica Generica GNU; in caso contrario, se ne pu\xF2 + ottenere una scrivendo alla Free Software Foundation, Inc., 51 + Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Si aggiungano anche informazioni su come si pu\xF2 essere contattati +tramite posta elettronica e cartacea. + +Se il programma \xE8 interattivo, si faccia in modo che stampi una breve +nota simile a questa quando viene usato interattivamente: + + Orcaloca versione 69, Copyright (C) anno nome dell'autore + Orcaloca non ha ALCUNA GARANZIA; per dettagli usare il comando `show g'. + Questo \xE8 software libero, e ognuno \xE8 libero di ridistribuirlo secondo + certe condizioni; usare il comando `show c' per i dettagli. + +Gli ipotetici comandi "show g" e "show c" mostreranno le parti +appropriate della Licenza Pubblica Generica. Chiaramente, i comandi +usati possono essere chiamati diversamente da "show g" e "show c" e +possono anche essere selezionati con il mouse o attraverso un men\xF9, o +comunque sia pertinente al programma. + +Se necessario, si deve anche far firmare al proprio datore di lavoro +(per chi lavora come programmatore) o alla propria scuola, per chi \xE8 +studente, una "rinuncia al copyright" per il programma. Ecco un +esempio con nomi fittizi: + + Yoyodinamica SPA rinuncia con questo documento ad ogni diritto sul + copyright del programma `Orcaloca' (che svolge dei passi di + compilazione) scritto da Giovanni Smanettone. + + <firma di Primo Tizio>, 1 April 3000 + Primo Tizio, Presidente + +I programmi coperti da questa Licenza Pubblica Generica non possono +essere incorporati all'interno di programmi proprietari. Se il +proprio programma \xE8 una libreria di funzioni, pu\xF2 essere pi\xF9 utile +permettere di collegare applicazioni proprietarie alla libreria. Se +si ha questa intenzione consigliamo di usare la Licenza Pubblica +Generica Minore GNU (LGPL) invece di questa Licenza. Added: trunk/misc/design/11cornersNifty2/NiftyCube/gpl.txt =================================================================== --- trunk/misc/design/11cornersNifty2/NiftyCube/gpl.txt (rev 0) +++ trunk/misc/design/11cornersNifty2/NiftyCube/gpl.txt 2008-01-26 17:21:59 UTC (rev 4824) @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + <signature of Ty Coon>, 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. Added: trunk/misc/design/11cornersNifty2/NiftyCube/niftyCorners.css =================================================================== --- trunk/misc/design/11cornersNifty2/NiftyCube/niftyCorners.css (rev 0) +++ trunk/misc/design/11cornersNifty2/NiftyCube/niftyCorners.css 2008-01-26 17:21:59 UTC (rev 4824) @@ -0,0 +1,35 @@ +/*Nifty Corners Cube CSS by Alessandro Fulciniti +The following classes are added dinamically by javascript, +and their use should be avoided in the markup */ + +b.niftycorners,b.niftyfill{display:block} +b.niftycorners *{display:block;height: 1px;line-height:1px;font-size: 1px; + overflow:hidden;border-style:solid;border-width: 0 1px} +/*normal*/ +b.r1{margin: 0 3px;border-width: 0 2px} +b.r2{margin: 0 2px} +b.r3{margin: 0 1px} +b.r4{height: 2px} +b.rb1{margin: 0 8px;border-width:0 2px} +b.rb2{margin: 0 6px;border-width:0 2px} +b.rb3{margin: 0 5px} +b.rb4{margin: 0 4px} +b.rb5{margin: 0 3px} +b.rb6{margin: 0 2px} +b.rb7{margin: 0 1px;height:2px} +b.rb8{margin: 0;height:2px} +b.rs1{margin: 0 1px} +/*transparent inside*/ +b.t1{border-width: 0 5px} +b.t2{border-width: 0 3px} +b.t3{border-width: 0 2px} +b.t4{height: 2px} +b.tb1{border-width: 0 10px} +b.tb2{border-width: 0 8px} +b.tb3{border-width: 0 6px} +b.tb4{border-width: 0 5px} +b.tb5{border-width: 0 4px} +b.tb6{border-width: 0 3px} +b.tb7{border-width: 0 2px;height:2px} +b.tb8{border-width: 0 1px;height:2px} +b.ts1{border-width: 0 2px} \ No newline at end of file Added: trunk/misc/design/11cornersNifty2/NiftyCube/niftyLayout.js =================================================================== --- trunk/misc/design/11cornersNifty2/NiftyCube/niftyLayout.js (rev 0) +++ trunk/misc/design/11cornersNifty2/NiftyCube/niftyLayout.js 2008-01-26 17:21:59 UTC (rev 4824) @@ -0,0 +1,11 @@ +/*nifty corners layout*/ + +window.onload=function(){ +Nifty("div#menu a","small transparent top"); +Nifty("ul#intro li","same-height"); +Nifty("div.date"); +Nifty("div#content,div#side","same-height"); +Nifty("div.comments div"); +Nifty("div#footer"); +Nifty("div#container","bottom"); +} \ No newline at end of file Added: trunk/misc/design/11cornersNifty2/NiftyCube/niftycube.js =================================================================== --- trunk/misc/design/11cornersNifty2/NiftyCube/niftycube.js (rev 0) +++ trunk/misc/design/11cornersNifty2/NiftyCube/niftycube.js 2008-01-26 17:21:59 UTC (rev 4824) @@ -0,0 +1,298 @@ +/* Nifty Corners Cube - rounded corners with CSS and Javascript +Copyright 2006 Alessandro Fulciniti (a.f...@ht...) + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +var niftyOk=(document.getElementById && document.createElement && Array.prototype.push); +var niftyCss=false; + +String.prototype.find=function(what){ +return(this.indexOf(what)>=0 ? true : false); +} + +var oldonload=window.onload; +if(typeof(NiftyLoad)!='function') NiftyLoad=function(){}; +if(typeof(oldonload)=='function') + window.onload=function(){oldonload();AddCss();NiftyLoad()}; +else window.onload=function(){AddCss();NiftyLoad()}; + +function AddCss(){ +niftyCss=true; +var l=CreateEl("link"); +l.setAttribute("type","text/css"); +l.setAttribute("rel","stylesheet"); +l.setAttribute("href","niftyCorners.css"); +l.setAttribute("media","screen"); +document.getElementsByTagName("head")[0].appendChild(l); +} + +function Nifty(selector,options){ +if(niftyOk==false) return; +if(niftyCss==false) AddCss(); +var i,v=selector.split(","),h=0; +if(options==null) options=""; +if(options.find("fixed-height")) + h=getElementsBySelector(v[0])[0].offsetHeight; +for(i=0;i<v.length;i++) + Rounded(v[i],options); +if(options.find("height")) SameHeight(selector,h); +} + +function Rounded(selector,options){ +var i,top="",bottom="",v=new Array(); +if(options!=""){ + options=options.replace("left","tl bl"); + options=options.replace("right","tr br"); + options=options.replace("top","tr tl"); + options=options.replace("bottom","br bl"); + options=options.replace("transparent","alias"); + if(options.find("tl")){ + top="both"; + if(!options.find("tr")) top="left"; + } + else if(options.find("tr")) top="right"; + if(options.find("bl")){ + bottom="both"; + if(!options.find("br")) bottom="left"; + } + else if(options.find("br")) bottom="right"; + } +if(top=="" && bottom=="" && !options.find("none")){top="both";bottom="both";} +v=getElementsBySelector(selector); +for(i=0;i<v.length;i++){ + FixIE(v[i]); + if(top!="") AddTop(v[i],top,options); + if(bottom!="") AddBottom(v[i],bottom,options); + } +} + +function AddTop(el,side,options){ +var d=CreateEl("b"),lim=4,border="",p,i,btype="r",bk,color; +d.style.marginLeft="-"+getPadding(el,"Left")+"px"; +d.style.marginRight="-"+getPadding(el,"Right")+"px"; +if(options.find("alias") || (color=getBk(el))=="transparent"){ + color="transparent";bk="transparent"; border=getParentBk(el);btype="t"; + } +else{ + bk=getParentBk(el); border=Mix(color,bk); + } +d.style.background=bk; +d.className="niftycorners"; +p=getPadding(el,"Top"); +if(options.find("small")){ + d.style.marginBottom=(p-2)+"px"; + btype+="s"; lim=2; + } +else if(options.find("big")){ + d.style.marginBottom=(p-10)+"px"; + btype+="b"; lim=8; + } +else d.style.marginBottom=(p-5)+"px"; +for(i=1;i<=lim;i++) + d.appendChild(CreateStrip(i,side,color,border,btype)); +el.style.paddingTop="0"; +el.insertBefore(d,el.firstChild); +} + +function AddBottom(el,side,options){ +var d=CreateEl("b"),lim=4,border="",p,i,btype="r",bk,color; +d.style.marginLeft="-"+getPadding(el,"Left")+"px"; +d.style.marginRight="-"+getPadding(el,"Right")+"px"; +if(options.find("alias") || (color=getBk(el))=="transparent"){ + color="transparent";bk="transparent"; border=getParentBk(el);btype="t"; + } +else{ + bk=getParentBk(el); border=Mix(color,bk); + } +d.style.background=bk; +d.className="niftycorners"; +p=getPadding(el,"Bottom"); +if(options.find("small")){ + d.style.marginTop=(p-2)+"px"; + btype+="s"; lim=2; + } +else if(options.find("big")){ + d.style.marginTop=(p-10)+"px"; + btype+="b"; lim=8; + } +else d.style.marginTop=(p-5)+"px"; +for(i=lim;i>0;i--) + d.appendChild(CreateStrip(i,side,color,border,btype)); +el.style.paddingBottom=0; +el.appendChild(d); +} + +function CreateStrip(index,side,color,border,btype){ +var x=CreateEl("b"); +x.className=btype+index; +x.style.backgroundColor=color; +x.style.borderColor=border; +if(side=="left"){ + x.style.borderRightWidth="0"; + x.style.marginRight="0"; + } +else if(side=="right"){ + x.style.borderLeftWidth="0"; + x.style.marginLeft="0"; + } +return(x); +} + +function CreateEl(x){ +return(document.createElement(x)); +} + +function FixIE(el){ +if(el.currentStyle!=null && el.currentStyle.hasLayout!=null && el.currentStyle.hasLayout==false) + el.style.display="inline-block"; +} + +function SameHeight(selector,maxh){ +var i,v=selector.split(","),t,j,els=[],gap; +for(i=0;i<v.length;i++){ + t=getElementsBySelector(v[i]); + els=els.concat(t); + } +for(i=0;i<els.length;i++){ + if(els[i].offsetHeight>maxh) maxh=els[i].offsetHeight; + els[i].style.height="auto"; + } +for(i=0;i<els.length;i++){ + gap=maxh-els[i].offsetHeight; + if(gap>0){ + t=CreateEl("b");t.className="niftyfill";t.style.height=gap+"px"; + nc=els[i].lastChild; + if(nc.className=="niftycorners") + els[i].insertBefore(t,nc); + else els[i].appendChild(t); + } + } +} + +function getElementsBySelector(selector){ +var i,j,selid="",selclass="",tag=selector,tag2="",v2,k,f,a,s=[],objlist=[],c; +if(selector.find("#")){ //id selector like "tag#id" + if(selector.find(" ")){ //descendant selector like "tag#id tag" + s=selector.split(" "); + var fs=s[0].split("#"); + if(fs.length==1) return(objlist); + f=document.getElementById(fs[1]); + if(f){ + v=f.getElementsByTagName(s[1]); + for(i=0;i<v.length;i++) objlist.push(v[i]); + } + return(objlist); + } + else{ + s=selector.split("#"); + tag=s[0]; + selid=s[1]; + if(selid!=""){ + f=document.getElementById(selid); + if(f) objlist.push(f); + return(objlist); + } + } + } +if(selector.find(".")){ //class selector like "tag.class" + s=selector.split("."); + tag=s[0]; + selclass=s[1]; + if(selclass.find(" ")){ //descendant selector like tag1.classname tag2 + s=selclass.split(" "); + selclass=s[0]; + tag2=s[1]; + } + } +var v=document.getElementsByTagName(tag); // tag selector like "tag" +if(selclass==""){ + for(i=0;i<v.length;i++) objlist.push(v[i]); + return(objlist); + } +for(i=0;i<v.length;i++){ + c=v[i].className.split(" "); + for(j=0;j<c.length;j++){ + if(c[j]==selclass){ + if(tag2=="") objlist.push(v[i]); + else{ + v2=v[i].getElementsByTagName(tag2); + for(k=0;k<v2.length;k++) objlist.push(v2[k]); + } + } + } + } +return(objlist); +} + +function getParentBk(x){ +var el=x.parentNode,c; +while(el.tagName.toUpperCase()!="HTML" && (c=getBk(el))=="transparent") + el=el.parentNode; +if(c=="transparent") c="#FFFFFF"; +return(c); +} + +function getBk(x){ +var c=getStyleProp(x,"backgroundColor"); +if(c==null || c=="transparent" || c.find("rgba(0, 0, 0, 0)")) + return("transparent"); +if(c.find("rgb")) c=rgb2hex(c); +return(c); +} + +function getPadding(x,side){ +var p=getStyleProp(x,"padding"+side); +if(p==null || !p.find("px")) return(0); +return(parseInt(p)); +} + +function getStyleProp(x,prop){ +if(x.currentStyle) + return(x.currentStyle[prop]); +if(document.defaultView.getComputedStyle) + return(document.defaultView.getComputedStyle(x,'')[prop]); +return(null); +} + +function rgb2hex(value){ +var hex="",v,h,i; +var regexp=/([0-9]+)[, ]+([0-9]+)[, ]+([0-9]+)/; +var h=regexp.exec(value); +for(i=1;i<4;i++){ + v=parseInt(h[i]).toString(16); + if(v.length==1) hex+="0"+v; + else hex+=v; + } +return("#"+hex); +} + +function Mix(c1,c2){ +var i,step1,step2,x,y,r=new Array(3); +if(c1.length==4)step1=1; +else step1=2; +if(c2.length==4) step2=1; +else step2=2; +for(i=0;i<3;i++){ + x=parseInt(c1.substr(1+step1*i,step1),16); + if(step1==1) x=16*x+x; + y=parseInt(c2.substr(1+step2*i,step2),16); + if(step2==1) y=16*y+y; + r[i]=Math.floor((x*50+y*50)/100); + r[i]=r[i].toString(16); + if(r[i].length==1) r[i]="0"+r[i]; + } +return("#"+r[0]+r[1]+r[2]); +} \ No newline at end of file Added: trunk/misc/design/11cornersNifty2/colorsettings.php =================================================================== --- trunk/misc/design/11cornersNifty2/colorsettings.php (rev 0) +++ trunk/misc/design/11cornersNifty2/colorsettings.php 2008-01-26 17:21:59 UTC (rev 4824) @@ -0,0 +1,70 @@ +<?php +header("Content-Type: text/css"); + +/** + * force caching in browser + * works in firefox and internet explorer + */ +Header("Last-Modified: " . gmdate("D, d M Y H:i:s",mktime (0,0,0,1,1,2000)) . " GMT"); // Date in the past +Header("Expires: Mon, 26 Jul 2100 05:00:00 GMT"); // In other words... never expire the image +Header("Cache-Control: max-age=10000000, s-maxage=1000000, proxy-revalidate, must-revalidate"); + + +/* + * Created on 26.10.2006 + * + * To change the template for this generated file go to + * Window - Preferences - PHPeclipse - PHP - Code Templates + */ +?> + +/** + * background color + * #linDivThumbNavi amd #divSlideshowControlsInner used in view_img.html.php + */ + body { + background-color: #<?php echo $_GET['bodybg']; ?>; + } + + #linDivMain, #linDivMetaStaticOuter, #linDivNavigationOuter, /*.linButton,*/ #linDivThumbnaviOuter, #linDivSlideshowControls, .roundAlphabottomInner, .linBackground { + background-color: #<?php echo $_GET['bg']; ?>; + } + +/** + * font color + */ + body, #linDivMenu ul a, #linDivMenu ul span, #linDivMenu ul div { + color: #<?php echo $_GET['font']; ?>; + } + +/** + * albums color + */ + .linDivFolder { + background-color: #<?php echo $_GET['albumsbg']; ?>; + } + +/** + * link/form colors + */ + a:link, a:visited /*, .linButton*/ { + color: #<?php echo $_GET['links']; ?>; + } + a:hover /*, .linButton:hover*/ { + color: #<?php echo $_GET['linkshover']; ?>; + } + + .linForms { + background-color: #<?php echo $_GET['fieldscolor']; ?>; + border: 1px solid grey; + } + +/** + * menu + */ + #linDivMenu ul a:hover, #linDivMenu ul span:hover { + background: #bbbbbb; + } + #linDivMenu ul ul, .linInputMenu { + background-color: #eeeeee; + } Added: trunk/misc/design/11cornersNifty2/csshover.htc =================================================================== --- trunk/misc/design/11cornersNifty2/csshover.htc (rev 0) +++ trunk/misc/design/11cornersNifty2/csshover.htc 2008-01-26 17:21:59 UTC (rev 4824) @@ -0,0 +1,120 @@ +<attach event="ondocumentready" handler="parseStylesheets" /> +<script> +/** + * Whatever:hover - V1.42.060206 - hover & active + * ------------------------------------------------------------ + * (c) 2005 - Peter Nederlof + * Peterned - http://www.xs4all.nl/~peterned/ + * License - http://creativecommons.org/licenses/LGPL/2.1/ + * + * Whatever:hover is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * Whatever:hover is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * Credits and thanks to: + * Arnoud Berendsen, Martin Reurings, Robert Hanson + * + * howto: body { behavior:url("csshover.htc"); } + * ------------------------------------------------------------ + */ + +var csshoverReg = /(^|\s)(([^a]([^ ]+)?)|(a([^#.][^ ]+)+)):(... [truncated message content] |
From: <fan...@us...> - 2008-01-26 16:32:01
|
Revision: 4823 http://linpha.svn.sourceforge.net/linpha/?rev=4823&view=rev Author: fangehrn Date: 2008-01-26 08:30:45 -0800 (Sat, 26 Jan 2008) Log Message: ----------- Added Paths: ----------- trunk/misc/design/10cornersOld/colorsettings.php trunk/misc/design/10cornersOld/csshover.htc trunk/misc/design/10cornersOld/expand.gif trunk/misc/design/10cornersOld/func.watermark.php trunk/misc/design/10cornersOld/global.css trunk/misc/design/10cornersOld/home.css trunk/misc/design/10cornersOld/index.php trunk/misc/design/10cornersOld/roundcorners.php Added: trunk/misc/design/10cornersOld/colorsettings.php =================================================================== --- trunk/misc/design/10cornersOld/colorsettings.php (rev 0) +++ trunk/misc/design/10cornersOld/colorsettings.php 2008-01-26 16:30:45 UTC (rev 4823) @@ -0,0 +1,70 @@ +<?php +header("Content-Type: text/css"); + +/** + * force caching in browser + * works in firefox and internet explorer + */ +Header("Last-Modified: " . gmdate("D, d M Y H:i:s",mktime (0,0,0,1,1,2000)) . " GMT"); // Date in the past +Header("Expires: Mon, 26 Jul 2100 05:00:00 GMT"); // In other words... never expire the image +Header("Cache-Control: max-age=10000000, s-maxage=1000000, proxy-revalidate, must-revalidate"); + + +/* + * Created on 26.10.2006 + * + * To change the template for this generated file go to + * Window - Preferences - PHPeclipse - PHP - Code Templates + */ +?> + +/** + * background color + * #linDivThumbNavi amd #divSlideshowControlsInner used in view_img.html.php + */ + body { + background-color: #<?php echo $_GET['bodybg']; ?>; + } + + #linDivMainOuter, #linDivMetaStaticOuter, #linDivNavigationOuter, /*.linButton,*/ #linDivThumbnaviOuter, #linDivSlideshowControls, .roundAlphabottomInner, .linBackground { + background-color: #<?php echo $_GET['bg']; ?>; + } + +/** + * font color + */ + body, #linDivMenu ul a, #linDivMenu ul span, #linDivMenu ul div { + color: #<?php echo $_GET['font']; ?>; + } + +/** + * albums color + */ + .linDivFolder { + background-color: #<?php echo $_GET['albumsbg']; ?>; + } + +/** + * link/form colors + */ + a:link, a:visited /*, .linButton*/ { + color: #<?php echo $_GET['links']; ?>; + } + a:hover /*, .linButton:hover*/ { + color: #<?php echo $_GET['linkshover']; ?>; + } + + .linForms { + background-color: #<?php echo $_GET['fieldscolor']; ?>; + border: 1px solid grey; + } + +/** + * menu + */ + #linDivMenu ul a:hover, #linDivMenu ul span:hover { + background: #bbbbbb; + } + #linDivMenu ul ul, .linInputMenu { + background-color: #eeeeee; + } Added: trunk/misc/design/10cornersOld/csshover.htc =================================================================== --- trunk/misc/design/10cornersOld/csshover.htc (rev 0) +++ trunk/misc/design/10cornersOld/csshover.htc 2008-01-26 16:30:45 UTC (rev 4823) @@ -0,0 +1,120 @@ +<attach event="ondocumentready" handler="parseStylesheets" /> +<script> +/** + * Whatever:hover - V1.42.060206 - hover & active + * ------------------------------------------------------------ + * (c) 2005 - Peter Nederlof + * Peterned - http://www.xs4all.nl/~peterned/ + * License - http://creativecommons.org/licenses/LGPL/2.1/ + * + * Whatever:hover is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * Whatever:hover is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * Credits and thanks to: + * Arnoud Berendsen, Martin Reurings, Robert Hanson + * + * howto: body { behavior:url("csshover.htc"); } + * ------------------------------------------------------------ + */ + +var csshoverReg = /(^|\s)(([^a]([^ ]+)?)|(a([^#.][^ ]+)+)):(hover|active)/i, +currentSheet, doc = window.document, hoverEvents = [], activators = { + onhover:{on:'onmouseover', off:'onmouseout'}, + onactive:{on:'onmousedown', off:'onmouseup'} +} + +function parseStylesheets() { + if(!/MSIE (5|6)/.test(navigator.userAgent)) return; + window.attachEvent('onunload', unhookHoverEvents); + var sheets = doc.styleSheets, l = sheets.length; + for(var i=0; i<l; i++) + parseStylesheet(sheets[i]); +} + function parseStylesheet(sheet) { + if(sheet.imports) { + try { + var imports = sheet.imports, l = imports.length; + for(var i=0; i<l; i++) parseStylesheet(sheet.imports[i]); + } catch(securityException){} + } + + try { + var rules = (currentSheet = sheet).rules, l = rules.length; + for(var j=0; j<l; j++) parseCSSRule(rules[j]); + } catch(securityException){} + } + + function parseCSSRule(rule) { + var select = rule.selectorText, style = rule.style.cssText; + if(!csshoverReg.test(select) || !style) return; + + var pseudo = select.replace(/[^:]+:([a-z-]+).*/i, 'on$1'); + var newSelect = select.replace(/(\.([a-z0-9_-]+):[a-z]+)|(:[a-z]+)/gi, '.$2' + pseudo); + var className = (/\.([a-z0-9_-]*on(hover|active))/i).exec(newSelect)[1]; + var affected = select.replace(/:(hover|active).*$/, ''); + var elements = getElementsBySelect(affected); + if(elements.length == 0) return; + + currentSheet.addRule(newSelect, style); + for(var i=0; i<elements.length; i++) + new HoverElement(elements[i], className, activators[pseudo]); + } + +function HoverElement(node, className, events) { + if(!node.hovers) node.hovers = {}; + if(node.hovers[className]) return; + node.hovers[className] = true; + hookHoverEvent(node, events.on, function() { node.className += ' ' + className; }); + hookHoverEvent(node, events.off, function() { node.className = node.className.replace(new RegExp('\\s+'+className, 'g'),''); }); +} + function hookHoverEvent(node, type, handler) { + node.attachEvent(type, handler); + hoverEvents[hoverEvents.length] = { + node:node, type:type, handler:handler + }; + } + + function unhookHoverEvents() { + for(var e,i=0; i<hoverEvents.length; i++) { + e = hoverEvents[i]; + e.node.detachEvent(e.type, e.handler); + } + } + +function getElementsBySelect(rule) { + var parts, nodes = [doc]; + parts = rule.split(' '); + for(var i=0; i<parts.length; i++) { + nodes = getSelectedNodes(parts[i], nodes); + } return nodes; +} + function getSelectedNodes(select, elements) { + var result, node, nodes = []; + var identify = (/\#([a-z0-9_-]+)/i).exec(select); + if(identify) { + var element = doc.getElementById(identify[1]); + return element? [element]:nodes; + } + + var classname = (/\.([a-z0-9_-]+)/i).exec(select); + var tagName = select.replace(/(\.|\#|\:)[a-z0-9_-]+/i, ''); + var classReg = classname? new RegExp('\\b' + classname[1] + '\\b'):false; + for(var i=0; i<elements.length; i++) { + result = tagName? elements[i].all.tags(tagName):elements[i].all; + for(var j=0; j<result.length; j++) { + node = result[j]; + if(classReg && !classReg.test(node.className)) continue; + nodes[nodes.length] = node; + } + } + + return nodes; + } +</script> \ No newline at end of file Added: trunk/misc/design/10cornersOld/expand.gif =================================================================== (Binary files differ) Property changes on: trunk/misc/design/10cornersOld/expand.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/misc/design/10cornersOld/func.watermark.php =================================================================== --- trunk/misc/design/10cornersOld/func.watermark.php (rev 0) +++ trunk/misc/design/10cornersOld/func.watermark.php 2008-01-26 16:30:45 UTC (rev 4823) @@ -0,0 +1,547 @@ +<?php +/* +* Copyright (c) 2004 Heiko Rutenbeck <bz...@tu...> +* +* This program is free software; you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation; either version 2 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program; if not, write to the Free Software +* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ + +if(!defined('LINPHA_DIR')) { exit(1); } + +class LinWatermark +{ + +/** +* @author flo +* @todo adapt from linpha1 +*/ +function needWatermark($imgid) +{ + if( $GLOBALS['linpha']->sql->config->value['plugins_active_wm'] + && $GLOBALS['linpha']->sql->config->value['plugins_wm_active'] + && !check_permissions('watermark',$imgid) ) + { + return true; + } else { + return false; + } +} + +/** + * returns array with all the configs and the default values, they are only defined here + */ +function getWatermarkArray() +{ + return array ( + 'wm_active' => "0", + 'wm_watermark' => "0", + 'wm_text' => "Copyright 2007", + 'wm_font' => "", + 'wm_fontsize' => "20", + 'wm_fontcolor' => "white", + 'wm_align' => "southwest", + 'wm_horizontal' => "0", + 'wm_vertical' => "0", + 'wm_enable_shadow' => "1", + 'wm_shadow_size' => "1", + 'wm_shadow_fontsize' => "20", + 'wm_shadow_color' => "black", + 'wm_enable_rectangle' => "1", + 'wm_rectangle_color' => "darkgrey", + 'wm_height' => "30", + 'wm_width' => "145", + 'wm_img_img' => "", + 'wm_dissolve' => "75%", + 'wm_resize' => "30" + ); +} + +function readWatermark() +{ + $arr_config = LinWatermark::getWatermarkArray(); + while(list($name,$value) = each($arr_config) ) + { + $arr_read[$name] = $GLOBALS['linpha']->sql->config->value['plugins_'.$name]; + } + return $arr_read; +} + +function updateWatermark() +{ + $arr_config = LinWatermark::getWatermarkArray(); + while(list($name,$value) = each($arr_config) ) + { + $GLOBALS['linpha']->sql->config->updateConfig($name,$_POST[$name]); + } +} + +/** + * restore watermark settings to initial settings or to examples + */ +function restoreWatermark() +{ + global $wm_restore_to; + + $arr_config = LinWatermark::getWatermarkArray(); + switch($_POST['setdefault']) + { + case 'initial': + break; + case 'settings1': + $arr_config['wm_watermark'] = 1; + $arr_config['wm_text'] = "(C) 2004 linpha.sf.net"; + $arr_config['wm_fontsize'] = "10"; + $arr_config['wm_fontcolor'] = "white"; + $arr_config['wm_align'] = "south"; + $arr_config['wm_horizontal'] = "0"; + $arr_config['wm_vertical'] = "0"; + $arr_config['wm_enable_rectangle'] = "1"; + $arr_config['wm_rectangle_color'] = "darkgrey"; + $arr_config['wm_enable_shadow'] = "2"; + $arr_config['wm_height'] = "20"; + $arr_config['wm_width'] = "2000"; + $arr_config['wm_resize'] = "no"; + break; + case 'settings2': + $arr_config['wm_watermark'] = 2; + $arr_config['wm_dissolve'] = "65%"; + $arr_config['wm_align'] = "southwest"; + $arr_config['wm_img_img'] = "linpha.png"; + $arr_config['wm_horizontal'] = "10"; + $arr_config['wm_vertical'] = "10"; + $arr_config['wm_resize'] = "30"; + + break; + case 'settings3': // maybe better for gd lib than for convert + $arr_config['wm_watermark'] = 1; + $arr_config['wm_dissolve'] = "100%"; + $arr_config['wm_align'] = "southwest"; + $arr_config['wm_text'] = "(C) 2004 linpha.sf.net"; + $arr_config['wm_fontsize'] = "20"; + $arr_config['wm_fontcolor'] = "white"; + $arr_config['wm_horizontal'] = "0"; + $arr_config['wm_vertical'] = "0"; + $arr_config['wm_enable_rectangle'] = "1"; + $arr_config['wm_rectangle_color'] = "darkgrey"; + $arr_config['wm_enable_shadow'] = "1"; + $arr_config['wm_shadow_size'] = "5"; + $arr_config['wm_shadow_fontsize'] = "2"; + $arr_config['wm_height'] = "30"; + $arr_config['wm_width'] = "260"; + $arr_config['wm_resize'] = "no"; + break; + } + while(list($name,$value) = each($arr_config) ) + { + $GLOBALS['linpha']->sql->config->updateConfig($name,$value); + } +} + +/** + * calcs the new height and width of the resized watermark + * $w, $h: size of the big image + * $org_width, $org_height: size of the watermark rectangle/image + * $resize: resize factor in percent + * + */ +function wmArrResized($w,$h,$org_width,$org_height,$resize) +{ + $arr_resized['w'] = round($w * $resize/100); + $arr_resized['h'] = round($h * $resize/100); + + $no_increase = 0; + $array = LinImage::scaleToFit($org_height,$org_width,$arr_resized['h'],$arr_resized['w'],$no_increase); + + //error_log('w: '.$w.' h: '.$h.' arr_resized_w: '.$arr_resized['w'].' arr_resized_h: '.$arr_resized['h']. + // ' org_w: '.$org_width.' org_h: '.$org_height.' scaleToFit w: '.$array['w'].' h: '.$array['h']); + + return $array; +} + +/** + * list with many available colors + * http://mail.gnu.org/archive/html/emacs-diffs/2002-06/msg00158.html + * @uses getRgbFromAll() + */ +static $Colors = array( + 'aliceblue'=>'#f0f8ff', + 'antiquewhite'=>'#faebd7', + 'aquamarine'=>'#7fffd4', + 'azure'=>'#f0ffff', + 'beige'=>'#f5f5dc', + 'bisque'=>'#ffe4c4', + 'black'=>'#000000', + 'blanchedalmond'=>'#ffebcd', + 'blue'=>'#0000ff', + 'blueviolet'=>'#8a2be2', + 'brown'=>'#a52a2a', + 'burlywood'=>'#deb887', + 'cadetblue'=>'#5f9ea0', + 'chartreuse'=>'#7fff00', + 'chocolate'=>'#d2691e', + 'coral'=>'#ff7f50', + 'cornflowerblue'=>'#6495ed', + 'cornsilk'=>'#fff8dc', + 'cyan'=>'#00ffff', + 'darkblue'=>'#00008b', + 'darkcyan'=>'#008b8b', + 'darkgoldenrod'=>'#b886011', + 'darkgray'=>'#a9a9a9', + 'darkgreen'=>'#006400', + 'darkgrey'=>'#a9a9a9', + 'darkkhaki'=>'#bdb76b', + 'darkmagenta'=>'#8b008b', + 'darkolivegreen'=>'#556b2f', + 'darkorange'=>'#ff8c00', + 'darkorchid'=>'#9932cc', + 'darkred'=>'#8b0000', + 'darksalmon'=>'#e9967a', + 'darkseagreen'=>'#8fbc8f', + 'darkslateblue'=>'#483d8b', + 'darkslategray'=>'#2f4f4f', + 'darkslategrey'=>'#2f4f4f', + 'darkturquoise'=>'#00ced1', + 'darkviolet'=>'#9400d3', + 'deeppink'=>'#ff1493', + 'deepskyblue'=>'#00bfff', + 'dimgray'=>'#696969', + 'dimgrey'=>'#696969', + 'dodgerblue'=>'#1e90ff', + 'firebrick'=>'#b22222', + 'floralwhite'=>'#fffaf0', + 'forestgreen'=>'#228b22', + 'gainsboro'=>'#dcdcdc', + 'ghostwhite'=>'#f8f8ff', + 'gold'=>'#ffd700', + 'goldenrod'=>'#daa520', + 'gray'=>'#bebebe', + 'green'=>'#00ff00', + 'greenyellow'=>'#adff2f', + 'honeydew'=>'#f0fff0', + 'hotpink'=>'#ff69b4', + 'indianred'=>'#cd5c5c', + 'ivory'=>'#fffff0', + 'khaki'=>'#f0e68c', + 'lavender'=>'#e6e6fa', + 'lavenderblush'=>'#fff0f5', + 'lawngreen'=>'#7cfc00', + 'lemonchiffon'=>'#fffacd', + 'lightblue'=>'#add8e6', + 'lightcoral'=>'#f08080', + 'lightcyan'=>'#e0ffff', + 'lightgoldenrod'=>'#eedd82', + 'lightgoldenrodyellow'=>'#fafad2', + 'lightgray'=>'#d3d3d3', + 'lightgreen'=>'#90ee90', + 'lightgrey'=>'#d3d3d3', + 'lightpink'=>'#ffb6c1', + 'lightred'=>'#ffc8c8', + 'lightsalmon'=>'#ffa07a', + 'lightseagreen'=>'#20b2aa', + 'lightskyblue'=>'#87cefa', + 'lightslateblue'=>'#8470ff', + 'lightslategray'=>'#778899', + 'lightsteelblue'=>'#b0c4de', + 'lightyellow'=>'#ffffe0', + 'limegreen'=>'#32cd32', + 'linen'=>'#faf0e6', + 'magenta'=>'#ff00ff', + 'maroon'=>'#b03060', + 'mediumaquamarine'=>'#66cdaa', + 'mediumblue'=>'#0000cd', + 'mediumorchid'=>'#ba55d3', + 'mediumpurple'=>'#9370db', + 'mediumseagreen'=>'#3cb371', + 'mediumslateblue'=>'#7b68ee', + 'mediumspringgreen'=>'#00fa9a', + 'mediumturquoise'=>'#48d1cc', + 'mediumvioletred'=>'#c71585', + 'midnightblue'=>'#191970', + 'mintcream'=>'#f5fffa', + 'mistyrose'=>'#ffe4e1', + 'moccasin'=>'#ffe4b5', + 'navajowhite'=>'#ffdead', + 'navy'=>'#000080', + 'navyblue'=>'#000080', + 'oldlace'=>'#fdf5e6', + 'olivedrab'=>'#6b8e23', + 'orange'=>'#ffa500', + 'orangered'=>'#ff4500', + 'orchid'=>'#da70d6', + 'palegoldenrod'=>'#eee8aa', + 'palegreen'=>'#98fb98', + 'paleturquoise'=>'#afeeee', + 'palevioletred'=>'#db7093', + 'papayawhip'=>'#ffefd5', + 'peachpuff'=>'#ffdab9', + 'peru'=>'#cd853f', + 'pink'=>'#ffc0cb', + 'plum'=>'#dda0dd', + 'powderblue'=>'#b0e0e6', + 'purple'=>'#a020f0', + 'red'=>'#ff0000', + 'rosybrown'=>'#bc8f8f', + 'royalblue'=>'#4169e1', + 'saddlebrown'=>'#8b4513', + 'salmon'=>'#fa8072', + 'sandybrown'=>'#f4a460', + 'seagreen'=>'#2e8b57', + 'seashell'=>'#fff5ee', + 'sienna'=>'#a0522d', + 'skyblue'=>'#87ceeb', + 'slateblue'=>'#6a5acd', + 'slategray'=>'#708090', + 'slategrey'=>'#708090', + 'snow'=>'#fffafa', + 'springgreen'=>'#00ff7f', + 'steelblue'=>'#4682b4', + 'tan'=>'#d2b48c', + 'thistle'=>'#d8bfd8', + 'tomato'=>'#ff6347', + 'turquoise'=>'#40e0d0', + 'violet'=>'#ee82ee', + 'violetred'=>'#d02090', + 'wheat'=>'#f5deb3', + 'white'=>'#ffffff', + 'yellow'=>'#ffff00', + 'yellowgreen'=>'#9acd32' +); + +/** + * not used anymore + */ +function getHtmlColorFromRgb($r,$g,$b) +{ + if(strlen(dechex($r))==1) { + $r = '0'.$r; + } else { + $r = dechex($r); + } + if(strlen(dechex($g))==1) { + $g = '0'.$g; + } else { + $g = dechex($g); + } + if(strlen(dechex($b))==1) { + $b = '0'.$b; + } else { + $b = dechex($b); + } + + return '#'.$r.$g.$b; +} + +/** + * used to check if it is a valid html color + * @uses isHtmlColor() + */ +function everyCharIsHex($string) +{ + for($i=0;$i<strlen($string);$i++) + { + $char = substr($string,$i,1); + $valid_color = false; + + if($char == "0") { // zero makes problems... '== 0' and '== "0"' is not the same... + $valid_color = true; + } + for($n=1;$n<=9;$n++) + { + if($char == $n) { + $valid_color = true; + } + } + + for($n='a';$n<='f';$n++) + { + if($char === $n) { + $valid_color = true; + } + } + + for($n='A';$n<='F';$n++) + { + if($char === $n) { + $valid_color = true; + } + } + if(!$valid_color) { + return 0; + } + } + return 1; +} + +/** + * used to check if it is a valid html color + * @uses getRgbFromAll() + */ +function isHtmlColor($string) +{ + switch(strlen($string)) + { + case 6: + if(LinWatermark::everyCharIsHex($string)) { + return 1; + } + break; + case 7: + if(substr($string,0,1)=="#") { + if(LinWatermark::everyCharIsHex(substr($string,1,6))) { + return 1; + } + } + break; + } + return 0; +} + +/** + * converts a html color to an array with the rgb values + * it doesn't matter if the html color is '#00FF00' or '00FF00' + * @uses getRgbFromAll() + */ +function getRgbFromHtml($string) +{ + switch(strlen($string)) + { + case 6: + break; + case 7: + $string = substr($string,1,6); + break; + } + $r_hex = substr($string,0,2); + $g_hex = substr($string,2,2); + $b_hex = substr($string,4,2); + $arr['r'] = hexdec($r_hex); + $arr['g'] = hexdec($g_hex); + $arr['b'] = hexdec($b_hex); + return $arr; +} + +/** + * returns an array with the rgb values + * it doesn't matter if the argument is 'darkblue', '#00FF55' or '00FF55' + * if it isn't a correct color, the color (0,0,0) is returned + * + * @uses watermark_gd() + */ +function getRgbFromAll($string) +{ + if( isset( LinWatermark::$Colors[$string]) ) + { + return LinWatermark::getRgbFromHtml( LinWatermark::$Colors[$string] ); + } + elseif(LinWatermark::isHtmlColor($string) ) + { + return LinWatermark::getRgbFromHtml( $string ); + } + else + { + array('r'=>0,'g'=>0,'b'=>0); + } +} + +/** + * return html color without '#' + * + * used in linpha2 - admin - settings_layout + */ +function getHtmlFromAll($string) +{ + if(LinWatermark::isHtmlColor($string)) + { + if(substr($string,0,1)=="#") + { + return substr($string,1,6); + } + else + { + return $string; + } + } + else + { + if( isset( LinWatermark::$Colors[$string]) ) + { + return substr(LinWatermark::$Colors[$string],1,6); + } + else + { + return 'ffffff'; + } + } +} + +/** + * @uses watermark_gd() + * calcs the position in pixel with a given align + * src_w, src_h: width and height from the textfield (or the small watermark image) + * dst_w, dst_h: width and height from the image + * pos_x, pos_y: additional adjust for the image + * + */ +function calcAlign($align, $src_w, $src_h, $dst_w, $dst_h, $pos_x, $pos_y) +{ + + switch($align) + { + case "center": + $arr_pos['x'] = ($dst_w-$src_w)/2+($pos_x); + $arr_pos['y'] = ($dst_h-$src_h)/2+($pos_y); + break; + case "east": + $arr_pos['x'] = $dst_w-$src_w+($pos_x); + $arr_pos['y'] = ($dst_h-$src_h)/2+($pos_y); + break; + case "west": + $arr_pos['x'] = $pos_x; + $arr_pos['y'] = ($dst_h-$src_h)/2+($pos_y); + break; + case "north": + $arr_pos['x'] = ($dst_w-$src_w)/2+($pos_x); + $arr_pos['y'] = $pos_y; + break; + case "south": + $arr_pos['x'] = ($dst_w-$src_w)/2+($pos_x); + $arr_pos['y'] = $dst_h-$src_h+($pos_y); + break; + case "northeast": + $arr_pos['x'] = $dst_w-$src_w+($pos_x); + $arr_pos['y'] = $pos_y; + break; + case "northwest": + $arr_pos['x'] = $pos_x; + $arr_pos['y'] = $pos_y; + break; + case "southwest": + $arr_pos['x'] = $pos_x; + $arr_pos['y'] = $dst_h-$src_h+($pos_y); + break; + case "southeast": + $arr_pos['x'] = $dst_w-$src_w+($pos_x); + $arr_pos['y'] = $dst_h-$src_h+($pos_y); + break; + default: + $arr_pos['x'] = $pos_x; + $arr_pos['y'] = $pos_y; + break; + + } + return $arr_pos; +} + +} +?> \ No newline at end of file Added: trunk/misc/design/10cornersOld/global.css =================================================================== --- trunk/misc/design/10cornersOld/global.css (rev 0) +++ trunk/misc/design/10cornersOld/global.css 2008-01-26 16:30:45 UTC (rev 4823) @@ -0,0 +1,140 @@ +<!-- +/** + * common definitions + * All 'em' calculations are based on 1 px = 0.0626em + */ + + #linBody { + font-family: arial, helvetica, sans-serif; + margin: 10px; + padding: 0px; + } + + + h1.linStyle { + font-size: 1.5em; + font-family: Verdana, Arial, Helvetica, sans-serif; + margin: 0px; + margin-top: 0px; + margin-bottom: 5px; + padding: 0px; + } + + h2.linStyle { + font-size: 1.2em; + font-family: Verdana, Arial, Helvetica, sans-serif; + margin: 0px; + margin-top: 0px; + margin-bottom: 5px; + padding: 0px; + } + + /** + * link button + */ + .linButton { + /*cursor: pointer; + border: 0; + font-size: 0.8em; + text-decoration: underline;*/ + } + + +/** + * title + */ + #linDivTitle + { + margin: 0; + margin-bottom: 20px; + margin-left: 90px; + + font-size: 2em; + } + #linDivTitle a:link, #linDivTitle a:visited, #linDivTitle a:hover + { + color: #444444; + text-decoration: none; + } + #linDivTitle a:hover + { + text-decoration: underline; + } + +/** + * navigation + */ + #linDivNavigationOuter { + margin: 0; + margin-bottom: 10px; + padding: 0; + } + #linDivNavigation + { + margin: 0; + padding: 5px; + } + +/** + * main + */ + #linDivMainOuter { + margin: 0; + padding: 0; + } + #linDivMain { + margin: 0; + padding: 0px; + padding-left: 10px; + padding-right: 10px; + } + +/** + * folder (used in home view, and maybe as subfolders) + * background-color and border-color are set in colorsettings.php + */ + .linDivFolder { + margin: 2px; + margin-left: 15px; + margin-bottom: 15px; + padding: 0; + + width: 700px; + } + + .linDivThumbnail { + height: 140px; + float: left; + } + + .linImgFolderThumbnail { + margin: 0; + margin-left: 20px; + margin-right: 30px; + margin-top: 5px; + padding: 0; + + width: 130px; + height: 130px; + + border: 0; + } + + .linDivFolderText { + margin: 0; + padding: 5px; + } + + .linDivFolderComment { + overflow: auto; + max-height: 300px; + + margin: 0; + margin-top: 10px; + margin-bottom: 10px; + padding: 0; + + /* word-wrap: break-word; fix ie to force width, but creates warnings in firefox !!! */ + } + +--> \ No newline at end of file Added: trunk/misc/design/10cornersOld/home.css =================================================================== --- trunk/misc/design/10cornersOld/home.css (rev 0) +++ trunk/misc/design/10cornersOld/home.css 2008-01-26 16:30:45 UTC (rev 4823) @@ -0,0 +1,18 @@ + +hr.linStyle { + clear: both; +} + +.linDivRandomimg, .linDivNewimg { + float: left; + margin-left: 40px; +} + +.linImgRandomimg, .linImgNewimg { + border: 0; +} + +.linDivFolder a +{ + text-decoration: none; +} \ No newline at end of file Added: trunk/misc/design/10cornersOld/index.php =================================================================== --- trunk/misc/design/10cornersOld/index.php (rev 0) +++ trunk/misc/design/10cornersOld/index.php 2008-01-26 16:30:45 UTC (rev 4823) @@ -0,0 +1,104 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<title>Linpha 2.0</title> + +<!-- css includes --> + +<link rel='stylesheet' href='./colorsettings.php?bg=87CEFA&bodybg=DDDDDD&font=000000&albumsbg=D5FCF4&links=005388&linkshover=666666&fieldscolor=CCCCCC' type='text/css'> +<link rel='stylesheet' href='./global.css' type='text/css'> +<link rel='stylesheet' href='./home.css' type='text/css'> + +</head> + + +<body id="linBody"> + + +<!-- title/navigation --> + +<div id="linDivTitle">Linpha 2.0 :: <a href="/linpha2/?&linCat=alb&linId=0">></a> </div> + + + +<div id="linDivMainOuter"> + <div style="background: url(./roundcorners.php?color=87CEFA&bgcolor=DDDDDD&size=15&align=tr) no-repeat top right;"> + <img src="./roundcorners.php?color=87CEFA&bgcolor=DDDDDD&size=15&align=tl" alt="" width="15" height="15" /> + </div> + + <div id="linDivMain"> + + <h1 class="linStyle">Willkommen</h1>Hi, this is the home of "The PHP Photo Archive" <a href="http://linpha.sf.net">aka LinPHA</a>.<br /> <br /> + + + <!-- Random Images --> + + <!-- New Images --> + + <!-- Browse by Date --> + + <!-- Albums --> + <hr class="linStyle" /> + + <h1 class="linStyle">Alben</h1> + + <div class="linDivFolder"> + <div style="background: url(./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=tr) no-repeat top right;"> + <img src="./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=tl" alt="" width="15" height="15" /> + </div> + <div class="linDivThumbnail"> + <a href="/linpha2/?&linCat=alb&linId=4"><img class="linImgFolderThumbnail" src="../thumb1.gif" alt="thumbnail_album" /></a> + </div> + <div class="linDivFolderText"> + <h2 class="linStyle"><a href="/linpha2/?&linCat=alb&linId=4">2005.05.14-16 Barcelona</a></h2> + Di 25. Dez 2007 19:08:13<br />0 Fotos<br /> + </div> + <div style="clear: both;"></div> + <div style="background: url(./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=br) no-repeat top right;"> + <img src="./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=bl" alt="" width="15" height="15" /> + </div> + </div> + + <div class="linDivFolder"> + <div style="background: url(./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=tr) no-repeat top right;"> + <img src="./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=tl" alt="" width="15" height="15" /> + </div> + <div class="linDivThumbnail"> + <a href="/linpha2/?&linCat=alb&linId=4"><img class="linImgFolderThumbnail" src="../thumb2.gif" alt="thumbnail_album" /></a> + </div> + <div class="linDivFolderText"> + <h2 class="linStyle"><a href="/linpha2/?&linCat=alb&linId=4">2007.07-14-28 Fuerteventura</a></h2> + Di 25. Dez 2007 19:08:13<br />0 Fotos<br /> + </div> + <div style="clear: both;"></div> + <div style="background: url(./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=br) no-repeat top right;"> + <img src="./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=bl" alt="" width="15" height="15" /> + </div> + </div> + + <div class="linDivFolder"> + <div style="background: url(./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=tr) no-repeat top right;"> + <img src="./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=tl" alt="" width="15" height="15" /> + </div> + <div class="linDivThumbnail"> + <a href="/linpha2/?&linCat=alb&linId=4"><img class="linImgFolderThumbnail" src="../thumb3.gif" alt="thumbnail_album" /></a> + </div> + <div class="linDivFolderText"> + <h2 class="linStyle"><a href="/linpha2/?&linCat=alb&linId=4">2007.12.15-16 Skifahren Samnaun</a></h2> + Di 25. Dez 2007 19:08:13<br />0 Fotos<br /> + </div> + <div style="clear: both;"></div> + <div style="background: url(./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=br) no-repeat top right;"> + <img src="./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=bl" alt="" width="15" height="15" /> + </div> + </div> + + </div> + + <div style="background: url(./roundcorners.php?color=87CEFA&bgcolor=DDDDDD&size=15&align=br) no-repeat top right;"> + <img src="./roundcorners.php?color=87CEFA&bgcolor=DDDDDD&size=15&align=bl" alt="" width="15" height="15" /> + </div> +</div> +</body> +</html> + Added: trunk/misc/design/10cornersOld/roundcorners.php =================================================================== --- trunk/misc/design/10cornersOld/roundcorners.php (rev 0) +++ trunk/misc/design/10cornersOld/roundcorners.php 2008-01-26 16:30:45 UTC (rev 4823) @@ -0,0 +1,87 @@ +<?php +if(!defined('LINPHA_DIR')) { define('LINPHA_DIR','../..'); } + +include_once( './func.watermark.php' ); + +if(!isset($_GET['color'])) +{ + $_GET['color'] = 'orange'; +} + +if(!isset($_GET['bgcolor'])) +{ + $_GET['bgcolor'] = 'white'; +} + +if(!isset($_GET['align'])) +{ + $_GET['align'] = 'tl'; +} + +if(!isset($_GET['size'])) +{ + $size = 15; +} +else +{ + $size = $_GET['size']; +} + +switch($_GET['align']) +{ +case 'tl': $cx = $size; $cy = $size; $workaround = 0; break; +case 'tr': $cx = -1; $cy = $size; $workaround = 0; break; +case 'bl': $cx = $size; $cy = 0; $workaround = 1; break; +case 'br': $cx = -1; $cy = -1; $workaround = 1; break; +} + +// create image +$image = imagecreatetruecolor($size, $size); + +// create colors +$rgb = LinWatermark::getRgbFromAll($_GET['color']); +$color = imagecolorallocate($image, $rgb['r'], $rgb['g'], $rgb['b']); + +if(isset($_GET['alpha'])) +{ + imageAlphaBlending($image, false); + imageSaveAlpha($image, true); + $bgcolor = imagecolorallocatealpha($image, 0, 0, 0, 127); +} +else +{ + $rgb = LinWatermark::getRgbFromAll($_GET['bgcolor']); + $bgcolor = imagecolorallocate($image, $rgb['r'], $rgb['g'], $rgb['b']); +} + +// fill image with background color +imagefill($image, 0, 0, $bgcolor); + + +// draw circly +imagefilledellipse($image, $cx, $cy, ($size*2), ($size*2), $color); + +// workaround +if($workaround) +{ + imageline($image, 0, 0, $size-1, 0, $color ); +} + +// flush image +Header('Content-type: image/png'); + +/** + * force caching in browser + * works in firefox and internet explorer + */ +Header("Last-Modified: " . gmdate("D, d M Y H:i:s",mktime (0,0,0,1,1,2000)) . " GMT"); // Date in the past +Header("Expires: Mon, 26 Jul 2100 05:00:00 GMT"); // In other words... never expire the image +Header("Cache-Control: max-age=10000000, s-maxage=1000000, proxy-revalidate, must-revalidate"); + + + +imagepng($image); +imagedestroy($image); + + +?> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fan...@us...> - 2008-01-26 16:29:04
|
Revision: 4822 http://linpha.svn.sourceforge.net/linpha/?rev=4822&view=rev Author: fangehrn Date: 2008-01-26 08:28:19 -0800 (Sat, 26 Jan 2008) Log Message: ----------- Modified Paths: -------------- trunk/misc/design/info.txt Added Paths: ----------- trunk/misc/design/10cornersOld/ Removed Paths: ------------- trunk/misc/design/10strict/ Modified: trunk/misc/design/info.txt =================================================================== --- trunk/misc/design/info.txt 2008-01-21 23:22:26 UTC (rev 4821) +++ trunk/misc/design/info.txt 2008-01-26 16:28:19 UTC (rev 4822) @@ -1,5 +1,14 @@ +UTF8 +---- +Rounded Corners +--------------- http://www.html.it/articoli/niftycube/index.html +too slow! +benchmark: +60 folders: +firefox: 4 + http://kalsey.com/2003/07/rounded_corners_in_css/ http://www.sovavsiti.cz/css/corners.html \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fan...@us...> - 2008-01-21 23:22:33
|
Revision: 4821 http://linpha.svn.sourceforge.net/linpha/?rev=4821&view=rev Author: fangehrn Date: 2008-01-21 15:22:26 -0800 (Mon, 21 Jan 2008) Log Message: ----------- Added Paths: ----------- trunk/misc/design/10strict/ trunk/misc/design/10strict/NiftyCube/ trunk/misc/design/10strict/NiftyCube/NiftyLayout.css trunk/misc/design/10strict/NiftyCube/gpl.it.txt trunk/misc/design/10strict/NiftyCube/gpl.txt trunk/misc/design/10strict/NiftyCube/niftyCorners.css trunk/misc/design/10strict/NiftyCube/niftyLayout.js trunk/misc/design/10strict/NiftyCube/niftycube.js trunk/misc/design/10strict/colorsettings.php trunk/misc/design/10strict/csshover.htc trunk/misc/design/10strict/expand.gif trunk/misc/design/10strict/global.css trunk/misc/design/10strict/home.css trunk/misc/design/10strict/index.php trunk/misc/design/10strict/niftyCorners.css trunk/misc/design/10strict/niftycube.js trunk/misc/design/info.txt Property Changed: ---------------- trunk/misc/ Property changes on: trunk/misc ___________________________________________________________________ Name: svn:ignore + .cache .settings Added: trunk/misc/design/10strict/NiftyCube/NiftyLayout.css =================================================================== --- trunk/misc/design/10strict/NiftyCube/NiftyLayout.css (rev 0) +++ trunk/misc/design/10strict/NiftyCube/NiftyLayout.css 2008-01-21 23:22:26 UTC (rev 4821) @@ -0,0 +1,47 @@ +html,body{margin:0;padding:0} +body{font: 85%/1.3 Verdana,Arial,sans-serif; + text-align: center;background: #757D88;padding-bottom:20px} +p{margin-top:0} +h1,h2,h3{font: normal normal 200% "Trebuchet MS",Arial,sans-serif} +h2{font-size:160%} +h3{font-size:120%} + +div#header{width:100%;overflow:hidden;background: #595D66} +div#header h1,div#menu{width:770px;margin:0 auto;text-align:left} +div#header h1{padding: 30px 0 10px;color: #FFF} + +ul#nav,ul#nav li{list-style-type:none;margin:0;padding:0} +ul#nav{float:right;font-size: 80%} +ul#nav li{float:left;margin-left: 3px;text-align: center} +ul#nav a{float:left;width: 95px;padding: 5px 0;background: #369A3D;text-decoration:none;color: #FFC} +ul#nav a:hover{background: #CDFFA1;color: #006A35} +ul#nav li.activelink a,ul#nav li.activelink a:hover{background: #FFF;color: #003} + +div#container{width:770px;margin:0 auto 10px;padding:20px 0 10px;text-align:left;background:#FFF} +div#content{float:left;display:inline;width:560px;margin:0 0 10px 10px} + +ul#intro,ul#intro li{list-style-type:none;margin:0;padding:0} +ul#intro{width:100%;overflow:hidden;margin-bottom:20px} +ul#intro li{float:left;width:180px;margin-right:10px;padding: 10px 0} +li#mission{background: #E65714} +li#services{background: #42B4AC} +ul#intro li#more{margin-right:0;background: #7D63A9} +ul#intro p,ul#intro h3{margin:0;padding: 0 10px} +ul#intro h3{text-transform:uppercase;padding-bottom:3px;color: #FFF} + +div#content h2{margin: 10px 0;color: #007BC4} +div.date{float:left;width: 4em;padding: 5px 0;background: #F1DDC4;color:#B0001E; + text-align:center;margin: 0 4px 4px 0;font-size: 80%;line-height:0.9} +div.date span{display:block;font-size: 150%;font-weight:bold} + +div.comments div{background: #EEE;margin-bottom:10px} +div.comments p{padding: 10px;margin:0} +div.comments div.odd{background:#DAE6FE} + +div#side{float:right;display:inline;width: 180px;background:#F3CF00; margin:0 10px 10px 0} +div#side p{margin:5px 0 10px;padding: 0 10px} +div#side div{margin: 0 0 10px;padding: 10px 0} + +div#footer{clear:both;width:750px;margin:0 10px 0;padding: 10px 0; + background: #586695;color: #FFF;text-align:center} +div#footer p{margin:0} \ No newline at end of file Added: trunk/misc/design/10strict/NiftyCube/gpl.it.txt =================================================================== --- trunk/misc/design/10strict/NiftyCube/gpl.it.txt (rev 0) +++ trunk/misc/design/10strict/NiftyCube/gpl.it.txt 2008-01-21 23:22:26 UTC (rev 4821) @@ -0,0 +1,403 @@ + +Questa \xE8 una traduzione italiana non ufficiale della Licenza Pubblica +Generica GNU. Non \xE8 pubblicata dalla Free Software Foundation e non +ha valore legale nell'esprimere i termini di distribuzione del +software che usa la licenza GPL. Solo la versione originale in inglese +della licenza ha valore legale. Ad ogni modo, speriamo che questa +traduzione aiuti le persone di lingua italiana a capire meglio il +significato della licenza GPL. + + This is an unofficial translation of the GNU General Public + License into Italian. It was not published by the Free + Software Foundation, and does not legally state the + distribution terms for software that uses the GNU GPL--only + the original English text of the GNU GPL does that. However, + we hope that this translation will help Italian speakers + understand the GNU GPL better. + + + + LICENZA PUBBLICA GENERICA (GPL) DEL PROGETTO GNU + Versione 2, Giugno 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Traduzione curata da gruppo Pluto, da ILS e dal gruppo italiano di +traduzione GNU. Ultimo aggiornamento 19 aprile 2000. + +Chiunque pu\xF2 copiare e distribuire copie letterali di questo documento +di licenza, ma non ne \xE8 permessa la modifica. + + Preambolo + +Le licenze della maggior parte dei programmi hanno lo scopo di +togliere all'utente la libert\xE0 di condividere e modificare il +programma stesso. Viceversa, la Licenza Pubblica Generica GNU \xE8 intesa +a garantire la libert\xE0 di condividere e modificare il software libero, +al fine di assicurare che i programmi siano liberi per tutti i loro +utenti. Questa Licenza si applica alla maggioranza dei programmi +della Free Software Foundation e ad ogni altro programma i cui autori +hanno deciso di usare questa Licenza. Alcuni altri programmi della +Free Software Foundation sono invece coperti dalla Licenza Pubblica +Generica Minore. Chiunque pu\xF2 usare questa Licenza per i propri +programmi. + +Quando si parla di software libero (free software), ci si riferisce +alla libert\xE0, non al prezzo. Le nostre Licenze (la GPL e la LGPL) +sono progettate per assicurarsi che ciascuno abbia la libert\xE0 di +distribuire copie del software libero (e farsi pagare per questo, se +vuole), che ciascuno riceva il codice sorgente o che lo possa ottenere +se lo desidera, che ciascuno possa modificare il programma o usarne +delle parti in nuovi programmi liberi e che ciascuno sappia di potere +fare queste cose. + +Per proteggere i diritti dell'utente, abbiamo bisogno di creare delle +restrizioni che vietino a chiunque di negare questi diritti o di +chiedere di rinunciarvi. Queste restrizioni si traducono in certe +responsabilit\xE0 per chi distribuisce copie del software e per chi lo +modifica. + +Per esempio, chi distribuisce copie di un programma coperto da GPL, +sia gratis sia in cambio di un compenso, deve concedere ai destinatari +tutti i diritti che ha ricevuto. Deve anche assicurarsi che i +destinatari ricevano o possano ottenere il codice sorgente. E deve +mostrar loro queste condizioni di licenza, in modo che essi conoscano +i propri diritti. + +Proteggiamo i diritti dell'utente in due modi: (1) proteggendo il +software con un copyright, e (2) offrendo una licenza che dia il +permesso legale di copiare, distribuire e modificare il Programma. + +Inoltre, per proteggere ogni autore e noi stessi, vogliamo assicurarci +che ognuno capisca che non ci sono garanzie per i programmi coperti da +GPL. Se il programma viene modificato da qualcun altro e +ridistribuito, vogliamo che gli acquirenti sappiano che ci\xF2 che hanno +non \xE8 l'originale, in modo che ogni problema introdotto da altri non +si rifletta sulla reputazione degli autori originari. + +Infine, ogni programma libero \xE8 costantemente minacciato dai brevetti +sui programmi. Vogliamo evitare il pericolo che chi ridistribuisce un +programma libero ottenga la propriet\xE0 di brevetti, rendendo in pratica +il programma cosa di sua propriet\xE0. Per prevenire questa evenienza, +abbiamo chiarito che ogni brevetto debba essere concesso in licenza +d'uso a chiunque, o non avere alcuna restrizione di licenza d'uso. + +Seguono i termini e le condizioni precisi per la copia, la +distribuzione e la modifica. + + LICENZA PUBBLICA GENERICA GNU + TERMINI E CONDIZIONI PER LA COPIA, LA DISTRIBUZIONE E LA MODIFICA + + 0. Questa Licenza si applica a ogni programma o altra opera che +contenga una nota da parte del detentore del copyright che dica che +tale opera pu\xF2 essere distribuita sotto i termini di questa Licenza +Pubblica Generica. Il termine "Programma" nel seguito si riferisce ad +ogni programma o opera cos\xEC definita, e l'espressione "opera basata +sul Programma" indica sia il Programma sia ogni opera considerata +"derivata" in base alla legge sul copyright; in altre parole, un'opera +contenente il Programma o una porzione di esso, sia letteralmente sia +modificato o tradotto in un'altra lingua. Da qui in avanti, la +traduzione \xE8 in ogni caso considerata una "modifica". Vengono ora +elencati i diritti dei beneficiari della licenza. + +Attivit\xE0 diverse dalla copiatura, distribuzione e modifica non sono +coperte da questa Licenza e sono al di fuori della sua influenza. +L'atto di eseguire il Programma non viene limitato, e l'output del +programma \xE8 coperto da questa Licenza solo se il suo contenuto +costituisce un'opera basata sul Programma (indipendentemente dal fatto +che sia stato creato eseguendo il Programma). In base alla natura del +Programma il suo output pu\xF2 essere o meno coperto da questa Licenza. + + 1. \xC8 lecito copiare e distribuire copie letterali del codice +sorgente del Programma cos\xEC come viene ricevuto, con qualsiasi mezzo, +a condizione che venga riprodotta chiaramente su ogni copia una +appropriata nota di copyright e di assenza di garanzia; che si +mantengano intatti tutti i riferimenti a questa Licenza e all'assenza +di ogni garanzia; che si dia a ogni altro destinatario del Programma +una copia di questa Licenza insieme al Programma. + +\xC8 possibile richiedere un pagamento per il trasferimento fisico di una +copia del Programma, \xE8 anche possibile a propria discrezione +richiedere un pagamento in cambio di una copertura assicurativa. + + 2. \xC8 lecito modificare la propria copia o copie del Programma, o +parte di esso, creando perci\xF2 un'opera basata sul Programma, e copiare +o distribuire tali modifiche o tale opera secondo i termini del +precedente comma 1, a patto che siano soddisfatte tutte le condizioni +che seguono: + + a) Bisogna indicare chiaramente nei file che si tratta di copie + modificate e la data di ogni modifica. + + b) Bisogna fare in modo che ogni opera distribuita o pubblicata, + che in parte o nella sua totalit\xE0 derivi dal Programma o da parti + di esso, sia concessa nella sua interezza in licenza gratuita ad + ogni terza parte, secondo i termini di questa Licenza. + + c) Se normalmente il programma modificato legge comandi + interattivamente quando viene eseguito, bisogna fare in modo che + all'inizio dell'esecuzione interattiva usuale, esso stampi un + messaggio contenente una appropriata nota di copyright e di + assenza di garanzia (oppure che specifichi il tipo di garanzia che + si offre). Il messaggio deve inoltre specificare che chiunque pu\xF2 + ridistribuire il programma alle condizioni qui descritte e deve + indicare come reperire questa Licenza. Se per\xF2 il programma di + partenza \xE8 interattivo ma normalmente non stampa tale messaggio, + non occorre che un'opera basata sul Programma lo stampi. + +Questi requisiti si applicano all'opera modificata nel suo complesso. +Se sussistono parti identificabili dell'opera modificata che non siano +derivate dal Programma e che possono essere ragionevolmente +considerate lavori indipendenti, allora questa Licenza e i suoi +termini non si applicano a queste parti quando queste vengono +distribuite separatamente. Se per\xF2 queste parti vengono distribuite +all'interno di un prodotto che \xE8 un'opera basata sul Programma, la +distribuzione di quest'opera nella sua interezza deve avvenire nei +termini di questa Licenza, le cui norme nei confronti di altri utenti +si estendono all'opera nella sua interezza, e quindi ad ogni sua +parte, chiunque ne sia l'autore. + +Quindi, non \xE8 nelle intenzioni di questa sezione accampare diritti, n\xE9 +contestare diritti su opere scritte interamente da altri; l'intento \xE8 +piuttosto quello di esercitare il diritto di controllare la +distribuzione di opere derivati dal Programma o che lo contengano. + +Inoltre, la semplice aggregazione di un'opera non derivata dal +Programma col Programma o con un'opera da esso derivata su di un mezzo +di memorizzazione o di distribuzione, non \xE8 sufficente a includere +l'opera non derivata nell'ambito di questa Licenza. + + 3. \xC8 lecito copiare e distribuire il Programma (o un'opera basata su +di esso, come espresso al comma 2) sotto forma di codice oggetto o +eseguibile secondo i termini dei precedenti commi 1 e 2, a patto che +si applichi una delle seguenti condizioni: + + a) Il Programma sia corredato del codice sorgente completo, in una + forma leggibile da calcolatore, e tale sorgente sia fornito + secondo le regole dei precedenti commi 1 e 2 su di un mezzo + comunemente usato per lo scambio di programmi. + + b) Il Programma sia accompagnato da un'offerta scritta, valida per + almeno tre anni, di fornire a chiunque ne faccia richiesta una + copia completa del codice sorgente, in una forma leggibile da + calcolatore, in cambio di un compenso non superiore al costo del + trasferimento fisico di tale copia, che deve essere fornita + secondo le regole dei precedenti commi 1 e 2 su di un mezzo + comunemente usato per lo scambio di programmi. + + c) Il Programma sia accompagnato dalle informazioni che sono state + ricevute riguardo alla possibilit\xE0 di ottenere il codice sorgente. + Questa alternativa \xE8 permessa solo in caso di distribuzioni non + commerciali e solo se il programma \xE8 stato ottenuto sotto forma di + codice oggetto o eseguibile in accordo al precedente comma B. + +Per "codice sorgente completo" di un'opera si intende la forma +preferenziale usata per modificare un'opera. Per un programma +eseguibile, "codice sorgente completo" significa tutto il codice +sorgente di tutti i moduli in esso contenuti, pi\xF9 ogni file associato +che definisca le interfacce esterne del programma, pi\xF9 gli script +usati per controllare la compilazione e l'installazione +dell'eseguibile. In ogni caso non \xE8 necessario che il codice sorgente +fornito includa nulla che sia normalmente distribuito (in forma +sorgente o in formato binario) con i principali componenti del sistema +operativo sotto cui viene eseguito il Programma (compilatore, kernel, +e cos\xEC via), a meno che tali componenti accompagnino l'eseguibile. + +Se la distribuzione dell'eseguibile o del codice oggetto \xE8 effettuata +indicando un luogo dal quale sia possibile copiarlo, permettere la +copia del codice sorgente dallo stesso luogo \xE8 considerata una valida +forma di distribuzione del codice sorgente, anche se copiare il +sorgente \xE8 facoltativo per l'acquirente. + + 4. Non \xE8 lecito copiare, modificare, sublicenziare, o distribuire +il Programma in modi diversi da quelli espressamente previsti da +questa Licenza. Ogni tentativo di copiare, modificare, sublicenziare +o distribuire altrimenti il Programma non \xE8 autorizzato, e far\xE0 +terminare automaticamente i diritti garantiti da questa Licenza. +D'altra parte ogni acquirente che abbia ricevuto copie, o diritti, +coperti da questa Licenza da parte di persone che violano la Licenza +come qui indicato non vedranno invalidata la loro Licenza, purch\xE9 si +comportino conformemente ad essa. + + 5. L'acquirente non \xE8 tenuto ad accettare questa Licenza, +poich\xE9 non l'ha firmata. D'altra parte nessun altro documento +garantisce il permesso di modificare o distribuire il Programma o i +lavori derivati da esso. Queste azioni sono proibite dalla legge per +chi non accetta questa Licenza; perci\xF2, modificando o distribuendo il +Programma o un'opera basata sul programma, si indica nel fare ci\xF2 +l'accettazione di questa Licenza e quindi di tutti i suoi termini e le +condizioni poste sulla copia, la distribuzione e la modifica del +Programma o di lavori basati su di esso. + + 6. Ogni volta che il Programma o un'opera basata su di esso vengono +distribuiti, l'acquirente riceve automaticamente una licenza d'uso da +parte del licenziatario originale. Tale licenza regola la copia, la +distribuzione e la modifica del Programma secondo questi termini e +queste condizioni. Non \xE8 lecito imporre restrizioni ulteriori +all'acquirente nel suo esercizio dei diritti qui garantiti. Chi +distribuisce programmi coperti da questa Licenza non e' comunque +tenuto a imporre il rispetto di questa Licenza a terzi. + + 7. Se, come conseguenza del giudizio di un tribunale, o di una +imputazione per la violazione di un brevetto o per ogni altra ragione +(non limitatamente a questioni di brevetti), vengono imposte +condizioni che contraddicono le condizioni di questa licenza, che +queste condizioni siano dettate dalla corte, da accordi tra le parti o +altro, queste condizioni non esimono nessuno dall'osservazione di +questa Licenza. Se non \xE8 possibile distribuire un prodotto in un modo +che soddisfi simultaneamente gli obblighi dettati da questa Licenza e +altri obblighi pertinenti, il prodotto non pu\xF2 essere affatto +distribuito. Per esempio, se un brevetto non permettesse a tutti +quelli che lo ricevono di ridistribuire il Programma senza obbligare +al pagamento di diritti, allora l'unico modo per soddisfare +contemporaneamente il brevetto e questa Licenza e' di non distribuire +affatto il Programma. + +Se una qualunque parte di questo comma \xE8 ritenuta non valida o non +applicabile in una qualunque circostanza, deve comunque essere +applicata l'idea espressa da questo comma; in ogni altra circostanza +invece deve essere applicato questo comma nel suo complesso. + +Non \xE8 nelle finalit\xE0 di questo comma indurre gli utenti ad infrangere +alcun brevetto n\xE9 ogni altra rivendicazione di diritti di propriet\xE0, +n\xE9 di contestare la validit\xE0 di alcuna di queste rivendicazioni; lo +scopo di questo comma \xE8 unicamente quello di proteggere l'integrit\xE0 +del sistema di distribuzione dei programmi liberi, che viene +realizzato tramite l'uso di licenze pubbliche. Molte persone hanno +contribuito generosamente alla vasta gamma di programmi distribuiti +attraverso questo sistema, basandosi sull'applicazione fedele di tale +sistema. L'autore/donatore pu\xF2 decidere di sua volont\xE0 se preferisce +distribuire il software avvalendosi di altri sistemi, e l'acquirente +non pu\xF2 imporre la scelta del sistema di distribuzione. + +Questo comma serve a rendere il pi\xF9 chiaro possibile ci\xF2 che crediamo +sia una conseguenza del resto di questa Licenza. + + 8. Se in alcuni paesi la distribuzione o l'uso del Programma sono +limitati da brevetto o dall'uso di interfacce coperte da copyright, il +detentore del copyright originale che pone il Programma sotto questa +Licenza pu\xF2 aggiungere limiti geografici espliciti alla distribuzione, +per escludere questi paesi dalla distribuzione stessa, in modo che il +programma possa essere distribuito solo nei paesi non esclusi da +questa regola. In questo caso i limiti geografici sono inclusi in +questa Licenza e ne fanno parte a tutti gli effetti. + + 9. All'occorrenza la Free Software Foundation pu\xF2 pubblicare +revisioni o nuove versioni di questa Licenza Pubblica Generica. Tali +nuove versioni saranno simili a questa nello spirito, ma potranno +differire nei dettagli al fine di coprire nuovi problemi e nuove +situazioni. + +Ad ogni versione viene dato un numero identificativo. Se il Programma +asserisce di essere coperto da una particolare versione di questa +Licenza e "da ogni versione successiva", l'acquirente pu\xF2 scegliere se +seguire le condizioni della versione specificata o di una successiva. +Se il Programma non specifica quale versione di questa Licenza deve +applicarsi, l'acquirente pu\xF2 scegliere una qualsiasi versione tra +quelle pubblicate dalla Free Software Foundation. + + 10. Se si desidera incorporare parti del Programma in altri +programmi liberi le cui condizioni di distribuzione differiscano da +queste, \xE8 possibile scrivere all'autore del Programma per chiederne +l'autorizzazione. Per il software il cui copyright \xE8 detenuto dalla +Free Software Foundation, si scriva alla Free Software Foundation; +talvolta facciamo eccezioni alle regole di questa Licenza. La nostra +decisione sar\xE0 guidata da due finalit\xE0: preservare la libert\xE0 di tutti +i prodotti derivati dal nostro software libero e promuovere la +condivisione e il riutilizzo del software in generale. + + + NON C'\xC8 GARANZIA + + 11. POICH\xC9 IL PROGRAMMA \xC8 CONCESSO IN USO GRATUITAMENTE, NON C'\xC8 +GARANZIA PER IL PROGRAMMA, NEI LIMITI PERMESSI DALLE VIGENTI LEGGI. +SE NON INDICATO DIVERSAMENTE PER ISCRITTO, IL DETENTORE DEL COPYRIGHT +E LE ALTRE PARTI FORNISCONO IL PROGRAMMA "COS\xCC COM'\xC8", SENZA ALCUN +TIPO DI GARANZIA, N\xC9 ESPLICITA N\xC9 IMPLICITA; CI\xD2 COMPRENDE, SENZA +LIMITARSI A QUESTO, LA GARANZIA IMPLICITA DI COMMERCIABILIT\xC0 E +UTILIZZABILIT\xC0 PER UN PARTICOLARE SCOPO. L'INTERO RISCHIO CONCERNENTE +LA QUALIT\xC0 E LE PRESTAZIONI DEL PROGRAMMA \xC8 DELL'ACQUIRENTE. SE IL +PROGRAMMA DOVESSE RIVELARSI DIFETTOSO, L'ACQUIRENTE SI ASSUME IL COSTO +DI OGNI MANUTENZIONE, RIPARAZIONE O CORREZIONE NECESSARIA. + + 12. N\xC9 IL DETENTORE DEL COPYRIGHT N\xC9 ALTRE PARTI CHE POSSONO +MODIFICARE O RIDISTRIBUIRE IL PROGRAMMA COME PERMESSO IN QUESTA +LICENZA SONO RESPONSABILI PER DANNI NEI CONFRONTI DELL'ACQUIRENTE, A +MENO CHE QUESTO NON SIA RICHIESTO DALLE LEGGI VIGENTI O APPAIA IN UN +ACCORDO SCRITTO. SONO INCLUSI DANNI GENERICI, SPECIALI O INCIDENTALI, +COME PURE I DANNI CHE CONSEGUONO DALL'USO O DALL'IMPOSSIBILIT\xC0 DI +USARE IL PROGRAMMA; CI\xD2 COMPRENDE, SENZA LIMITARSI A QUESTO, LA +PERDITA DI DATI, LA CORRUZIONE DEI DATI, LE PERDITE SOSTENUTE +DALL'ACQUIRENTE O DA TERZI E L'INCAPACIT\xC0 DEL PROGRAMMA A INTERAGIRE +CON ALTRI PROGRAMMI, ANCHE SE IL DETENTORE O ALTRE PARTI SONO STATE +AVVISATE DELLA POSSIBILIT\xC0 DI QUESTI DANNI. + + FINE DEI TERMINI E DELLE CONDIZIONI + + Appendice: come applicare questi termini a nuovi programmi + +Se si sviluppa un nuovo programma e lo si vuole rendere della maggiore +utilit\xE0 possibile per il pubblico, la cosa migliore da fare \xE8 rendere +tale programma libero, cosicch\xE9 ciascuno possa ridistribuirlo e +modificarlo sotto questi termini. + +Per fare questo, si inserisca nel programma la seguente nota. La cosa +migliore da fare \xE8 mettere la nota all`inizio di ogni file sorgente, +per chiarire nel modo pi\xF9 efficiente possibile l'assenza di garanzia; +ogni file dovrebbe contenere almeno la nota di copyright e +l'indicazione di dove trovare l'intera nota. + + <una riga per dire in breve il nome del programma e cosa fa> + Copyright (C) <anno> <nome dell'autore> + + Questo programma \xE8 software libero; \xE8 lecito redistribuirlo o + modificarlo secondo i termini della Licenza Pubblica Generica GNU + come \xE8 pubblicata dalla Free Software Foundation; o la versione 2 + della licenza o (a propria scelta) una versione successiva. + + Questo programma \xE8 distribuito nella speranza che sia utile, ma + SENZA ALCUNA GARANZIA; senza neppure la garanzia implicita di + NEGOZIABILIT\xC0 o di APPLICABILIT\xC0 PER UN PARTICOLARE SCOPO. Si + veda la Licenza Pubblica Generica GNU per avere maggiori dettagli. + + Questo programma deve essere distribuito assieme ad una copia + della Licenza Pubblica Generica GNU; in caso contrario, se ne pu\xF2 + ottenere una scrivendo alla Free Software Foundation, Inc., 51 + Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Si aggiungano anche informazioni su come si pu\xF2 essere contattati +tramite posta elettronica e cartacea. + +Se il programma \xE8 interattivo, si faccia in modo che stampi una breve +nota simile a questa quando viene usato interattivamente: + + Orcaloca versione 69, Copyright (C) anno nome dell'autore + Orcaloca non ha ALCUNA GARANZIA; per dettagli usare il comando `show g'. + Questo \xE8 software libero, e ognuno \xE8 libero di ridistribuirlo secondo + certe condizioni; usare il comando `show c' per i dettagli. + +Gli ipotetici comandi "show g" e "show c" mostreranno le parti +appropriate della Licenza Pubblica Generica. Chiaramente, i comandi +usati possono essere chiamati diversamente da "show g" e "show c" e +possono anche essere selezionati con il mouse o attraverso un men\xF9, o +comunque sia pertinente al programma. + +Se necessario, si deve anche far firmare al proprio datore di lavoro +(per chi lavora come programmatore) o alla propria scuola, per chi \xE8 +studente, una "rinuncia al copyright" per il programma. Ecco un +esempio con nomi fittizi: + + Yoyodinamica SPA rinuncia con questo documento ad ogni diritto sul + copyright del programma `Orcaloca' (che svolge dei passi di + compilazione) scritto da Giovanni Smanettone. + + <firma di Primo Tizio>, 1 April 3000 + Primo Tizio, Presidente + +I programmi coperti da questa Licenza Pubblica Generica non possono +essere incorporati all'interno di programmi proprietari. Se il +proprio programma \xE8 una libreria di funzioni, pu\xF2 essere pi\xF9 utile +permettere di collegare applicazioni proprietarie alla libreria. Se +si ha questa intenzione consigliamo di usare la Licenza Pubblica +Generica Minore GNU (LGPL) invece di questa Licenza. Added: trunk/misc/design/10strict/NiftyCube/gpl.txt =================================================================== --- trunk/misc/design/10strict/NiftyCube/gpl.txt (rev 0) +++ trunk/misc/design/10strict/NiftyCube/gpl.txt 2008-01-21 23:22:26 UTC (rev 4821) @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + <signature of Ty Coon>, 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. Added: trunk/misc/design/10strict/NiftyCube/niftyCorners.css =================================================================== --- trunk/misc/design/10strict/NiftyCube/niftyCorners.css (rev 0) +++ trunk/misc/design/10strict/NiftyCube/niftyCorners.css 2008-01-21 23:22:26 UTC (rev 4821) @@ -0,0 +1,35 @@ +/*Nifty Corners Cube CSS by Alessandro Fulciniti +The following classes are added dinamically by javascript, +and their use should be avoided in the markup */ + +b.niftycorners,b.niftyfill{display:block} +b.niftycorners *{display:block;height: 1px;line-height:1px;font-size: 1px; + overflow:hidden;border-style:solid;border-width: 0 1px} +/*normal*/ +b.r1{margin: 0 3px;border-width: 0 2px} +b.r2{margin: 0 2px} +b.r3{margin: 0 1px} +b.r4{height: 2px} +b.rb1{margin: 0 8px;border-width:0 2px} +b.rb2{margin: 0 6px;border-width:0 2px} +b.rb3{margin: 0 5px} +b.rb4{margin: 0 4px} +b.rb5{margin: 0 3px} +b.rb6{margin: 0 2px} +b.rb7{margin: 0 1px;height:2px} +b.rb8{margin: 0;height:2px} +b.rs1{margin: 0 1px} +/*transparent inside*/ +b.t1{border-width: 0 5px} +b.t2{border-width: 0 3px} +b.t3{border-width: 0 2px} +b.t4{height: 2px} +b.tb1{border-width: 0 10px} +b.tb2{border-width: 0 8px} +b.tb3{border-width: 0 6px} +b.tb4{border-width: 0 5px} +b.tb5{border-width: 0 4px} +b.tb6{border-width: 0 3px} +b.tb7{border-width: 0 2px;height:2px} +b.tb8{border-width: 0 1px;height:2px} +b.ts1{border-width: 0 2px} \ No newline at end of file Added: trunk/misc/design/10strict/NiftyCube/niftyLayout.js =================================================================== --- trunk/misc/design/10strict/NiftyCube/niftyLayout.js (rev 0) +++ trunk/misc/design/10strict/NiftyCube/niftyLayout.js 2008-01-21 23:22:26 UTC (rev 4821) @@ -0,0 +1,11 @@ +/*nifty corners layout*/ + +window.onload=function(){ +Nifty("div#menu a","small transparent top"); +Nifty("ul#intro li","same-height"); +Nifty("div.date"); +Nifty("div#content,div#side","same-height"); +Nifty("div.comments div"); +Nifty("div#footer"); +Nifty("div#container","bottom"); +} \ No newline at end of file Added: trunk/misc/design/10strict/NiftyCube/niftycube.js =================================================================== --- trunk/misc/design/10strict/NiftyCube/niftycube.js (rev 0) +++ trunk/misc/design/10strict/NiftyCube/niftycube.js 2008-01-21 23:22:26 UTC (rev 4821) @@ -0,0 +1,298 @@ +/* Nifty Corners Cube - rounded corners with CSS and Javascript +Copyright 2006 Alessandro Fulciniti (a.f...@ht...) + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +var niftyOk=(document.getElementById && document.createElement && Array.prototype.push); +var niftyCss=false; + +String.prototype.find=function(what){ +return(this.indexOf(what)>=0 ? true : false); +} + +var oldonload=window.onload; +if(typeof(NiftyLoad)!='function') NiftyLoad=function(){}; +if(typeof(oldonload)=='function') + window.onload=function(){oldonload();AddCss();NiftyLoad()}; +else window.onload=function(){AddCss();NiftyLoad()}; + +function AddCss(){ +niftyCss=true; +var l=CreateEl("link"); +l.setAttribute("type","text/css"); +l.setAttribute("rel","stylesheet"); +l.setAttribute("href","niftyCorners.css"); +l.setAttribute("media","screen"); +document.getElementsByTagName("head")[0].appendChild(l); +} + +function Nifty(selector,options){ +if(niftyOk==false) return; +if(niftyCss==false) AddCss(); +var i,v=selector.split(","),h=0; +if(options==null) options=""; +if(options.find("fixed-height")) + h=getElementsBySelector(v[0])[0].offsetHeight; +for(i=0;i<v.length;i++) + Rounded(v[i],options); +if(options.find("height")) SameHeight(selector,h); +} + +function Rounded(selector,options){ +var i,top="",bottom="",v=new Array(); +if(options!=""){ + options=options.replace("left","tl bl"); + options=options.replace("right","tr br"); + options=options.replace("top","tr tl"); + options=options.replace("bottom","br bl"); + options=options.replace("transparent","alias"); + if(options.find("tl")){ + top="both"; + if(!options.find("tr")) top="left"; + } + else if(options.find("tr")) top="right"; + if(options.find("bl")){ + bottom="both"; + if(!options.find("br")) bottom="left"; + } + else if(options.find("br")) bottom="right"; + } +if(top=="" && bottom=="" && !options.find("none")){top="both";bottom="both";} +v=getElementsBySelector(selector); +for(i=0;i<v.length;i++){ + FixIE(v[i]); + if(top!="") AddTop(v[i],top,options); + if(bottom!="") AddBottom(v[i],bottom,options); + } +} + +function AddTop(el,side,options){ +var d=CreateEl("b"),lim=4,border="",p,i,btype="r",bk,color; +d.style.marginLeft="-"+getPadding(el,"Left")+"px"; +d.style.marginRight="-"+getPadding(el,"Right")+"px"; +if(options.find("alias") || (color=getBk(el))=="transparent"){ + color="transparent";bk="transparent"; border=getParentBk(el);btype="t"; + } +else{ + bk=getParentBk(el); border=Mix(color,bk); + } +d.style.background=bk; +d.className="niftycorners"; +p=getPadding(el,"Top"); +if(options.find("small")){ + d.style.marginBottom=(p-2)+"px"; + btype+="s"; lim=2; + } +else if(options.find("big")){ + d.style.marginBottom=(p-10)+"px"; + btype+="b"; lim=8; + } +else d.style.marginBottom=(p-5)+"px"; +for(i=1;i<=lim;i++) + d.appendChild(CreateStrip(i,side,color,border,btype)); +el.style.paddingTop="0"; +el.insertBefore(d,el.firstChild); +} + +function AddBottom(el,side,options){ +var d=CreateEl("b"),lim=4,border="",p,i,btype="r",bk,color; +d.style.marginLeft="-"+getPadding(el,"Left")+"px"; +d.style.marginRight="-"+getPadding(el,"Right")+"px"; +if(options.find("alias") || (color=getBk(el))=="transparent"){ + color="transparent";bk="transparent"; border=getParentBk(el);btype="t"; + } +else{ + bk=getParentBk(el); border=Mix(color,bk); + } +d.style.background=bk; +d.className="niftycorners"; +p=getPadding(el,"Bottom"); +if(options.find("small")){ + d.style.marginTop=(p-2)+"px"; + btype+="s"; lim=2; + } +else if(options.find("big")){ + d.style.marginTop=(p-10)+"px"; + btype+="b"; lim=8; + } +else d.style.marginTop=(p-5)+"px"; +for(i=lim;i>0;i--) + d.appendChild(CreateStrip(i,side,color,border,btype)); +el.style.paddingBottom=0; +el.appendChild(d); +} + +function CreateStrip(index,side,color,border,btype){ +var x=CreateEl("b"); +x.className=btype+index; +x.style.backgroundColor=color; +x.style.borderColor=border; +if(side=="left"){ + x.style.borderRightWidth="0"; + x.style.marginRight="0"; + } +else if(side=="right"){ + x.style.borderLeftWidth="0"; + x.style.marginLeft="0"; + } +return(x); +} + +function CreateEl(x){ +return(document.createElement(x)); +} + +function FixIE(el){ +if(el.currentStyle!=null && el.currentStyle.hasLayout!=null && el.currentStyle.hasLayout==false) + el.style.display="inline-block"; +} + +function SameHeight(selector,maxh){ +var i,v=selector.split(","),t,j,els=[],gap; +for(i=0;i<v.length;i++){ + t=getElementsBySelector(v[i]); + els=els.concat(t); + } +for(i=0;i<els.length;i++){ + if(els[i].offsetHeight>maxh) maxh=els[i].offsetHeight; + els[i].style.height="auto"; + } +for(i=0;i<els.length;i++){ + gap=maxh-els[i].offsetHeight; + if(gap>0){ + t=CreateEl("b");t.className="niftyfill";t.style.height=gap+"px"; + nc=els[i].lastChild; + if(nc.className=="niftycorners") + els[i].insertBefore(t,nc); + else els[i].appendChild(t); + } + } +} + +function getElementsBySelector(selector){ +var i,j,selid="",selclass="",tag=selector,tag2="",v2,k,f,a,s=[],objlist=[],c; +if(selector.find("#")){ //id selector like "tag#id" + if(selector.find(" ")){ //descendant selector like "tag#id tag" + s=selector.split(" "); + var fs=s[0].split("#"); + if(fs.length==1) return(objlist); + f=document.getElementById(fs[1]); + if(f){ + v=f.getElementsByTagName(s[1]); + for(i=0;i<v.length;i++) objlist.push(v[i]); + } + return(objlist); + } + else{ + s=selector.split("#"); + tag=s[0]; + selid=s[1]; + if(selid!=""){ + f=document.getElementById(selid); + if(f) objlist.push(f); + return(objlist); + } + } + } +if(selector.find(".")){ //class selector like "tag.class" + s=selector.split("."); + tag=s[0]; + selclass=s[1]; + if(selclass.find(" ")){ //descendant selector like tag1.classname tag2 + s=selclass.split(" "); + selclass=s[0]; + tag2=s[1]; + } + } +var v=document.getElementsByTagName(tag); // tag selector like "tag" +if(selclass==""){ + for(i=0;i<v.length;i++) objlist.push(v[i]); + return(objlist); + } +for(i=0;i<v.length;i++){ + c=v[i].className.split(" "); + for(j=0;j<c.length;j++){ + if(c[j]==selclass){ + if(tag2=="") objlist.push(v[i]); + else{ + v2=v[i].getElementsByTagName(tag2); + for(k=0;k<v2.length;k++) objlist.push(v2[k]); + } + } + } + } +return(objlist); +} + +function getParentBk(x){ +var el=x.parentNode,c; +while(el.tagName.toUpperCase()!="HTML" && (c=getBk(el))=="transparent") + el=el.parentNode; +if(c=="transparent") c="#FFFFFF"; +return(c); +} + +function getBk(x){ +var c=getStyleProp(x,"backgroundColor"); +if(c==null || c=="transparent" || c.find("rgba(0, 0, 0, 0)")) + return("transparent"); +if(c.find("rgb")) c=rgb2hex(c); +return(c); +} + +function getPadding(x,side){ +var p=getStyleProp(x,"padding"+side); +if(p==null || !p.find("px")) return(0); +return(parseInt(p)); +} + +function getStyleProp(x,prop){ +if(x.currentStyle) + return(x.currentStyle[prop]); +if(document.defaultView.getComputedStyle) + return(document.defaultView.getComputedStyle(x,'')[prop]); +return(null); +} + +function rgb2hex(value){ +var hex="",v,h,i; +var regexp=/([0-9]+)[, ]+([0-9]+)[, ]+([0-9]+)/; +var h=regexp.exec(value); +for(i=1;i<4;i++){ + v=parseInt(h[i]).toString(16); + if(v.length==1) hex+="0"+v; + else hex+=v; + } +return("#"+hex); +} + +function Mix(c1,c2){ +var i,step1,step2,x,y,r=new Array(3); +if(c1.length==4)step1=1; +else step1=2; +if(c2.length==4) step2=1; +else step2=2; +for(i=0;i<3;i++){ + x=parseInt(c1.substr(1+step1*i,step1),16); + if(step1==1) x=16*x+x; + y=parseInt(c2.substr(1+step2*i,step2),16); + if(step2==1) y=16*y+y; + r[i]=Math.floor((x*50+y*50)/100); + r[i]=r[i].toString(16); + if(r[i].length==1) r[i]="0"+r[i]; + } +return("#"+r[0]+r[1]+r[2]); +} \ No newline at end of file Added: trunk/misc/design/10strict/colorsettings.php =================================================================== --- trunk/misc/design/10strict/colorsettings.php (rev 0) +++ trunk/misc/design/10strict/colorsettings.php 2008-01-21 23:22:26 UTC (rev 4821) @@ -0,0 +1,70 @@ +<?php +header("Content-Type: text/css"); + +/** + * force caching in browser + * works in firefox and internet explorer + */ +Header("Last-Modified: " . gmdate("D, d M Y H:i:s",mktime (0,0,0,1,1,2000)) . " GMT"); // Date in the past +Header("Expires: Mon, 26 Jul 2100 05:00:00 GMT"); // In other words... never expire the image +Header("Cache-Control: max-age=10000000, s-maxage=1000000, proxy-revalidate, must-revalidate"); + + +/* + * Created on 26.10.2006 + * + * To change the template for this generated file go to + * Window - Preferences - PHPeclipse - PHP - Code Templates + */ +?> + +/** + * background color + * #linDivThumbNavi amd #divSlideshowControlsInner used in view_img.html.php + */ + body { + background-color: #<?php echo $_GET['bodybg']; ?>; + } + + #linDivMain, #linDivMetaStaticOuter, #linDivNavigationOuter, /*.linButton,*/ #linDivThumbnaviOuter, #linDivSlideshowControls, .roundAlphabottomInner, .linBackground { + background-color: #<?php echo $_GET['bg']; ?>; + } + +/** + * font color + */ + body, #linDivMenu ul a, #linDivMenu ul span, #linDivMenu ul div { + color: #<?php echo $_GET['font']; ?>; + } + +/** + * albums color + */ + .linDivFolder { + background-color: #<?php echo $_GET['albumsbg']; ?>; + } + +/** + * link/form colors + */ + a:link, a:visited /*, .linButton*/ { + color: #<?php echo $_GET['links']; ?>; + } + a:hover /*, .linButton:hover*/ { + color: #<?php echo $_GET['linkshover']; ?>; + } + + .linForms { + background-color: #<?php echo $_GET['fieldscolor']; ?>; + border: 1px solid grey; + } + +/** + * menu + */ + #linDivMenu ul a:hover, #linDivMenu ul span:hover { + background: #bbbbbb; + } + #linDivMenu ul ul, .linInputMenu { + background-color: #eeeeee; + } Added: trunk/misc/design/10strict/csshover.htc =================================================================== --- trunk/misc/design/10strict/csshover.htc (rev 0) +++ trunk/misc/design/10strict/csshover.htc 2008-01-21 23:22:26 UTC (rev 4821) @@ -0,0 +1,120 @@ +<attach event="ondocumentready" handler="parseStylesheets" /> +<script> +/** + * Whatever:hover - V1.42.060206 - hover & active + * ------------------------------------------------------------ + * (c) 2005 - Peter Nederlof + * Peterned - http://www.xs4all.nl/~peterned/ + * License - http://creativecommons.org/licenses/LGPL/2.1/ + * + * Whatever:hover is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * Whatever:hover is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * Credits and thanks to: + * Arnoud Berendsen, Martin Reurings, Robert Hanson + * + * howto: body { behavior:url("csshover.htc"); } + * ------------------------------------------------------------ + */ + +var csshoverReg = /(^|\s)(([^a]([^ ]+)?)|(a([^#.][^ ]+)+)):(hover|active)/i, +currentSheet, doc = window.document, ... [truncated message content] |
From: <fan...@us...> - 2008-01-21 21:37:43
|
Revision: 4820 http://linpha.svn.sourceforge.net/linpha/?rev=4820&view=rev Author: fangehrn Date: 2008-01-21 13:36:52 -0800 (Mon, 21 Jan 2008) Log Message: ----------- Added Paths: ----------- trunk/misc/design/3utf8db/mysql.php trunk/misc/design/3utf8db/mysql_test.php trunk/misc/design/3utf8db/oracle.php trunk/misc/design/3utf8db/pgsql.php trunk/misc/design/3utf8db/sqlite.php Removed Paths: ------------- trunk/misc/design/3utf8db/index.php Deleted: trunk/misc/design/3utf8db/index.php =================================================================== --- trunk/misc/design/3utf8db/index.php 2008-01-21 20:29:01 UTC (rev 4819) +++ trunk/misc/design/3utf8db/index.php 2008-01-21 21:36:52 UTC (rev 4820) @@ -1,82 +0,0 @@ -<?php -header('content-type: text/html; charset: utf-8'); -/*echo '<?xml version="1.0" encoding="utf-8"?>'."\n"; not necessary, IE has problems with this*/ -?> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta http-equiv="content-type" content="text/html; charset=UTF-8"> - -<title>Linpha 2.0</title> - -</head> - - -<body> - -<h2>Test Zeichenkodierung Header UTF8, Datei UTF8</h2> -abcd ABCD ÄÖÜ äöü éèà $£€@¢°§ Věruš -<br /> -<?php echo utf8_encode("abcd ABCD ÄÖÜ äöü éèà \$£€@¢°§ Věruš"); ?> -<br /> -<br /> -<h2>DB</h2> - -<?php -require_once('../../../linpha2/lib/adodb/adodb.inc.php'); - -$db = ADONewConnection("mysql"); -$db->Connect("localhost", "root", "test", "testutf8"); - -echo 'utf8: '.$db->GetOne("SELECT name FROM tabutf8"); -echo '<br />'; -echo 'latin1: '.$db->GetOne("SELECT name FROM tablatin1"); - -echo '<br /><br /><br />'; -$query = $db->Execute("SHOW VARIABLES"); -while($data = $query->FetchRow()) -{ - echo $data['Variable_name'].': '.$data['Value'].'<br />'; -} - -/** - * http://drupal.org/node/40515 - * http://gallery.menalto.com/node/36886 - * - * http://phplens.com/adodb/code.initialization.html - * AdoDB: var $charSet=false; /// character set to use - only for interbase, postgres and oci8 - * - mysql_query('SET NAMES "UTF8"'); - mysql_query("SET collation_connection='utf8_general_ci'"); - mysql_query("SET collation_server='utf8_general_ci'"); - mysql_query("SET character_set_client='utf8'"); - mysql_query("SET character_set_connection='utf8'"); - mysql_query("SET character_set_results='utf8'"); - mysql_query("SET character_set_server='utf8'"); -*/ -$db->Execute('SET NAMES "UTF8"'); -$db->Execute("SET collation_connection='utf8_general_ci'"); -$db->Execute("SET collation_server='utf8_general_ci'"); -$db->Execute("SET character_set_client='utf8'"); -$db->Execute("SET character_set_connection='utf8'"); -$db->Execute("SET character_set_results='utf8'"); -$db->Execute("SET character_set_server='utf8'"); - -echo '<br /><br /><br />'; -$query = $db->Execute("SHOW VARIABLES"); -while($data = $query->FetchRow()) -{ - echo $data['Variable_name'].': '.$data['Value'].'<br />'; -} - -echo '<br /><br /><br />'; - -echo 'utf8: '.$db->GetOne("SELECT name FROM tabutf8"); -echo '<br />'; -echo 'latin1: '.$db->GetOne("SELECT name FROM tablatin1"); -?> - -</body> -</html> - Added: trunk/misc/design/3utf8db/mysql.php =================================================================== --- trunk/misc/design/3utf8db/mysql.php (rev 0) +++ trunk/misc/design/3utf8db/mysql.php 2008-01-21 21:36:52 UTC (rev 4820) @@ -0,0 +1,95 @@ +<?php +header('content-type: text/html; charset: utf-8'); +/*echo '<?xml version="1.0" encoding="utf-8"?>'."\n"; not necessary, IE has problems with this*/ +?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=UTF-8"> + +<title>Linpha 2.0</title> + +</head> + + +<body> + +<h2>Test Zeichenkodierung Header UTF8, Datei UTF8</h2> +abcd ABCD ÄÖÜ äöü éèà $£€@¢°§ Věruš +<br /> +<?php echo utf8_encode("abcd ABCD ÄÖÜ äöü éèà \$£€@¢°§ Věruš"); ?> +<br /> +<br /> +<h2>DB</h2> + +<?php +require_once('../../../linpha2/lib/adodb/adodb.inc.php'); + +$db = ADONewConnection("mysql"); +$db->Connect("localhost", "root", "test"); + +/** + * http://drupal.org/node/40515 + * http://gallery.menalto.com/node/36886 + * + * http://phplens.com/adodb/code.initialization.html + * AdoDB: var $charSet=false; /// character set to use - only for interbase, postgres and oci8 + * + mysql_query('SET NAMES "UTF8"'); + mysql_query("SET collation_connection='utf8_general_ci'"); + mysql_query("SET collation_server='utf8_general_ci'"); + mysql_query("SET character_set_client='utf8'"); + mysql_query("SET character_set_connection='utf8'"); + mysql_query("SET character_set_results='utf8'"); + mysql_query("SET character_set_server='utf8'"); +*/ +$db->Execute('SET NAMES "UTF8"'); +$db->Execute("SET collation_connection='utf8_general_ci'"); +$db->Execute("SET collation_server='utf8_general_ci'"); +$db->Execute("SET character_set_client='utf8'"); +$db->Execute("SET character_set_connection='utf8'"); +$db->Execute("SET character_set_results='utf8'"); +$db->Execute("SET character_set_server='utf8'"); + +$db->Execute("DROP DATABASE IF EXISTS `testutf8`"); +$db->Execute("CREATE DATABASE `testutf8` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci"); +$db->Execute("USE testutf8"); + +$db->Execute( + "CREATE TABLE `tabutf8` ( " . + "`name` VARCHAR( 255 ) NOT NULL " . + ") ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci" +); +$db->Execute( + "CREATE TABLE `tablatin1` ( " . + "`name` VARCHAR( 255 ) NOT NULL " . + ") ENGINE = MYISAM CHARACTER SET latin1 COLLATE latin1_general_ci" +); + + +if (isset($_POST['inputtext'])) +{ + echo 'insert: '.$_POST['inputtext'].'<br />'; + $db->Execute("INSERT into tabutf8 (name) VALUES ('".addslashes($_POST['inputtext'])."')"); + $db->Execute("INSERT into tablatin1 (name) VALUES ('".addslashes($_POST['inputtext'])."')"); +} +else +{ + $db->Execute("INSERT into tabutf8 (name) VALUES ('abcd ABCD ÄÖÜ äöü éèà \$£€@¢°§ Věruš')"); + $db->Execute("INSERT into tablatin1 (name) VALUES ('abcd ABCD ÄÖÜ äöü éèà \$£€@¢°§ Věruš')"); +} + + +echo 'utf8: '.$db->GetOne("SELECT name FROM tabutf8").'<br />'; +echo 'latin1: '.$db->GetOne("SELECT name FROM tablatin1").'<br />'; + +?> + +<form method="post"> +<input type="input" name="inputtext" value="" /> +<input type="submit" value="submit" /> +</form> + +</body> +</html> Copied: trunk/misc/design/3utf8db/mysql_test.php (from rev 4819, trunk/misc/design/3utf8db/index.php) =================================================================== --- trunk/misc/design/3utf8db/mysql_test.php (rev 0) +++ trunk/misc/design/3utf8db/mysql_test.php 2008-01-21 21:36:52 UTC (rev 4820) @@ -0,0 +1,82 @@ +<?php +header('content-type: text/html; charset: utf-8'); +/*echo '<?xml version="1.0" encoding="utf-8"?>'."\n"; not necessary, IE has problems with this*/ +?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=UTF-8"> + +<title>Linpha 2.0</title> + +</head> + + +<body> + +<h2>Test Zeichenkodierung Header UTF8, Datei UTF8</h2> +abcd ABCD ÄÖÜ äöü éèà $£€@¢°§ Věruš +<br /> +<?php echo utf8_encode("abcd ABCD ÄÖÜ äöü éèà \$£€@¢°§ Věruš"); ?> +<br /> +<br /> +<h2>DB</h2> + +<?php +require_once('../../../linpha2/lib/adodb/adodb.inc.php'); + +$db = ADONewConnection("mysql"); +$db->Connect("localhost", "root", "test", "testutf8"); + +echo 'utf8: '.$db->GetOne("SELECT name FROM tabutf8"); +echo '<br />'; +echo 'latin1: '.$db->GetOne("SELECT name FROM tablatin1"); + +echo '<br /><br /><br />'; +$query = $db->Execute("SHOW VARIABLES"); +while($data = $query->FetchRow()) +{ + echo $data['Variable_name'].': '.$data['Value'].'<br />'; +} + +/** + * http://drupal.org/node/40515 + * http://gallery.menalto.com/node/36886 + * + * http://phplens.com/adodb/code.initialization.html + * AdoDB: var $charSet=false; /// character set to use - only for interbase, postgres and oci8 + * + mysql_query('SET NAMES "UTF8"'); + mysql_query("SET collation_connection='utf8_general_ci'"); + mysql_query("SET collation_server='utf8_general_ci'"); + mysql_query("SET character_set_client='utf8'"); + mysql_query("SET character_set_connection='utf8'"); + mysql_query("SET character_set_results='utf8'"); + mysql_query("SET character_set_server='utf8'"); +*/ +$db->Execute('SET NAMES "UTF8"'); +$db->Execute("SET collation_connection='utf8_general_ci'"); +$db->Execute("SET collation_server='utf8_general_ci'"); +$db->Execute("SET character_set_client='utf8'"); +$db->Execute("SET character_set_connection='utf8'"); +$db->Execute("SET character_set_results='utf8'"); +$db->Execute("SET character_set_server='utf8'"); + +echo '<br /><br /><br />'; +$query = $db->Execute("SHOW VARIABLES"); +while($data = $query->FetchRow()) +{ + echo $data['Variable_name'].': '.$data['Value'].'<br />'; +} + +echo '<br /><br /><br />'; + +echo 'utf8: '.$db->GetOne("SELECT name FROM tabutf8"); +echo '<br />'; +echo 'latin1: '.$db->GetOne("SELECT name FROM tablatin1"); +?> + +</body> +</html> + Added: trunk/misc/design/3utf8db/oracle.php =================================================================== --- trunk/misc/design/3utf8db/oracle.php (rev 0) +++ trunk/misc/design/3utf8db/oracle.php 2008-01-21 21:36:52 UTC (rev 4820) @@ -0,0 +1,75 @@ +<?php +header('content-type: text/html; charset: utf-8'); +/*echo '<?xml version="1.0" encoding="utf-8"?>'."\n"; not necessary, IE has problems with this*/ +?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=UTF-8"> + +<title>Linpha 2.0</title> + +</head> + + +<body> + +<h2>Test Zeichenkodierung Header UTF8, Datei UTF8</h2> +abcd ABCD ÄÖÜ äöü éèà $£€@¢°§ Věruš +<br /> +<?php echo utf8_encode("abcd ABCD ÄÖÜ äöü éèà \$£€@¢°§ Věruš"); ?> +<br /> +<br /> +<h2>DB</h2> + +<?php +require_once('../../../linpha2/lib/adodb/adodb.inc.php'); +require_once('../../../linpha2/lib/adodb/adodb-errorhandler.inc.php'); + +$db = ADONewConnection("oci8po"); +$db->Connect("localhost", "root", "test"); + +//$db->charSet = 'UTF-8'; + +$db->Execute("DROP DATABASE IF EXISTS `testutf8`"); +$db->Execute("CREATE DATABASE `testutf8` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci"); +$db->Execute("USE testutf8"); + +$db->Execute( + "CREATE TABLE `tabutf8` ( " . + "`name` VARCHAR( 255 ) NOT NULL " . + ") CHARACTER SET utf8 COLLATE utf8_general_ci" +); +$db->Execute( + "CREATE TABLE `tablatin1` ( " . + "`name` VARCHAR( 255 ) NOT NULL " . + ") CHARACTER SET latin1 COLLATE latin1_general_ci" +); + + +if (isset($_POST['inputtext'])) +{ + echo 'insert: '.$_POST['inputtext'].'<br />'; + $db->Execute("INSERT into tabutf8 (name) VALUES ('".addslashes($_POST['inputtext'])."')"); + $db->Execute("INSERT into tablatin1 (name) VALUES ('".addslashes($_POST['inputtext'])."')"); +} +else +{ + $db->Execute("INSERT into tabutf8 (name) VALUES ('abcd ABCD ÄÖÜ äöü éèà \$£€@¢°§ Věruš')"); + $db->Execute("INSERT into tablatin1 (name) VALUES ('abcd ABCD ÄÖÜ äöü éèà \$£€@¢°§ Věruš')"); +} + + +echo 'utf8: '.$db->GetOne("SELECT name FROM tabutf8").'<br />'; +echo 'latin1: '.$db->GetOne("SELECT name FROM tablatin1").'<br />'; + +?> + +<form method="post"> +<input type="input" name="inputtext" value="" /> +<input type="submit" value="submit" /> +</form> + +</body> +</html> Added: trunk/misc/design/3utf8db/pgsql.php =================================================================== --- trunk/misc/design/3utf8db/pgsql.php (rev 0) +++ trunk/misc/design/3utf8db/pgsql.php 2008-01-21 21:36:52 UTC (rev 4820) @@ -0,0 +1,74 @@ +<?php +header('content-type: text/html; charset: utf-8'); +/*echo '<?xml version="1.0" encoding="utf-8"?>'."\n"; not necessary, IE has problems with this*/ +?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=UTF-8"> + +<title>Linpha 2.0</title> + +</head> + + +<body> + +<h2>Test Zeichenkodierung Header UTF8, Datei UTF8</h2> +abcd ABCD ÄÖÜ äöü éèà $£€@¢°§ Věruš +<br /> +<?php echo utf8_encode("abcd ABCD ÄÖÜ äöü éèà \$£€@¢°§ Věruš"); ?> +<br /> +<br /> +<h2>DB</h2> + +<?php +require_once('../../../linpha2/lib/adodb/adodb.inc.php'); + +$db = ADONewConnection("postgres"); +$db->Connect("localhost", "root", "test"); + +//$db->charSet = 'UTF-8'; + +$db->Execute("DROP DATABASE IF EXISTS `testutf8`"); +$db->Execute("CREATE DATABASE `testutf8` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci"); +$db->Execute("USE testutf8"); + +$db->Execute( + "CREATE TABLE `tabutf8` ( " . + "`name` VARCHAR( 255 ) NOT NULL " . + ") CHARACTER SET utf8 COLLATE utf8_general_ci" +); +$db->Execute( + "CREATE TABLE `tablatin1` ( " . + "`name` VARCHAR( 255 ) NOT NULL " . + ") CHARACTER SET latin1 COLLATE latin1_general_ci" +); + + +if (isset($_POST['inputtext'])) +{ + echo 'insert: '.$_POST['inputtext'].'<br />'; + $db->Execute("INSERT into tabutf8 (name) VALUES ('".addslashes($_POST['inputtext'])."')"); + $db->Execute("INSERT into tablatin1 (name) VALUES ('".addslashes($_POST['inputtext'])."')"); +} +else +{ + $db->Execute("INSERT into tabutf8 (name) VALUES ('abcd ABCD ÄÖÜ äöü éèà \$£€@¢°§ Věruš')"); + $db->Execute("INSERT into tablatin1 (name) VALUES ('abcd ABCD ÄÖÜ äöü éèà \$£€@¢°§ Věruš')"); +} + + +echo 'utf8: '.$db->GetOne("SELECT name FROM tabutf8").'<br />'; +echo 'latin1: '.$db->GetOne("SELECT name FROM tablatin1").'<br />'; + +?> + +<form method="post"> +<input type="input" name="inputtext" value="" /> +<input type="submit" value="submit" /> +</form> + +</body> +</html> Added: trunk/misc/design/3utf8db/sqlite.php =================================================================== --- trunk/misc/design/3utf8db/sqlite.php (rev 0) +++ trunk/misc/design/3utf8db/sqlite.php 2008-01-21 21:36:52 UTC (rev 4820) @@ -0,0 +1,56 @@ +<?php +header('content-type: text/html; charset: utf-8'); +/*echo '<?xml version="1.0" encoding="utf-8"?>'."\n"; not necessary, IE has problems with this*/ +?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=UTF-8"> + +<title>Linpha 2.0</title> + +</head> + + +<body> + +<h2>Test Zeichenkodierung Header UTF8, Datei UTF8</h2> +abcd ABCD ÄÖÜ äöü éèà $£€@¢°§ Věruš +<br /> +<?php echo utf8_encode("abcd ABCD ÄÖÜ äöü éèà \$£€@¢°§ Věruš"); ?> +<br /> +<br /> +<h2>DB</h2> + +<?php +require_once('../../../linpha2/lib/adodb/adodb.inc.php'); +require_once('../../../linpha2/lib/adodb/adodb-errorhandler.inc.php'); + +$db = ADONewConnection("sqlite"); +$db->Connect("sqlite.db"); + +$db->Execute("DROP TABLE tabutf8"); +$db->Execute("DROP TABLE tablatin1"); +$db->Execute( + "CREATE TABLE tabutf8 ( " . + "name VARCHAR( 255 ) NOT NULL " . + ")" +); +$db->Execute( + "CREATE TABLE tablatin1 ( " . + "name VARCHAR( 255 ) NOT NULL " . + ")" +); + +$db->Execute("INSERT into tabutf8 (name) VALUES ('abcd ABCD ÄÖÜ äöü éèà \$£€@¢°§ Věruš')"); +$db->Execute("INSERT into tablatin1 (name) VALUES ('abcd ABCD ÄÖÜ äöü éèà \$£€@¢°§ Věruš')"); + +echo 'utf8: '.$db->GetOne("SELECT name FROM tabutf8").'<br />'; +echo 'latin1: '.$db->GetOne("SELECT name FROM tablatin1").'<br />'; + +?> + +</body> +</html> + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fan...@us...> - 2008-01-21 20:29:45
|
Revision: 4819 http://linpha.svn.sourceforge.net/linpha/?rev=4819&view=rev Author: fangehrn Date: 2008-01-21 12:29:01 -0800 (Mon, 21 Jan 2008) Log Message: ----------- Added Paths: ----------- trunk/misc/design/3utf8db/ trunk/misc/design/3utf8db/index.php Removed Paths: ------------- trunk/misc/design/3utf8db/index.php trunk/misc/design/3utf8mysql/ Copied: trunk/misc/design/3utf8db (from rev 4815, trunk/misc/design/3utf8mysql) Deleted: trunk/misc/design/3utf8db/index.php =================================================================== --- trunk/misc/design/3utf8mysql/index.php 2008-01-20 21:53:07 UTC (rev 4815) +++ trunk/misc/design/3utf8db/index.php 2008-01-21 20:29:01 UTC (rev 4819) @@ -1,82 +0,0 @@ -<?php -header('content-type: text/html; charset: utf-8'); -/*echo '<?xml version="1.0" encoding="utf-8"?>'."\n"; not necessary, IE has problems with this*/ -?> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta http-equiv="content-type" content="text/html; charset=UTF-8"> - -<title>Linpha 2.0</title> - -</head> - - -<body> - -<h2>Test Zeichenkodierung Header UTF8, Datei UTF8</h2> -abcd ABCD ÄÖÜ äöü éèà $£€@¢°§ Věruš -<br /> -<?php echo utf8_encode("abcd ABCD ÄÖÜ äöü éèà \$£€@¢°§ Věruš"); ?> -<br /> -<br /> -<h2>DB</h2> - -<?php -require_once('../../../linpha2/lib/adodb/adodb.inc.php'); - -$db = ADONewConnection("mysql"); -$db->Connect("localhost", "root", "test", "testutf8"); - -echo 'utf8: '.$db->GetOne("SELECT name FROM tabutf8"); -echo '<br />'; -echo 'latin1: '.$db->GetOne("SELECT name FROM tablatin1"); - -echo '<br /><br /><br />'; -$query = $db->Execute("SHOW VARIABLES"); -while($data = $query->FetchRow()) -{ - echo $data['Variable_name'].': '.$data['Value'].'<br />'; -} - -/** - * http://drupal.org/node/40515 - * http://gallery.menalto.com/node/36886 - * - * http://phplens.com/adodb/code.initialization.html - * AdoDB: var $charSet=false; /// character set to use - only for interbase, postgres and oci8 - * - mysql_query('SET NAMES "UTF8"'); - mysql_query("SET collation_connection='utf8_general_ci'"); - mysql_query("SET collation_server='utf8_general_ci'"); - mysql_query("SET character_set_client='utf8'"); - mysql_query("SET character_set_connection='utf8'"); - mysql_query("SET character_set_results='utf8'"); - mysql_query("SET character_set_server='utf8'"); -*/ -$db->Execute('SET NAMES "UTF8"'); -$db->Execute("SET collation_connection='utf8_general_ci'"); -$db->Execute("SET collation_server='utf8_general_ci'"); -$db->Execute("SET character_set_client='utf8'"); -$db->Execute("SET character_set_connection='utf8'"); -$db->Execute("SET character_set_results='utf8'"); -$db->Execute("SET character_set_server='utf8'"); - -echo '<br /><br /><br />'; -$query = $db->Execute("SHOW VARIABLES"); -while($data = $query->FetchRow()) -{ - echo $data['Variable_name'].': '.$data['Value'].'<br />'; -} - -echo '<br /><br /><br />'; - -echo 'utf8: '.$db->GetOne("SELECT name FROM tabutf8"); -echo '<br />'; -echo 'latin1: '.$db->GetOne("SELECT name FROM tablatin1"); -?> - -</body> -</html> - Copied: trunk/misc/design/3utf8db/index.php (from rev 4818, trunk/misc/design/3utf8mysql/index.php) =================================================================== --- trunk/misc/design/3utf8db/index.php (rev 0) +++ trunk/misc/design/3utf8db/index.php 2008-01-21 20:29:01 UTC (rev 4819) @@ -0,0 +1,82 @@ +<?php +header('content-type: text/html; charset: utf-8'); +/*echo '<?xml version="1.0" encoding="utf-8"?>'."\n"; not necessary, IE has problems with this*/ +?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=UTF-8"> + +<title>Linpha 2.0</title> + +</head> + + +<body> + +<h2>Test Zeichenkodierung Header UTF8, Datei UTF8</h2> +abcd ABCD ÄÖÜ äöü éèà $£€@¢°§ Věruš +<br /> +<?php echo utf8_encode("abcd ABCD ÄÖÜ äöü éèà \$£€@¢°§ Věruš"); ?> +<br /> +<br /> +<h2>DB</h2> + +<?php +require_once('../../../linpha2/lib/adodb/adodb.inc.php'); + +$db = ADONewConnection("mysql"); +$db->Connect("localhost", "root", "test", "testutf8"); + +echo 'utf8: '.$db->GetOne("SELECT name FROM tabutf8"); +echo '<br />'; +echo 'latin1: '.$db->GetOne("SELECT name FROM tablatin1"); + +echo '<br /><br /><br />'; +$query = $db->Execute("SHOW VARIABLES"); +while($data = $query->FetchRow()) +{ + echo $data['Variable_name'].': '.$data['Value'].'<br />'; +} + +/** + * http://drupal.org/node/40515 + * http://gallery.menalto.com/node/36886 + * + * http://phplens.com/adodb/code.initialization.html + * AdoDB: var $charSet=false; /// character set to use - only for interbase, postgres and oci8 + * + mysql_query('SET NAMES "UTF8"'); + mysql_query("SET collation_connection='utf8_general_ci'"); + mysql_query("SET collation_server='utf8_general_ci'"); + mysql_query("SET character_set_client='utf8'"); + mysql_query("SET character_set_connection='utf8'"); + mysql_query("SET character_set_results='utf8'"); + mysql_query("SET character_set_server='utf8'"); +*/ +$db->Execute('SET NAMES "UTF8"'); +$db->Execute("SET collation_connection='utf8_general_ci'"); +$db->Execute("SET collation_server='utf8_general_ci'"); +$db->Execute("SET character_set_client='utf8'"); +$db->Execute("SET character_set_connection='utf8'"); +$db->Execute("SET character_set_results='utf8'"); +$db->Execute("SET character_set_server='utf8'"); + +echo '<br /><br /><br />'; +$query = $db->Execute("SHOW VARIABLES"); +while($data = $query->FetchRow()) +{ + echo $data['Variable_name'].': '.$data['Value'].'<br />'; +} + +echo '<br /><br /><br />'; + +echo 'utf8: '.$db->GetOne("SELECT name FROM tabutf8"); +echo '<br />'; +echo 'latin1: '.$db->GetOne("SELECT name FROM tablatin1"); +?> + +</body> +</html> + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fan...@us...> - 2008-01-20 21:57:16
|
Revision: 4818 http://linpha.svn.sourceforge.net/linpha/?rev=4818&view=rev Author: fangehrn Date: 2008-01-20 13:57:09 -0800 (Sun, 20 Jan 2008) Log Message: ----------- Added Paths: ----------- trunk/misc/design/2utf8/Linpha2.php Removed Paths: ------------- trunk/misc/design/2utf8/Linpha2.html Deleted: trunk/misc/design/2utf8/Linpha2.html =================================================================== --- trunk/misc/design/2utf8/Linpha2.html 2008-01-20 21:54:49 UTC (rev 4817) +++ trunk/misc/design/2utf8/Linpha2.html 2008-01-20 21:57:09 UTC (rev 4818) @@ -1,246 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta http-equiv="content-type" content="text/html; charset=UTF-8"> - -<title>Linpha 2.0</title> - -<!-- css includes --> - -<link rel='stylesheet' href='./colorsettings.php?bg=87CEFA&bodybg=DDDDDD&font=000000&albumsbg=D5FCF4&links=005388&linkshover=666666&fieldscolor=CCCCCC' type='text/css'> -<link rel='stylesheet' href='./global.css' type='text/css'> -<link rel='stylesheet' href='./home.css' type='text/css'> - - <!--[if IE]> - <style type="text/css" media="screen"> - #menu ul { width: 1em; } /* this will be a *min* width */ - #menu ul ul { width: 12em; } - #menu ul li { float: left; width: 100%; } - body { behavior: url(./csshover.htc); font-size: 100%; } - #menu ul li a { height: 1%; } - #menu a, #menu span { font: bold 0.7em/1.4em arial, helvetica, sans-serif; } - </style> - <![endif]--> - -</head> - - -<body id="linBody"> - -<!-- syslog --> -<div id="linDivSyslog" style="display: none;"> - <div id="linDivSyslogClose"><a href="javascript:myLinGlobal.closeSyslog();">X</a></div> - <b>Linpha Syslog:</b><br /> - <div id="linDivSyslogText"></div> -</div> - - -<!-- title/navigation --> - -<div id="linDivTitle">Linpha 2.0 :: <a href="/linpha2/?&linCat=alb&linId=0">></a> </div> - - -<!-- menu --> -<div id="linDivMenu"> - <ul style="margin-left: 50px;"> - <li><a href="/linpha2/?&linCat=alb">Home</a></li> - </ul> - <ul> - <li><span>Suche </span> - <ul> - <li><a href="/linpha2/?&linCat=search">Extended Search</a></li> - <li> - <div> - <form method="GET" action="/linpha2/?&linCat=search"> - <input type="text" class="linForms" name="search_text" value="" /> - <input type="hidden" name="button[meta][all]" value="1" /> - - <input type="hidden" name="cmd" value="search" /> - <input type="hidden" name="linCat" value="search" /> - <input type="submit" name="submit" class="linButton linInputMenu" value="Suche" /> - </form> - </div> - </li> - </ul> - </li> - </ul> - <ul> - <li> - <span>Login </span> - <ul id="linMenuLogin"> - <li> - <div> - <form action="" method="POST" onsubmit="new Ajax.Updater('linDivMenu', LINPHA_CLIENT + '/?linCat=ajax&reloadmenu&linId='+IdCurrent, {method: 'post', asynchronous:true, parameters:Form.serialize(this), evalScripts:true}); return false;"> - <!-- login infos --> - <br /> - <label for="linFormUsername" style="display: block; float: left; width: 80px;">Username: </label><input style="width: 105px;" class="linForms" type="text" name="username" value="" id="linFormUsername" /><br /> - <label for="linFormPassword" style="display: block; float: left; width: 80px;">Password: </label><input style="width: 105px;" class="linForms" type="password" name="password" value="" id="linFormPassword" /><br /> - <input type="checkbox" name="rememberme" value="true" id="linFormCheckboxRemember" /><label for="linFormCheckboxRemember">Remember Me</label> <input type="hidden" name="cmd" value="login" /> - <input type="submit" name="submit" class="linButton linInputMenu" value="Login" /><br /><br /> - <div style="font-size: smaller; border: 0px;">Um sich anmelden zu können, müssen Cookies aktiviert sein.</div> - </form> - </div> - </li> - </ul> - </li> - </ul> - <ul> - <li><span>More </span> - <ul id="linMenuMore"> - <li><span>Basket </span> - <ul> - <li><a href="/linpha2/?&linCat=alb&linId=4&admin_cmd=basket_add_all">Add All To Basket</a></li> - - <li><a href="/linpha2/?&linCat=alb&linId=4&view=basket">Switch To Basket View</a></li> - <li><a href="/linpha2/?&linCat=basket">Open Basket (0 Images)</a></li> - </ul> - </li> - <li><span>Ansicht </span> - <ul> - <li><span>Sort </span> - - <ul> - <li><a href="/linpha2/?&linCat=alb&linId=4&order_by=Name Asc">Name Asc</a></li> - <li><a href="/linpha2/?&linCat=alb&linId=4&order_by=Name Desc">Name Desc</a></li> - <li><a href="/linpha2/?&linCat=alb&linId=4&order_by=Date Asc">Date Asc</a></li> - <li><a href="/linpha2/?&linCat=alb&linId=4&order_by=Date Desc">Date Desc</a></li> - </ul> - </li> - - <li><span>Ansicht </span> - <ul> - <li><a href="/linpha2/?&linCat=alb&linId=4&view=thumb">Normal</a></li> - <li><a href="/linpha2/?&linCat=alb&linId=4&view=thumbdetail">Detail</a></li> - </ul> - </li> - <li><span>Thumb Size </span> - - <ul> - <li><a href="javascript:myLinThumbnails.setTnSize(50)">50 Pixel</a></li> - <li><a href="javascript:myLinThumbnails.setTnSize(75)">75 Pixel</a></li> - <li><a href="javascript:myLinThumbnails.setTnSize(100)">100 Pixel</a></li> - <li><a href="javascript:myLinThumbnails.setTnSize(150)">150 Pixel</a></li> - <li><a href="javascript:myLinThumbnails.setTnSize(200)">200 Pixel</a></li> - - <li><a href="javascript:myLinThumbnails.setTnSize(250)">250 Pixel</a></li> - <li><a href="javascript:myLinThumbnails.setTnSize(300)">300 Pixel</a></li> - <li><a href="javascript:myLinThumbnails.setTnSize(400)">400 Pixel</a></li> - <li><a href="javascript:myLinThumbnails.setTnSize(500)">500 Pixel</a></li> - </ul> - </li> - <li><span>Thumb Nr </span> - - <ul> - <li><a href="javascript:myLinThumbnails.setNrImages('auto')">auto</a></li> - <li><a href="javascript:myLinThumbnails.setNrImages('10')">10</a></li> - <li><a href="javascript:myLinThumbnails.setNrImages('25')">25</a></li> - <li><a href="javascript:myLinThumbnails.setNrImages('50')">50</a></li> - <li><a href="javascript:myLinThumbnails.setNrImages('100')">100</a></li> - - <li><a href="javascript:myLinThumbnails.setNrImages('200')">200</a></li> - <li><a href="javascript:myLinThumbnails.setNrImages('all')">all</a></li> - </ul> - </li> - </ul> - </li> - </ul> - </li> - </ul> - <!-- icons --> - <div> - <a href="javascript:myLinThumbnails.loadSlideshow()"><img src="./slideshow.png" border="0" title="Play Slideshow" /></a> - </div> -</div> - -<div style="clear: both;"></div> -<!-- end menu --> - - -<div id="linDivMainOuter"> - <div style="background: url(./roundcorners.php?color=87CEFA&bgcolor=DDDDDD&size=15&align=tr) no-repeat top right;"> - <img src="./roundcorners.php?color=87CEFA&bgcolor=DDDDDD&size=15&align=tl" alt="" width="15" height="15" /> - </div> - - <div id="linDivMain"> - - <h1 class="linStyle">Willkommen</h1>Hi, this is the home of "The PHP Photo Archive" <a href="http://linpha.sf.net">aka LinPHA</a>.<br /> <br /> - - - <!-- Random Images --> - - <!-- New Images --> - - <!-- Browse by Date --> - - <!-- Albums --> - <hr class="linStyle" /> - - <h2>Test Zeichenkodierung</h2> - \xC4\xD6\xDC \xE4\xF6\xFC \xE9\xE8\xE0 $\xA3\x80@\xA2\xB0\xA7 - - <br /><br /> - - <h1 class="linStyle">Alben</h1> - - <div class="linDivFolder"> - <div style="background: url(./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=tr) no-repeat top right;"> - <img src="./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=tl" alt="" width="15" height="15" /> - </div> - <div class="linDivThumbnail"> - <a href="/linpha2/?&linCat=alb&linId=4"><img class="linImgFolderThumbnail" src="./thumb1.gif" alt="thumbnail_album" /></a> - </div> - <div class="linDivFolderText"> - <h2 class="linStyle"><a href="/linpha2/?&linCat=alb&linId=4">2005.05.14-16 Barcelona</a></h2> - Di 25. Dez 2007 19:08:13<br />0 Fotos<br /> - </div> - <div style="clear: both;"></div> - <div style="background: url(./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=br) no-repeat top right;"> - <img src="./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=bl" alt="" width="15" height="15" /> - </div> - </div> - - <div class="linDivFolder"> - <div style="background: url(./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=tr) no-repeat top right;"> - <img src="./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=tl" alt="" width="15" height="15" /> - </div> - <div class="linDivThumbnail"> - <a href="/linpha2/?&linCat=alb&linId=4"><img class="linImgFolderThumbnail" src="./thumb2.gif" alt="thumbnail_album" /></a> - </div> - <div class="linDivFolderText"> - <h2 class="linStyle"><a href="/linpha2/?&linCat=alb&linId=4">2007.07-14-28 Fuerteventura</a></h2> - Di 25. Dez 2007 19:08:13<br />0 Fotos<br /> - </div> - <div style="clear: both;"></div> - <div style="background: url(./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=br) no-repeat top right;"> - <img src="./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=bl" alt="" width="15" height="15" /> - </div> - </div> - - <div class="linDivFolder"> - <div style="background: url(./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=tr) no-repeat top right;"> - <img src="./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=tl" alt="" width="15" height="15" /> - </div> - <div class="linDivThumbnail"> - <a href="/linpha2/?&linCat=alb&linId=4"><img class="linImgFolderThumbnail" src="./thumb3.gif" alt="thumbnail_album" /></a> - </div> - <div class="linDivFolderText"> - <h2 class="linStyle"><a href="/linpha2/?&linCat=alb&linId=4">2007.12.15-16 Skifahren Samnaun</a></h2> - Di 25. Dez 2007 19:08:13<br />0 Fotos<br /> - </div> - <div style="clear: both;"></div> - <div style="background: url(./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=br) no-repeat top right;"> - <img src="./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=bl" alt="" width="15" height="15" /> - </div> - </div> - - </div> - - <div style="background: url(./roundcorners.php?color=87CEFA&bgcolor=DDDDDD&size=15&align=br) no-repeat top right;"> - <img src="./roundcorners.php?color=87CEFA&bgcolor=DDDDDD&size=15&align=bl" alt="" width="15" height="15" /> - </div> -</div> -</body> -</html> - Copied: trunk/misc/design/2utf8/Linpha2.php (from rev 4814, trunk/misc/design/2utf8/Linpha2.html) =================================================================== --- trunk/misc/design/2utf8/Linpha2.php (rev 0) +++ trunk/misc/design/2utf8/Linpha2.php 2008-01-20 21:57:09 UTC (rev 4818) @@ -0,0 +1,246 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=UTF-8"> + +<title>Linpha 2.0</title> + +<!-- css includes --> + +<link rel='stylesheet' href='./colorsettings.php?bg=87CEFA&bodybg=DDDDDD&font=000000&albumsbg=D5FCF4&links=005388&linkshover=666666&fieldscolor=CCCCCC' type='text/css'> +<link rel='stylesheet' href='./global.css' type='text/css'> +<link rel='stylesheet' href='./home.css' type='text/css'> + + <!--[if IE]> + <style type="text/css" media="screen"> + #menu ul { width: 1em; } /* this will be a *min* width */ + #menu ul ul { width: 12em; } + #menu ul li { float: left; width: 100%; } + body { behavior: url(./csshover.htc); font-size: 100%; } + #menu ul li a { height: 1%; } + #menu a, #menu span { font: bold 0.7em/1.4em arial, helvetica, sans-serif; } + </style> + <![endif]--> + +</head> + + +<body id="linBody"> + +<!-- syslog --> +<div id="linDivSyslog" style="display: none;"> + <div id="linDivSyslogClose"><a href="javascript:myLinGlobal.closeSyslog();">X</a></div> + <b>Linpha Syslog:</b><br /> + <div id="linDivSyslogText"></div> +</div> + + +<!-- title/navigation --> + +<div id="linDivTitle">Linpha 2.0 :: <a href="/linpha2/?&linCat=alb&linId=0">></a> </div> + + +<!-- menu --> +<div id="linDivMenu"> + <ul style="margin-left: 50px;"> + <li><a href="/linpha2/?&linCat=alb">Home</a></li> + </ul> + <ul> + <li><span>Suche </span> + <ul> + <li><a href="/linpha2/?&linCat=search">Extended Search</a></li> + <li> + <div> + <form method="GET" action="/linpha2/?&linCat=search"> + <input type="text" class="linForms" name="search_text" value="" /> + <input type="hidden" name="button[meta][all]" value="1" /> + + <input type="hidden" name="cmd" value="search" /> + <input type="hidden" name="linCat" value="search" /> + <input type="submit" name="submit" class="linButton linInputMenu" value="Suche" /> + </form> + </div> + </li> + </ul> + </li> + </ul> + <ul> + <li> + <span>Login </span> + <ul id="linMenuLogin"> + <li> + <div> + <form action="" method="POST" onsubmit="new Ajax.Updater('linDivMenu', LINPHA_CLIENT + '/?linCat=ajax&reloadmenu&linId='+IdCurrent, {method: 'post', asynchronous:true, parameters:Form.serialize(this), evalScripts:true}); return false;"> + <!-- login infos --> + <br /> + <label for="linFormUsername" style="display: block; float: left; width: 80px;">Username: </label><input style="width: 105px;" class="linForms" type="text" name="username" value="" id="linFormUsername" /><br /> + <label for="linFormPassword" style="display: block; float: left; width: 80px;">Password: </label><input style="width: 105px;" class="linForms" type="password" name="password" value="" id="linFormPassword" /><br /> + <input type="checkbox" name="rememberme" value="true" id="linFormCheckboxRemember" /><label for="linFormCheckboxRemember">Remember Me</label> <input type="hidden" name="cmd" value="login" /> + <input type="submit" name="submit" class="linButton linInputMenu" value="Login" /><br /><br /> + <div style="font-size: smaller; border: 0px;">Um sich anmelden zu können, müssen Cookies aktiviert sein.</div> + </form> + </div> + </li> + </ul> + </li> + </ul> + <ul> + <li><span>More </span> + <ul id="linMenuMore"> + <li><span>Basket </span> + <ul> + <li><a href="/linpha2/?&linCat=alb&linId=4&admin_cmd=basket_add_all">Add All To Basket</a></li> + + <li><a href="/linpha2/?&linCat=alb&linId=4&view=basket">Switch To Basket View</a></li> + <li><a href="/linpha2/?&linCat=basket">Open Basket (0 Images)</a></li> + </ul> + </li> + <li><span>Ansicht </span> + <ul> + <li><span>Sort </span> + + <ul> + <li><a href="/linpha2/?&linCat=alb&linId=4&order_by=Name Asc">Name Asc</a></li> + <li><a href="/linpha2/?&linCat=alb&linId=4&order_by=Name Desc">Name Desc</a></li> + <li><a href="/linpha2/?&linCat=alb&linId=4&order_by=Date Asc">Date Asc</a></li> + <li><a href="/linpha2/?&linCat=alb&linId=4&order_by=Date Desc">Date Desc</a></li> + </ul> + </li> + + <li><span>Ansicht </span> + <ul> + <li><a href="/linpha2/?&linCat=alb&linId=4&view=thumb">Normal</a></li> + <li><a href="/linpha2/?&linCat=alb&linId=4&view=thumbdetail">Detail</a></li> + </ul> + </li> + <li><span>Thumb Size </span> + + <ul> + <li><a href="javascript:myLinThumbnails.setTnSize(50)">50 Pixel</a></li> + <li><a href="javascript:myLinThumbnails.setTnSize(75)">75 Pixel</a></li> + <li><a href="javascript:myLinThumbnails.setTnSize(100)">100 Pixel</a></li> + <li><a href="javascript:myLinThumbnails.setTnSize(150)">150 Pixel</a></li> + <li><a href="javascript:myLinThumbnails.setTnSize(200)">200 Pixel</a></li> + + <li><a href="javascript:myLinThumbnails.setTnSize(250)">250 Pixel</a></li> + <li><a href="javascript:myLinThumbnails.setTnSize(300)">300 Pixel</a></li> + <li><a href="javascript:myLinThumbnails.setTnSize(400)">400 Pixel</a></li> + <li><a href="javascript:myLinThumbnails.setTnSize(500)">500 Pixel</a></li> + </ul> + </li> + <li><span>Thumb Nr </span> + + <ul> + <li><a href="javascript:myLinThumbnails.setNrImages('auto')">auto</a></li> + <li><a href="javascript:myLinThumbnails.setNrImages('10')">10</a></li> + <li><a href="javascript:myLinThumbnails.setNrImages('25')">25</a></li> + <li><a href="javascript:myLinThumbnails.setNrImages('50')">50</a></li> + <li><a href="javascript:myLinThumbnails.setNrImages('100')">100</a></li> + + <li><a href="javascript:myLinThumbnails.setNrImages('200')">200</a></li> + <li><a href="javascript:myLinThumbnails.setNrImages('all')">all</a></li> + </ul> + </li> + </ul> + </li> + </ul> + </li> + </ul> + <!-- icons --> + <div> + <a href="javascript:myLinThumbnails.loadSlideshow()"><img src="./slideshow.png" border="0" title="Play Slideshow" /></a> + </div> +</div> + +<div style="clear: both;"></div> +<!-- end menu --> + + +<div id="linDivMainOuter"> + <div style="background: url(./roundcorners.php?color=87CEFA&bgcolor=DDDDDD&size=15&align=tr) no-repeat top right;"> + <img src="./roundcorners.php?color=87CEFA&bgcolor=DDDDDD&size=15&align=tl" alt="" width="15" height="15" /> + </div> + + <div id="linDivMain"> + + <h1 class="linStyle">Willkommen</h1>Hi, this is the home of "The PHP Photo Archive" <a href="http://linpha.sf.net">aka LinPHA</a>.<br /> <br /> + + + <!-- Random Images --> + + <!-- New Images --> + + <!-- Browse by Date --> + + <!-- Albums --> + <hr class="linStyle" /> + + <h2>Test Zeichenkodierung</h2> + \xC4\xD6\xDC \xE4\xF6\xFC \xE9\xE8\xE0 $\xA3\x80@\xA2\xB0\xA7 + + <br /><br /> + + <h1 class="linStyle">Alben</h1> + + <div class="linDivFolder"> + <div style="background: url(./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=tr) no-repeat top right;"> + <img src="./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=tl" alt="" width="15" height="15" /> + </div> + <div class="linDivThumbnail"> + <a href="/linpha2/?&linCat=alb&linId=4"><img class="linImgFolderThumbnail" src="./thumb1.gif" alt="thumbnail_album" /></a> + </div> + <div class="linDivFolderText"> + <h2 class="linStyle"><a href="/linpha2/?&linCat=alb&linId=4">2005.05.14-16 Barcelona</a></h2> + Di 25. Dez 2007 19:08:13<br />0 Fotos<br /> + </div> + <div style="clear: both;"></div> + <div style="background: url(./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=br) no-repeat top right;"> + <img src="./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=bl" alt="" width="15" height="15" /> + </div> + </div> + + <div class="linDivFolder"> + <div style="background: url(./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=tr) no-repeat top right;"> + <img src="./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=tl" alt="" width="15" height="15" /> + </div> + <div class="linDivThumbnail"> + <a href="/linpha2/?&linCat=alb&linId=4"><img class="linImgFolderThumbnail" src="./thumb2.gif" alt="thumbnail_album" /></a> + </div> + <div class="linDivFolderText"> + <h2 class="linStyle"><a href="/linpha2/?&linCat=alb&linId=4">2007.07-14-28 Fuerteventura</a></h2> + Di 25. Dez 2007 19:08:13<br />0 Fotos<br /> + </div> + <div style="clear: both;"></div> + <div style="background: url(./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=br) no-repeat top right;"> + <img src="./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=bl" alt="" width="15" height="15" /> + </div> + </div> + + <div class="linDivFolder"> + <div style="background: url(./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=tr) no-repeat top right;"> + <img src="./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=tl" alt="" width="15" height="15" /> + </div> + <div class="linDivThumbnail"> + <a href="/linpha2/?&linCat=alb&linId=4"><img class="linImgFolderThumbnail" src="./thumb3.gif" alt="thumbnail_album" /></a> + </div> + <div class="linDivFolderText"> + <h2 class="linStyle"><a href="/linpha2/?&linCat=alb&linId=4">2007.12.15-16 Skifahren Samnaun</a></h2> + Di 25. Dez 2007 19:08:13<br />0 Fotos<br /> + </div> + <div style="clear: both;"></div> + <div style="background: url(./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=br) no-repeat top right;"> + <img src="./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=bl" alt="" width="15" height="15" /> + </div> + </div> + + </div> + + <div style="background: url(./roundcorners.php?color=87CEFA&bgcolor=DDDDDD&size=15&align=br) no-repeat top right;"> + <img src="./roundcorners.php?color=87CEFA&bgcolor=DDDDDD&size=15&align=bl" alt="" width="15" height="15" /> + </div> +</div> +</body> +</html> + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fan...@us...> - 2008-01-20 21:55:00
|
Revision: 4817 http://linpha.svn.sourceforge.net/linpha/?rev=4817&view=rev Author: fangehrn Date: 2008-01-20 13:54:49 -0800 (Sun, 20 Jan 2008) Log Message: ----------- Modified Paths: -------------- trunk/misc/.project Added Paths: ----------- trunk/misc/.cache/ Modified: trunk/misc/.project =================================================================== --- trunk/misc/.project 2008-01-20 21:53:45 UTC (rev 4816) +++ trunk/misc/.project 2008-01-20 21:54:49 UTC (rev 4817) @@ -6,12 +6,17 @@ </projects> <buildSpec> <buildCommand> - <name>net.sourceforge.phpeclipse.parserbuilder</name> + <name>org.eclipse.wst.validation.validationbuilder</name> <arguments> </arguments> </buildCommand> + <buildCommand> + <name>org.eclipse.php.core.PhpIncrementalProjectBuilder</name> + <arguments> + </arguments> + </buildCommand> </buildSpec> <natures> - <nature>net.sourceforge.phpeclipse.phpnature</nature> + <nature>org.eclipse.php.core.PHPNature</nature> </natures> </projectDescription> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fan...@us...> - 2008-01-20 21:53:48
|
Revision: 4816 http://linpha.svn.sourceforge.net/linpha/?rev=4816&view=rev Author: fangehrn Date: 2008-01-20 13:53:45 -0800 (Sun, 20 Jan 2008) Log Message: ----------- updated Modified Paths: -------------- trunk/linpha2/docs/dev/TODO.txt Modified: trunk/linpha2/docs/dev/TODO.txt =================================================================== --- trunk/linpha2/docs/dev/TODO.txt 2008-01-20 21:53:07 UTC (rev 4815) +++ trunk/linpha2/docs/dev/TODO.txt 2008-01-20 21:53:45 UTC (rev 4816) @@ -48,6 +48,15 @@ - Common Tasks - Switch to UTF8 as default + Tests: + file headers, content: x + SVN commit/update: x + + data from uft8 mysql table x + data from non utf8 mysql table x + + date from other file (utf8/non utf8) x + - Use Effekts is sometimes hardcoded, make use of config setting sys_style_image_useeffects in all places where used This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fan...@us...> - 2008-01-20 21:53:19
|
Revision: 4815 http://linpha.svn.sourceforge.net/linpha/?rev=4815&view=rev Author: fangehrn Date: 2008-01-20 13:53:07 -0800 (Sun, 20 Jan 2008) Log Message: ----------- Modified Paths: -------------- trunk/misc/.settings/org.eclipse.core.resources.prefs Added Paths: ----------- trunk/misc/design/3utf8mysql/ trunk/misc/design/3utf8mysql/index.php trunk/misc/design/4utf8file/ trunk/misc/design/4utf8file/index_ISO-8859-15.php trunk/misc/design/4utf8file/index_UTF-8.php trunk/misc/design/4utf8file/langISO-8859-15.php trunk/misc/design/4utf8file/langUTF-8.php Modified: trunk/misc/.settings/org.eclipse.core.resources.prefs =================================================================== --- trunk/misc/.settings/org.eclipse.core.resources.prefs 2008-01-20 21:05:56 UTC (rev 4814) +++ trunk/misc/.settings/org.eclipse.core.resources.prefs 2008-01-20 21:53:07 UTC (rev 4815) @@ -1,4 +1,5 @@ -#Sun Jan 20 22:02:04 CET 2008 +#Sun Jan 20 22:42:44 CET 2008 eclipse.preferences.version=1 encoding//design/2utf8/index2.php=ISO-8859-15 encoding//design/2utf8/index3.php=ISO-8859-15 +encoding//design/4utf8file/langISO-8859-15.php=ISO-8859-15 Added: trunk/misc/design/3utf8mysql/index.php =================================================================== --- trunk/misc/design/3utf8mysql/index.php (rev 0) +++ trunk/misc/design/3utf8mysql/index.php 2008-01-20 21:53:07 UTC (rev 4815) @@ -0,0 +1,82 @@ +<?php +header('content-type: text/html; charset: utf-8'); +/*echo '<?xml version="1.0" encoding="utf-8"?>'."\n"; not necessary, IE has problems with this*/ +?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=UTF-8"> + +<title>Linpha 2.0</title> + +</head> + + +<body> + +<h2>Test Zeichenkodierung Header UTF8, Datei UTF8</h2> +abcd ABCD ÄÖÜ äöü éèà $£€@¢°§ Věruš +<br /> +<?php echo utf8_encode("abcd ABCD ÄÖÜ äöü éèà \$£€@¢°§ Věruš"); ?> +<br /> +<br /> +<h2>DB</h2> + +<?php +require_once('../../../linpha2/lib/adodb/adodb.inc.php'); + +$db = ADONewConnection("mysql"); +$db->Connect("localhost", "root", "test", "testutf8"); + +echo 'utf8: '.$db->GetOne("SELECT name FROM tabutf8"); +echo '<br />'; +echo 'latin1: '.$db->GetOne("SELECT name FROM tablatin1"); + +echo '<br /><br /><br />'; +$query = $db->Execute("SHOW VARIABLES"); +while($data = $query->FetchRow()) +{ + echo $data['Variable_name'].': '.$data['Value'].'<br />'; +} + +/** + * http://drupal.org/node/40515 + * http://gallery.menalto.com/node/36886 + * + * http://phplens.com/adodb/code.initialization.html + * AdoDB: var $charSet=false; /// character set to use - only for interbase, postgres and oci8 + * + mysql_query('SET NAMES "UTF8"'); + mysql_query("SET collation_connection='utf8_general_ci'"); + mysql_query("SET collation_server='utf8_general_ci'"); + mysql_query("SET character_set_client='utf8'"); + mysql_query("SET character_set_connection='utf8'"); + mysql_query("SET character_set_results='utf8'"); + mysql_query("SET character_set_server='utf8'"); +*/ +$db->Execute('SET NAMES "UTF8"'); +$db->Execute("SET collation_connection='utf8_general_ci'"); +$db->Execute("SET collation_server='utf8_general_ci'"); +$db->Execute("SET character_set_client='utf8'"); +$db->Execute("SET character_set_connection='utf8'"); +$db->Execute("SET character_set_results='utf8'"); +$db->Execute("SET character_set_server='utf8'"); + +echo '<br /><br /><br />'; +$query = $db->Execute("SHOW VARIABLES"); +while($data = $query->FetchRow()) +{ + echo $data['Variable_name'].': '.$data['Value'].'<br />'; +} + +echo '<br /><br /><br />'; + +echo 'utf8: '.$db->GetOne("SELECT name FROM tabutf8"); +echo '<br />'; +echo 'latin1: '.$db->GetOne("SELECT name FROM tablatin1"); +?> + +</body> +</html> + Added: trunk/misc/design/4utf8file/index_ISO-8859-15.php =================================================================== --- trunk/misc/design/4utf8file/index_ISO-8859-15.php (rev 0) +++ trunk/misc/design/4utf8file/index_ISO-8859-15.php 2008-01-20 21:53:07 UTC (rev 4815) @@ -0,0 +1,30 @@ +<?php +header('content-type: text/html; charset: iso-8859-15'); +/*echo '<?xml version="1.0" encoding="utf-8"?>'."\n"; not necessary, IE has problems with this*/ +?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-15"> + +<title>Linpha 2.0</title> + +</head> + + +<body> + +<h2>File</h2> + +<?php +include("langUTF-8.php"); +echo 'UTF-8: '.$strLang.'<br />'; + +include("langISO-8859-15.php"); +echo 'ISO-8859-15: '.$strLang.'<br />'; +?> + +</body> +</html> + Added: trunk/misc/design/4utf8file/index_UTF-8.php =================================================================== --- trunk/misc/design/4utf8file/index_UTF-8.php (rev 0) +++ trunk/misc/design/4utf8file/index_UTF-8.php 2008-01-20 21:53:07 UTC (rev 4815) @@ -0,0 +1,30 @@ +<?php +header('content-type: text/html; charset: utf-8'); +/*echo '<?xml version="1.0" encoding="utf-8"?>'."\n"; not necessary, IE has problems with this*/ +?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=UTF-8"> + +<title>Linpha 2.0</title> + +</head> + + +<body> + +<h2>File</h2> + +<?php +include("langUTF-8.php"); +echo 'UTF-8: '.$strLang.'<br />'; + +include("langISO-8859-15.php"); +echo 'ISO-8859-15: '.$strLang.'<br />'; +?> + +</body> +</html> + Added: trunk/misc/design/4utf8file/langISO-8859-15.php =================================================================== --- trunk/misc/design/4utf8file/langISO-8859-15.php (rev 0) +++ trunk/misc/design/4utf8file/langISO-8859-15.php 2008-01-20 21:53:07 UTC (rev 4815) @@ -0,0 +1,3 @@ +<?php +$strLang = "abcd ABCD \xC4\xD6\xDC \xE4\xF6\xFC \xE9\xE8\xE0 \$\xA3\xA4@\xA2\xB0\xA7 V?ru\xA8"; +?> \ No newline at end of file Added: trunk/misc/design/4utf8file/langUTF-8.php =================================================================== --- trunk/misc/design/4utf8file/langUTF-8.php (rev 0) +++ trunk/misc/design/4utf8file/langUTF-8.php 2008-01-20 21:53:07 UTC (rev 4815) @@ -0,0 +1,3 @@ +<?php +$strLang = "abcd ABCD ÄÖÜ äöü éèà \$£€@¢°§ Věruš"; +?> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fan...@us...> - 2008-01-20 21:06:16
|
Revision: 4814 http://linpha.svn.sourceforge.net/linpha/?rev=4814&view=rev Author: fangehrn Date: 2008-01-20 13:05:56 -0800 (Sun, 20 Jan 2008) Log Message: ----------- Added Paths: ----------- trunk/misc/.settings/ trunk/misc/.settings/org.eclipse.core.resources.prefs trunk/misc/design/2utf8/ trunk/misc/design/2utf8/Linpha2.html trunk/misc/design/2utf8/colorsettings.php trunk/misc/design/2utf8/csshover.htc trunk/misc/design/2utf8/expand.gif trunk/misc/design/2utf8/func.watermark.php trunk/misc/design/2utf8/global.css trunk/misc/design/2utf8/home.css trunk/misc/design/2utf8/index1.php trunk/misc/design/2utf8/index2.php trunk/misc/design/2utf8/index3.php trunk/misc/design/2utf8/roundcorners.php trunk/misc/design/2utf8/test ISO-8859-1.html trunk/misc/design/2utf8/test ISO-8859-15.html trunk/misc/design/2utf8/test ISO-8859-2.html trunk/misc/design/2utf8/test UTF-8.html trunk/misc/design/2utf8/test Windows 1252.html Removed Paths: ------------- trunk/misc/design/2strictutf8/ trunk/misc/design/2utf8/Linpha2.html trunk/misc/design/2utf8/colorsettings.php trunk/misc/design/2utf8/csshover.htc trunk/misc/design/2utf8/expand.gif trunk/misc/design/2utf8/func.watermark.php trunk/misc/design/2utf8/global.css trunk/misc/design/2utf8/home.css trunk/misc/design/2utf8/index1.php trunk/misc/design/2utf8/index2.php trunk/misc/design/2utf8/index3.php trunk/misc/design/2utf8/roundcorners.php Added: trunk/misc/.settings/org.eclipse.core.resources.prefs =================================================================== --- trunk/misc/.settings/org.eclipse.core.resources.prefs (rev 0) +++ trunk/misc/.settings/org.eclipse.core.resources.prefs 2008-01-20 21:05:56 UTC (rev 4814) @@ -0,0 +1,4 @@ +#Sun Jan 20 22:02:04 CET 2008 +eclipse.preferences.version=1 +encoding//design/2utf8/index2.php=ISO-8859-15 +encoding//design/2utf8/index3.php=ISO-8859-15 Copied: trunk/misc/design/2utf8 (from rev 4812, trunk/misc/design/2strictutf8) Deleted: trunk/misc/design/2utf8/Linpha2.html =================================================================== --- trunk/misc/design/2strictutf8/Linpha2.html 2008-01-20 20:06:38 UTC (rev 4812) +++ trunk/misc/design/2utf8/Linpha2.html 2008-01-20 21:05:56 UTC (rev 4814) @@ -1,246 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta http-equiv="content-type" content="text/html; charset=UTF-8"> - -<title>Linpha 2.0</title> - -<!-- css includes --> - -<link rel='stylesheet' href='./colorsettings.php?bg=87CEFA&bodybg=DDDDDD&font=000000&albumsbg=D5FCF4&links=005388&linkshover=666666&fieldscolor=CCCCCC' type='text/css'> -<link rel='stylesheet' href='./global.css' type='text/css'> -<link rel='stylesheet' href='./home.css' type='text/css'> - - <!--[if IE]> - <style type="text/css" media="screen"> - #menu ul { width: 1em; } /* this will be a *min* width */ - #menu ul ul { width: 12em; } - #menu ul li { float: left; width: 100%; } - body { behavior: url(./csshover.htc); font-size: 100%; } - #menu ul li a { height: 1%; } - #menu a, #menu span { font: bold 0.7em/1.4em arial, helvetica, sans-serif; } - </style> - <![endif]--> - -</head> - - -<body id="linBody"> - -<!-- syslog --> -<div id="linDivSyslog" style="display: none;"> - <div id="linDivSyslogClose"><a href="javascript:myLinGlobal.closeSyslog();">X</a></div> - <b>Linpha Syslog:</b><br /> - <div id="linDivSyslogText"></div> -</div> - - -<!-- title/navigation --> - -<div id="linDivTitle">Linpha 2.0 :: <a href="/linpha2/?&linCat=alb&linId=0">></a> </div> - - -<!-- menu --> -<div id="linDivMenu"> - <ul style="margin-left: 50px;"> - <li><a href="/linpha2/?&linCat=alb">Home</a></li> - </ul> - <ul> - <li><span>Suche </span> - <ul> - <li><a href="/linpha2/?&linCat=search">Extended Search</a></li> - <li> - <div> - <form method="GET" action="/linpha2/?&linCat=search"> - <input type="text" class="linForms" name="search_text" value="" /> - <input type="hidden" name="button[meta][all]" value="1" /> - - <input type="hidden" name="cmd" value="search" /> - <input type="hidden" name="linCat" value="search" /> - <input type="submit" name="submit" class="linButton linInputMenu" value="Suche" /> - </form> - </div> - </li> - </ul> - </li> - </ul> - <ul> - <li> - <span>Login </span> - <ul id="linMenuLogin"> - <li> - <div> - <form action="" method="POST" onsubmit="new Ajax.Updater('linDivMenu', LINPHA_CLIENT + '/?linCat=ajax&reloadmenu&linId='+IdCurrent, {method: 'post', asynchronous:true, parameters:Form.serialize(this), evalScripts:true}); return false;"> - <!-- login infos --> - <br /> - <label for="linFormUsername" style="display: block; float: left; width: 80px;">Username: </label><input style="width: 105px;" class="linForms" type="text" name="username" value="" id="linFormUsername" /><br /> - <label for="linFormPassword" style="display: block; float: left; width: 80px;">Password: </label><input style="width: 105px;" class="linForms" type="password" name="password" value="" id="linFormPassword" /><br /> - <input type="checkbox" name="rememberme" value="true" id="linFormCheckboxRemember" /><label for="linFormCheckboxRemember">Remember Me</label> <input type="hidden" name="cmd" value="login" /> - <input type="submit" name="submit" class="linButton linInputMenu" value="Login" /><br /><br /> - <div style="font-size: smaller; border: 0px;">Um sich anmelden zu können, müssen Cookies aktiviert sein.</div> - </form> - </div> - </li> - </ul> - </li> - </ul> - <ul> - <li><span>More </span> - <ul id="linMenuMore"> - <li><span>Basket </span> - <ul> - <li><a href="/linpha2/?&linCat=alb&linId=4&admin_cmd=basket_add_all">Add All To Basket</a></li> - - <li><a href="/linpha2/?&linCat=alb&linId=4&view=basket">Switch To Basket View</a></li> - <li><a href="/linpha2/?&linCat=basket">Open Basket (0 Images)</a></li> - </ul> - </li> - <li><span>Ansicht </span> - <ul> - <li><span>Sort </span> - - <ul> - <li><a href="/linpha2/?&linCat=alb&linId=4&order_by=Name Asc">Name Asc</a></li> - <li><a href="/linpha2/?&linCat=alb&linId=4&order_by=Name Desc">Name Desc</a></li> - <li><a href="/linpha2/?&linCat=alb&linId=4&order_by=Date Asc">Date Asc</a></li> - <li><a href="/linpha2/?&linCat=alb&linId=4&order_by=Date Desc">Date Desc</a></li> - </ul> - </li> - - <li><span>Ansicht </span> - <ul> - <li><a href="/linpha2/?&linCat=alb&linId=4&view=thumb">Normal</a></li> - <li><a href="/linpha2/?&linCat=alb&linId=4&view=thumbdetail">Detail</a></li> - </ul> - </li> - <li><span>Thumb Size </span> - - <ul> - <li><a href="javascript:myLinThumbnails.setTnSize(50)">50 Pixel</a></li> - <li><a href="javascript:myLinThumbnails.setTnSize(75)">75 Pixel</a></li> - <li><a href="javascript:myLinThumbnails.setTnSize(100)">100 Pixel</a></li> - <li><a href="javascript:myLinThumbnails.setTnSize(150)">150 Pixel</a></li> - <li><a href="javascript:myLinThumbnails.setTnSize(200)">200 Pixel</a></li> - - <li><a href="javascript:myLinThumbnails.setTnSize(250)">250 Pixel</a></li> - <li><a href="javascript:myLinThumbnails.setTnSize(300)">300 Pixel</a></li> - <li><a href="javascript:myLinThumbnails.setTnSize(400)">400 Pixel</a></li> - <li><a href="javascript:myLinThumbnails.setTnSize(500)">500 Pixel</a></li> - </ul> - </li> - <li><span>Thumb Nr </span> - - <ul> - <li><a href="javascript:myLinThumbnails.setNrImages('auto')">auto</a></li> - <li><a href="javascript:myLinThumbnails.setNrImages('10')">10</a></li> - <li><a href="javascript:myLinThumbnails.setNrImages('25')">25</a></li> - <li><a href="javascript:myLinThumbnails.setNrImages('50')">50</a></li> - <li><a href="javascript:myLinThumbnails.setNrImages('100')">100</a></li> - - <li><a href="javascript:myLinThumbnails.setNrImages('200')">200</a></li> - <li><a href="javascript:myLinThumbnails.setNrImages('all')">all</a></li> - </ul> - </li> - </ul> - </li> - </ul> - </li> - </ul> - <!-- icons --> - <div> - <a href="javascript:myLinThumbnails.loadSlideshow()"><img src="./slideshow.png" border="0" title="Play Slideshow" /></a> - </div> -</div> - -<div style="clear: both;"></div> -<!-- end menu --> - - -<div id="linDivMainOuter"> - <div style="background: url(./roundcorners.php?color=87CEFA&bgcolor=DDDDDD&size=15&align=tr) no-repeat top right;"> - <img src="./roundcorners.php?color=87CEFA&bgcolor=DDDDDD&size=15&align=tl" alt="" width="15" height="15" /> - </div> - - <div id="linDivMain"> - - <h1 class="linStyle">Willkommen</h1>Hi, this is the home of "The PHP Photo Archive" <a href="http://linpha.sf.net">aka LinPHA</a>.<br /> <br /> - - - <!-- Random Images --> - - <!-- New Images --> - - <!-- Browse by Date --> - - <!-- Albums --> - <hr class="linStyle" /> - - <h2>Test Zeichenkodierung</h2> - \xC4\xD6\xDC \xE4\xF6\xFC \xE9\xE8\xE0 $\xA3\x80@\xA2\xB0\xA7 - - <br /><br /> - - <h1 class="linStyle">Alben</h1> - - <div class="linDivFolder"> - <div style="background: url(./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=tr) no-repeat top right;"> - <img src="./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=tl" alt="" width="15" height="15" /> - </div> - <div class="linDivThumbnail"> - <a href="/linpha2/?&linCat=alb&linId=4"><img class="linImgFolderThumbnail" src="./thumb1.gif" alt="thumbnail_album" /></a> - </div> - <div class="linDivFolderText"> - <h2 class="linStyle"><a href="/linpha2/?&linCat=alb&linId=4">2005.05.14-16 Barcelona</a></h2> - Di 25. Dez 2007 19:08:13<br />0 Fotos<br /> - </div> - <div style="clear: both;"></div> - <div style="background: url(./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=br) no-repeat top right;"> - <img src="./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=bl" alt="" width="15" height="15" /> - </div> - </div> - - <div class="linDivFolder"> - <div style="background: url(./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=tr) no-repeat top right;"> - <img src="./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=tl" alt="" width="15" height="15" /> - </div> - <div class="linDivThumbnail"> - <a href="/linpha2/?&linCat=alb&linId=4"><img class="linImgFolderThumbnail" src="./thumb2.gif" alt="thumbnail_album" /></a> - </div> - <div class="linDivFolderText"> - <h2 class="linStyle"><a href="/linpha2/?&linCat=alb&linId=4">2007.07-14-28 Fuerteventura</a></h2> - Di 25. Dez 2007 19:08:13<br />0 Fotos<br /> - </div> - <div style="clear: both;"></div> - <div style="background: url(./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=br) no-repeat top right;"> - <img src="./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=bl" alt="" width="15" height="15" /> - </div> - </div> - - <div class="linDivFolder"> - <div style="background: url(./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=tr) no-repeat top right;"> - <img src="./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=tl" alt="" width="15" height="15" /> - </div> - <div class="linDivThumbnail"> - <a href="/linpha2/?&linCat=alb&linId=4"><img class="linImgFolderThumbnail" src="./thumb3.gif" alt="thumbnail_album" /></a> - </div> - <div class="linDivFolderText"> - <h2 class="linStyle"><a href="/linpha2/?&linCat=alb&linId=4">2007.12.15-16 Skifahren Samnaun</a></h2> - Di 25. Dez 2007 19:08:13<br />0 Fotos<br /> - </div> - <div style="clear: both;"></div> - <div style="background: url(./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=br) no-repeat top right;"> - <img src="./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=bl" alt="" width="15" height="15" /> - </div> - </div> - - </div> - - <div style="background: url(./roundcorners.php?color=87CEFA&bgcolor=DDDDDD&size=15&align=br) no-repeat top right;"> - <img src="./roundcorners.php?color=87CEFA&bgcolor=DDDDDD&size=15&align=bl" alt="" width="15" height="15" /> - </div> -</div> -</body> -</html> - Copied: trunk/misc/design/2utf8/Linpha2.html (from rev 4813, trunk/misc/design/2strictutf8/Linpha2.html) =================================================================== --- trunk/misc/design/2utf8/Linpha2.html (rev 0) +++ trunk/misc/design/2utf8/Linpha2.html 2008-01-20 21:05:56 UTC (rev 4814) @@ -0,0 +1,246 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=UTF-8"> + +<title>Linpha 2.0</title> + +<!-- css includes --> + +<link rel='stylesheet' href='./colorsettings.php?bg=87CEFA&bodybg=DDDDDD&font=000000&albumsbg=D5FCF4&links=005388&linkshover=666666&fieldscolor=CCCCCC' type='text/css'> +<link rel='stylesheet' href='./global.css' type='text/css'> +<link rel='stylesheet' href='./home.css' type='text/css'> + + <!--[if IE]> + <style type="text/css" media="screen"> + #menu ul { width: 1em; } /* this will be a *min* width */ + #menu ul ul { width: 12em; } + #menu ul li { float: left; width: 100%; } + body { behavior: url(./csshover.htc); font-size: 100%; } + #menu ul li a { height: 1%; } + #menu a, #menu span { font: bold 0.7em/1.4em arial, helvetica, sans-serif; } + </style> + <![endif]--> + +</head> + + +<body id="linBody"> + +<!-- syslog --> +<div id="linDivSyslog" style="display: none;"> + <div id="linDivSyslogClose"><a href="javascript:myLinGlobal.closeSyslog();">X</a></div> + <b>Linpha Syslog:</b><br /> + <div id="linDivSyslogText"></div> +</div> + + +<!-- title/navigation --> + +<div id="linDivTitle">Linpha 2.0 :: <a href="/linpha2/?&linCat=alb&linId=0">></a> </div> + + +<!-- menu --> +<div id="linDivMenu"> + <ul style="margin-left: 50px;"> + <li><a href="/linpha2/?&linCat=alb">Home</a></li> + </ul> + <ul> + <li><span>Suche </span> + <ul> + <li><a href="/linpha2/?&linCat=search">Extended Search</a></li> + <li> + <div> + <form method="GET" action="/linpha2/?&linCat=search"> + <input type="text" class="linForms" name="search_text" value="" /> + <input type="hidden" name="button[meta][all]" value="1" /> + + <input type="hidden" name="cmd" value="search" /> + <input type="hidden" name="linCat" value="search" /> + <input type="submit" name="submit" class="linButton linInputMenu" value="Suche" /> + </form> + </div> + </li> + </ul> + </li> + </ul> + <ul> + <li> + <span>Login </span> + <ul id="linMenuLogin"> + <li> + <div> + <form action="" method="POST" onsubmit="new Ajax.Updater('linDivMenu', LINPHA_CLIENT + '/?linCat=ajax&reloadmenu&linId='+IdCurrent, {method: 'post', asynchronous:true, parameters:Form.serialize(this), evalScripts:true}); return false;"> + <!-- login infos --> + <br /> + <label for="linFormUsername" style="display: block; float: left; width: 80px;">Username: </label><input style="width: 105px;" class="linForms" type="text" name="username" value="" id="linFormUsername" /><br /> + <label for="linFormPassword" style="display: block; float: left; width: 80px;">Password: </label><input style="width: 105px;" class="linForms" type="password" name="password" value="" id="linFormPassword" /><br /> + <input type="checkbox" name="rememberme" value="true" id="linFormCheckboxRemember" /><label for="linFormCheckboxRemember">Remember Me</label> <input type="hidden" name="cmd" value="login" /> + <input type="submit" name="submit" class="linButton linInputMenu" value="Login" /><br /><br /> + <div style="font-size: smaller; border: 0px;">Um sich anmelden zu können, müssen Cookies aktiviert sein.</div> + </form> + </div> + </li> + </ul> + </li> + </ul> + <ul> + <li><span>More </span> + <ul id="linMenuMore"> + <li><span>Basket </span> + <ul> + <li><a href="/linpha2/?&linCat=alb&linId=4&admin_cmd=basket_add_all">Add All To Basket</a></li> + + <li><a href="/linpha2/?&linCat=alb&linId=4&view=basket">Switch To Basket View</a></li> + <li><a href="/linpha2/?&linCat=basket">Open Basket (0 Images)</a></li> + </ul> + </li> + <li><span>Ansicht </span> + <ul> + <li><span>Sort </span> + + <ul> + <li><a href="/linpha2/?&linCat=alb&linId=4&order_by=Name Asc">Name Asc</a></li> + <li><a href="/linpha2/?&linCat=alb&linId=4&order_by=Name Desc">Name Desc</a></li> + <li><a href="/linpha2/?&linCat=alb&linId=4&order_by=Date Asc">Date Asc</a></li> + <li><a href="/linpha2/?&linCat=alb&linId=4&order_by=Date Desc">Date Desc</a></li> + </ul> + </li> + + <li><span>Ansicht </span> + <ul> + <li><a href="/linpha2/?&linCat=alb&linId=4&view=thumb">Normal</a></li> + <li><a href="/linpha2/?&linCat=alb&linId=4&view=thumbdetail">Detail</a></li> + </ul> + </li> + <li><span>Thumb Size </span> + + <ul> + <li><a href="javascript:myLinThumbnails.setTnSize(50)">50 Pixel</a></li> + <li><a href="javascript:myLinThumbnails.setTnSize(75)">75 Pixel</a></li> + <li><a href="javascript:myLinThumbnails.setTnSize(100)">100 Pixel</a></li> + <li><a href="javascript:myLinThumbnails.setTnSize(150)">150 Pixel</a></li> + <li><a href="javascript:myLinThumbnails.setTnSize(200)">200 Pixel</a></li> + + <li><a href="javascript:myLinThumbnails.setTnSize(250)">250 Pixel</a></li> + <li><a href="javascript:myLinThumbnails.setTnSize(300)">300 Pixel</a></li> + <li><a href="javascript:myLinThumbnails.setTnSize(400)">400 Pixel</a></li> + <li><a href="javascript:myLinThumbnails.setTnSize(500)">500 Pixel</a></li> + </ul> + </li> + <li><span>Thumb Nr </span> + + <ul> + <li><a href="javascript:myLinThumbnails.setNrImages('auto')">auto</a></li> + <li><a href="javascript:myLinThumbnails.setNrImages('10')">10</a></li> + <li><a href="javascript:myLinThumbnails.setNrImages('25')">25</a></li> + <li><a href="javascript:myLinThumbnails.setNrImages('50')">50</a></li> + <li><a href="javascript:myLinThumbnails.setNrImages('100')">100</a></li> + + <li><a href="javascript:myLinThumbnails.setNrImages('200')">200</a></li> + <li><a href="javascript:myLinThumbnails.setNrImages('all')">all</a></li> + </ul> + </li> + </ul> + </li> + </ul> + </li> + </ul> + <!-- icons --> + <div> + <a href="javascript:myLinThumbnails.loadSlideshow()"><img src="./slideshow.png" border="0" title="Play Slideshow" /></a> + </div> +</div> + +<div style="clear: both;"></div> +<!-- end menu --> + + +<div id="linDivMainOuter"> + <div style="background: url(./roundcorners.php?color=87CEFA&bgcolor=DDDDDD&size=15&align=tr) no-repeat top right;"> + <img src="./roundcorners.php?color=87CEFA&bgcolor=DDDDDD&size=15&align=tl" alt="" width="15" height="15" /> + </div> + + <div id="linDivMain"> + + <h1 class="linStyle">Willkommen</h1>Hi, this is the home of "The PHP Photo Archive" <a href="http://linpha.sf.net">aka LinPHA</a>.<br /> <br /> + + + <!-- Random Images --> + + <!-- New Images --> + + <!-- Browse by Date --> + + <!-- Albums --> + <hr class="linStyle" /> + + <h2>Test Zeichenkodierung</h2> + \xC4\xD6\xDC \xE4\xF6\xFC \xE9\xE8\xE0 $\xA3\x80@\xA2\xB0\xA7 + + <br /><br /> + + <h1 class="linStyle">Alben</h1> + + <div class="linDivFolder"> + <div style="background: url(./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=tr) no-repeat top right;"> + <img src="./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=tl" alt="" width="15" height="15" /> + </div> + <div class="linDivThumbnail"> + <a href="/linpha2/?&linCat=alb&linId=4"><img class="linImgFolderThumbnail" src="./thumb1.gif" alt="thumbnail_album" /></a> + </div> + <div class="linDivFolderText"> + <h2 class="linStyle"><a href="/linpha2/?&linCat=alb&linId=4">2005.05.14-16 Barcelona</a></h2> + Di 25. Dez 2007 19:08:13<br />0 Fotos<br /> + </div> + <div style="clear: both;"></div> + <div style="background: url(./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=br) no-repeat top right;"> + <img src="./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=bl" alt="" width="15" height="15" /> + </div> + </div> + + <div class="linDivFolder"> + <div style="background: url(./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=tr) no-repeat top right;"> + <img src="./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=tl" alt="" width="15" height="15" /> + </div> + <div class="linDivThumbnail"> + <a href="/linpha2/?&linCat=alb&linId=4"><img class="linImgFolderThumbnail" src="./thumb2.gif" alt="thumbnail_album" /></a> + </div> + <div class="linDivFolderText"> + <h2 class="linStyle"><a href="/linpha2/?&linCat=alb&linId=4">2007.07-14-28 Fuerteventura</a></h2> + Di 25. Dez 2007 19:08:13<br />0 Fotos<br /> + </div> + <div style="clear: both;"></div> + <div style="background: url(./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=br) no-repeat top right;"> + <img src="./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=bl" alt="" width="15" height="15" /> + </div> + </div> + + <div class="linDivFolder"> + <div style="background: url(./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=tr) no-repeat top right;"> + <img src="./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=tl" alt="" width="15" height="15" /> + </div> + <div class="linDivThumbnail"> + <a href="/linpha2/?&linCat=alb&linId=4"><img class="linImgFolderThumbnail" src="./thumb3.gif" alt="thumbnail_album" /></a> + </div> + <div class="linDivFolderText"> + <h2 class="linStyle"><a href="/linpha2/?&linCat=alb&linId=4">2007.12.15-16 Skifahren Samnaun</a></h2> + Di 25. Dez 2007 19:08:13<br />0 Fotos<br /> + </div> + <div style="clear: both;"></div> + <div style="background: url(./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=br) no-repeat top right;"> + <img src="./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=bl" alt="" width="15" height="15" /> + </div> + </div> + + </div> + + <div style="background: url(./roundcorners.php?color=87CEFA&bgcolor=DDDDDD&size=15&align=br) no-repeat top right;"> + <img src="./roundcorners.php?color=87CEFA&bgcolor=DDDDDD&size=15&align=bl" alt="" width="15" height="15" /> + </div> +</div> +</body> +</html> + Deleted: trunk/misc/design/2utf8/colorsettings.php =================================================================== --- trunk/misc/design/2strictutf8/colorsettings.php 2008-01-20 20:06:38 UTC (rev 4812) +++ trunk/misc/design/2utf8/colorsettings.php 2008-01-20 21:05:56 UTC (rev 4814) @@ -1,70 +0,0 @@ -<?php -header("Content-Type: text/css"); - -/** - * force caching in browser - * works in firefox and internet explorer - */ -Header("Last-Modified: " . gmdate("D, d M Y H:i:s",mktime (0,0,0,1,1,2000)) . " GMT"); // Date in the past -Header("Expires: Mon, 26 Jul 2100 05:00:00 GMT"); // In other words... never expire the image -Header("Cache-Control: max-age=10000000, s-maxage=1000000, proxy-revalidate, must-revalidate"); - - -/* - * Created on 26.10.2006 - * - * To change the template for this generated file go to - * Window - Preferences - PHPeclipse - PHP - Code Templates - */ -?> - -/** - * background color - * #linDivThumbNavi amd #divSlideshowControlsInner used in view_img.html.php - */ - body { - background-color: #<?php echo $_GET['bodybg']; ?>; - } - - #linDivMainOuter, #linDivMetaStaticOuter, #linDivNavigationOuter, /*.linButton,*/ #linDivThumbnaviOuter, #linDivSlideshowControls, .roundAlphabottomInner, .linBackground { - background-color: #<?php echo $_GET['bg']; ?>; - } - -/** - * font color - */ - body, #linDivMenu ul a, #linDivMenu ul span, #linDivMenu ul div { - color: #<?php echo $_GET['font']; ?>; - } - -/** - * albums color - */ - .linDivFolder { - background-color: #<?php echo $_GET['albumsbg']; ?>; - } - -/** - * link/form colors - */ - a:link, a:visited /*, .linButton*/ { - color: #<?php echo $_GET['links']; ?>; - } - a:hover /*, .linButton:hover*/ { - color: #<?php echo $_GET['linkshover']; ?>; - } - - .linForms { - background-color: #<?php echo $_GET['fieldscolor']; ?>; - border: 1px solid grey; - } - -/** - * menu - */ - #linDivMenu ul a:hover, #linDivMenu ul span:hover { - background: #bbbbbb; - } - #linDivMenu ul ul, .linInputMenu { - background-color: #eeeeee; - } Copied: trunk/misc/design/2utf8/colorsettings.php (from rev 4813, trunk/misc/design/2strictutf8/colorsettings.php) =================================================================== --- trunk/misc/design/2utf8/colorsettings.php (rev 0) +++ trunk/misc/design/2utf8/colorsettings.php 2008-01-20 21:05:56 UTC (rev 4814) @@ -0,0 +1,70 @@ +<?php +header("Content-Type: text/css"); + +/** + * force caching in browser + * works in firefox and internet explorer + */ +Header("Last-Modified: " . gmdate("D, d M Y H:i:s",mktime (0,0,0,1,1,2000)) . " GMT"); // Date in the past +Header("Expires: Mon, 26 Jul 2100 05:00:00 GMT"); // In other words... never expire the image +Header("Cache-Control: max-age=10000000, s-maxage=1000000, proxy-revalidate, must-revalidate"); + + +/* + * Created on 26.10.2006 + * + * To change the template for this generated file go to + * Window - Preferences - PHPeclipse - PHP - Code Templates + */ +?> + +/** + * background color + * #linDivThumbNavi amd #divSlideshowControlsInner used in view_img.html.php + */ + body { + background-color: #<?php echo $_GET['bodybg']; ?>; + } + + #linDivMainOuter, #linDivMetaStaticOuter, #linDivNavigationOuter, /*.linButton,*/ #linDivThumbnaviOuter, #linDivSlideshowControls, .roundAlphabottomInner, .linBackground { + background-color: #<?php echo $_GET['bg']; ?>; + } + +/** + * font color + */ + body, #linDivMenu ul a, #linDivMenu ul span, #linDivMenu ul div { + color: #<?php echo $_GET['font']; ?>; + } + +/** + * albums color + */ + .linDivFolder { + background-color: #<?php echo $_GET['albumsbg']; ?>; + } + +/** + * link/form colors + */ + a:link, a:visited /*, .linButton*/ { + color: #<?php echo $_GET['links']; ?>; + } + a:hover /*, .linButton:hover*/ { + color: #<?php echo $_GET['linkshover']; ?>; + } + + .linForms { + background-color: #<?php echo $_GET['fieldscolor']; ?>; + border: 1px solid grey; + } + +/** + * menu + */ + #linDivMenu ul a:hover, #linDivMenu ul span:hover { + background: #bbbbbb; + } + #linDivMenu ul ul, .linInputMenu { + background-color: #eeeeee; + } Deleted: trunk/misc/design/2utf8/csshover.htc =================================================================== --- trunk/misc/design/2strictutf8/csshover.htc 2008-01-20 20:06:38 UTC (rev 4812) +++ trunk/misc/design/2utf8/csshover.htc 2008-01-20 21:05:56 UTC (rev 4814) @@ -1,120 +0,0 @@ -<attach event="ondocumentready" handler="parseStylesheets" /> -<script> -/** - * Whatever:hover - V1.42.060206 - hover & active - * ------------------------------------------------------------ - * (c) 2005 - Peter Nederlof - * Peterned - http://www.xs4all.nl/~peterned/ - * License - http://creativecommons.org/licenses/LGPL/2.1/ - * - * Whatever:hover is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * Whatever:hover is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * Credits and thanks to: - * Arnoud Berendsen, Martin Reurings, Robert Hanson - * - * howto: body { behavior:url("csshover.htc"); } - * ------------------------------------------------------------ - */ - -var csshoverReg = /(^|\s)(([^a]([^ ]+)?)|(a([^#.][^ ]+)+)):(hover|active)/i, -currentSheet, doc = window.document, hoverEvents = [], activators = { - onhover:{on:'onmouseover', off:'onmouseout'}, - onactive:{on:'onmousedown', off:'onmouseup'} -} - -function parseStylesheets() { - if(!/MSIE (5|6)/.test(navigator.userAgent)) return; - window.attachEvent('onunload', unhookHoverEvents); - var sheets = doc.styleSheets, l = sheets.length; - for(var i=0; i<l; i++) - parseStylesheet(sheets[i]); -} - function parseStylesheet(sheet) { - if(sheet.imports) { - try { - var imports = sheet.imports, l = imports.length; - for(var i=0; i<l; i++) parseStylesheet(sheet.imports[i]); - } catch(securityException){} - } - - try { - var rules = (currentSheet = sheet).rules, l = rules.length; - for(var j=0; j<l; j++) parseCSSRule(rules[j]); - } catch(securityException){} - } - - function parseCSSRule(rule) { - var select = rule.selectorText, style = rule.style.cssText; - if(!csshoverReg.test(select) || !style) return; - - var pseudo = select.replace(/[^:]+:([a-z-]+).*/i, 'on$1'); - var newSelect = select.replace(/(\.([a-z0-9_-]+):[a-z]+)|(:[a-z]+)/gi, '.$2' + pseudo); - var className = (/\.([a-z0-9_-]*on(hover|active))/i).exec(newSelect)[1]; - var affected = select.replace(/:(hover|active).*$/, ''); - var elements = getElementsBySelect(affected); - if(elements.length == 0) return; - - currentSheet.addRule(newSelect, style); - for(var i=0; i<elements.length; i++) - new HoverElement(elements[i], className, activators[pseudo]); - } - -function HoverElement(node, className, events) { - if(!node.hovers) node.hovers = {}; - if(node.hovers[className]) return; - node.hovers[className] = true; - hookHoverEvent(node, events.on, function() { node.className += ' ' + className; }); - hookHoverEvent(node, events.off, function() { node.className = node.className.replace(new RegExp('\\s+'+className, 'g'),''); }); -} - function hookHoverEvent(node, type, handler) { - node.attachEvent(type, handler); - hoverEvents[hoverEvents.length] = { - node:node, type:type, handler:handler - }; - } - - function unhookHoverEvents() { - for(var e,i=0; i<hoverEvents.length; i++) { - e = hoverEvents[i]; - e.node.detachEvent(e.type, e.handler); - } - } - -function getElementsBySelect(rule) { - var parts, nodes = [doc]; - parts = rule.split(' '); - for(var i=0; i<parts.length; i++) { - nodes = getSelectedNodes(parts[i], nodes); - } return nodes; -} - function getSelectedNodes(select, elements) { - var result, node, nodes = []; - var identify = (/\#([a-z0-9_-]+)/i).exec(select); - if(identify) { - var element = doc.getElementById(identify[1]); - return element? [element]:nodes; - } - - var classname = (/\.([a-z0-9_-]+)/i).exec(select); - var tagName = select.replace(/(\.|\#|\:)[a-z0-9_-]+/i, ''); - var classReg = classname? new RegExp('\\b' + classname[1] + '\\b'):false; - for(var i=0; i<elements.length; i++) { - result = tagName? elements[i].all.tags(tagName):elements[i].all; - for(var j=0; j<result.length; j++) { - node = result[j]; - if(classReg && !classReg.test(node.className)) continue; - nodes[nodes.length] = node; - } - } - - return nodes; - } -</script> \ No newline at end of file Copied: trunk/misc/design/2utf8/csshover.htc (from rev 4813, trunk/misc/design/2strictutf8/csshover.htc) =================================================================== --- trunk/misc/design/2utf8/csshover.htc (rev 0) +++ trunk/misc/design/2utf8/csshover.htc 2008-01-20 21:05:56 UTC (rev 4814) @@ -0,0 +1,120 @@ +<attach event="ondocumentready" handler="parseStylesheets" /> +<script> +/** + * Whatever:hover - V1.42.060206 - hover & active + * ------------------------------------------------------------ + * (c) 2005 - Peter Nederlof + * Peterned - http://www.xs4all.nl/~peterned/ + * License - http://creativecommons.org/licenses/LGPL/2.1/ + * + * Whatever:hover is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * Whatever:hover is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * Credits and thanks to: + * Arnoud Berendsen, Martin Reurings, Robert Hanson + * + * howto: body { behavior:url("csshover.htc"); } + * ------------------------------------------------------------ + */ + +var csshoverReg = /(^|\s)(([^a]([^ ]+)?)|(a([^#.][^ ]+)+)):(hover|active)/i, +currentSheet, doc = window.document, hoverEvents = [], activators = { + onhover:{on:'onmouseover', off:'onmouseout'}, + onactive:{on:'onmousedown', off:'onmouseup'} +} + +function parseStylesheets() { + if(!/MSIE (5|6)/.test(navigator.userAgent)) return; + window.attachEvent('onunload', unhookHoverEvents); + var sheets = doc.styleSheets, l = sheets.length; + for(var i=0; i<l; i++) + parseStylesheet(sheets[i]); +} + function parseStylesheet(sheet) { + if(sheet.imports) { + try { + var imports = sheet.imports, l = imports.length; + for(var i=0; i<l; i++) parseStylesheet(sheet.imports[i]); + } catch(securityException){} + } + + try { + var rules = (currentSheet = sheet).rules, l = rules.length; + for(var j=0; j<l; j++) parseCSSRule(rules[j]); + } catch(securityException){} + } + + function parseCSSRule(rule) { + var select = rule.selectorText, style = rule.style.cssText; + if(!csshoverReg.test(select) || !style) return; + + var pseudo = select.replace(/[^:]+:([a-z-]+).*/i, 'on$1'); + var newSelect = select.replace(/(\.([a-z0-9_-]+):[a-z]+)|(:[a-z]+)/gi, '.$2' + pseudo); + var className = (/\.([a-z0-9_-]*on(hover|active))/i).exec(newSelect)[1]; + var affected = select.replace(/:(hover|active).*$/, ''); + var elements = getElementsBySelect(affected); + if(elements.length == 0) return; + + currentSheet.addRule(newSelect, style); + for(var i=0; i<elements.length; i++) + new HoverElement(elements[i], className, activators[pseudo]); + } + +function HoverElement(node, className, events) { + if(!node.hovers) node.hovers = {}; + if(node.hovers[className]) return; + node.hovers[className] = true; + hookHoverEvent(node, events.on, function() { node.className += ' ' + className; }); + hookHoverEvent(node, events.off, function() { node.className = node.className.replace(new RegExp('\\s+'+className, 'g'),''); }); +} + function hookHoverEvent(node, type, handler) { + node.attachEvent(type, handler); + hoverEvents[hoverEvents.length] = { + node:node, type:type, handler:handler + }; + } + + function unhookHoverEvents() { + for(var e,i=0; i<hoverEvents.length; i++) { + e = hoverEvents[i]; + e.node.detachEvent(e.type, e.handler); + } + } + +function getElementsBySelect(rule) { + var parts, nodes = [doc]; + parts = rule.split(' '); + for(var i=0; i<parts.length; i++) { + nodes = getSelectedNodes(parts[i], nodes); + } return nodes; +} + function getSelectedNodes(select, elements) { + var result, node, nodes = []; + var identify = (/\#([a-z0-9_-]+)/i).exec(select); + if(identify) { + var element = doc.getElementById(identify[1]); + return element? [element]:nodes; + } + + var classname = (/\.([a-z0-9_-]+)/i).exec(select); + var tagName = select.replace(/(\.|\#|\:)[a-z0-9_-]+/i, ''); + var classReg = classname? new RegExp('\\b' + classname[1] + '\\b'):false; + for(var i=0; i<elements.length; i++) { + result = tagName? elements[i].all.tags(tagName):elements[i].all; + for(var j=0; j<result.length; j++) { + node = result[j]; + if(classReg && !classReg.test(node.className)) continue; + nodes[nodes.length] = node; + } + } + + return nodes; + } +</script> \ No newline at end of file Deleted: trunk/misc/design/2utf8/expand.gif =================================================================== (Binary files differ) Copied: trunk/misc/design/2utf8/expand.gif (from rev 4813, trunk/misc/design/2strictutf8/expand.gif) =================================================================== (Binary files differ) Deleted: trunk/misc/design/2utf8/func.watermark.php =================================================================== --- trunk/misc/design/2strictutf8/func.watermark.php 2008-01-20 20:06:38 UTC (rev 4812) +++ trunk/misc/design/2utf8/func.watermark.php 2008-01-20 21:05:56 UTC (rev 4814) @@ -1,547 +0,0 @@ -<?php -/* -* Copyright (c) 2004 Heiko Rutenbeck <bz...@tu...> -* -* This program is free software; you can redistribute it and/or modify -* it under the terms of the GNU General Public License as published by -* the Free Software Foundation; either version 2 of the License, or -* (at your option) any later version. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program; if not, write to the Free Software -* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -*/ - -if(!defined('LINPHA_DIR')) { exit(1); } - -class LinWatermark -{ - -/** -* @author flo -* @todo adapt from linpha1 -*/ -function needWatermark($imgid) -{ - if( $GLOBALS['linpha']->sql->config->value['plugins_active_wm'] - && $GLOBALS['linpha']->sql->config->value['plugins_wm_active'] - && !check_permissions('watermark',$imgid) ) - { - return true; - } else { - return false; - } -} - -/** - * returns array with all the configs and the default values, they are only defined here - */ -function getWatermarkArray() -{ - return array ( - 'wm_active' => "0", - 'wm_watermark' => "0", - 'wm_text' => "Copyright 2007", - 'wm_font' => "", - 'wm_fontsize' => "20", - 'wm_fontcolor' => "white", - 'wm_align' => "southwest", - 'wm_horizontal' => "0", - 'wm_vertical' => "0", - 'wm_enable_shadow' => "1", - 'wm_shadow_size' => "1", - 'wm_shadow_fontsize' => "20", - 'wm_shadow_color' => "black", - 'wm_enable_rectangle' => "1", - 'wm_rectangle_color' => "darkgrey", - 'wm_height' => "30", - 'wm_width' => "145", - 'wm_img_img' => "", - 'wm_dissolve' => "75%", - 'wm_resize' => "30" - ); -} - -function readWatermark() -{ - $arr_config = LinWatermark::getWatermarkArray(); - while(list($name,$value) = each($arr_config) ) - { - $arr_read[$name] = $GLOBALS['linpha']->sql->config->value['plugins_'.$name]; - } - return $arr_read; -} - -function updateWatermark() -{ - $arr_config = LinWatermark::getWatermarkArray(); - while(list($name,$value) = each($arr_config) ) - { - $GLOBALS['linpha']->sql->config->updateConfig($name,$_POST[$name]); - } -} - -/** - * restore watermark settings to initial settings or to examples - */ -function restoreWatermark() -{ - global $wm_restore_to; - - $arr_config = LinWatermark::getWatermarkArray(); - switch($_POST['setdefault']) - { - case 'initial': - break; - case 'settings1': - $arr_config['wm_watermark'] = 1; - $arr_config['wm_text'] = "(C) 2004 linpha.sf.net"; - $arr_config['wm_fontsize'] = "10"; - $arr_config['wm_fontcolor'] = "white"; - $arr_config['wm_align'] = "south"; - $arr_config['wm_horizontal'] = "0"; - $arr_config['wm_vertical'] = "0"; - $arr_config['wm_enable_rectangle'] = "1"; - $arr_config['wm_rectangle_color'] = "darkgrey"; - $arr_config['wm_enable_shadow'] = "2"; - $arr_config['wm_height'] = "20"; - $arr_config['wm_width'] = "2000"; - $arr_config['wm_resize'] = "no"; - break; - case 'settings2': - $arr_config['wm_watermark'] = 2; - $arr_config['wm_dissolve'] = "65%"; - $arr_config['wm_align'] = "southwest"; - $arr_config['wm_img_img'] = "linpha.png"; - $arr_config['wm_horizontal'] = "10"; - $arr_config['wm_vertical'] = "10"; - $arr_config['wm_resize'] = "30"; - - break; - case 'settings3': // maybe better for gd lib than for convert - $arr_config['wm_watermark'] = 1; - $arr_config['wm_dissolve'] = "100%"; - $arr_config['wm_align'] = "southwest"; - $arr_config['wm_text'] = "(C) 2004 linpha.sf.net"; - $arr_config['wm_fontsize'] = "20"; - $arr_config['wm_fontcolor'] = "white"; - $arr_config['wm_horizontal'] = "0"; - $arr_config['wm_vertical'] = "0"; - $arr_config['wm_enable_rectangle'] = "1"; - $arr_config['wm_rectangle_color'] = "darkgrey"; - $arr_config['wm_enable_shadow'] = "1"; - $arr_config['wm_shadow_size'] = "5"; - $arr_config['wm_shadow_fontsize'] = "2"; - $arr_config['wm_height'] = "30"; - $arr_config['wm_width'] = "260"; - $arr_config['wm_resize'] = "no"; - break; - } - while(list($name,$value) = each($arr_config) ) - { - $GLOBALS['linpha']->sql->config->updateConfig($name,$value); - } -} - -/** - * calcs the new height and width of the resized watermark - * $w, $h: size of the big image - * $org_width, $org_height: size of the watermark rectangle/image - * $resize: resize factor in percent - * - */ -function wmArrResized($w,$h,$org_width,$org_height,$resize) -{ - $arr_resized['w'] = round($w * $resize/100); - $arr_resized['h'] = round($h * $resize/100); - - $no_increase = 0; - $array = LinImage::scaleToFit($org_height,$org_width,$arr_resized['h'],$arr_resized['w'],$no_increase); - - //error_log('w: '.$w.' h: '.$h.' arr_resized_w: '.$arr_resized['w'].' arr_resized_h: '.$arr_resized['h']. - // ' org_w: '.$org_width.' org_h: '.$org_height.' scaleToFit w: '.$array['w'].' h: '.$array['h']); - - return $array; -} - -/** - * list with many available colors - * http://mail.gnu.org/archive/html/emacs-diffs/2002-06/msg00158.html - * @uses getRgbFromAll() - */ -static $Colors = array( - 'aliceblue'=>'#f0f8ff', - 'antiquewhite'=>'#faebd7', - 'aquamarine'=>'#7fffd4', - 'azure'=>'#f0ffff', - 'beige'=>'#f5f5dc', - 'bisque'=>'#ffe4c4', - 'black'=>'#000000', - 'blanchedalmond'=>'#ffebcd', - 'blue'=>'#0000ff', - 'blueviolet'=>'#8a2be2', - 'brown'=>'#a52a2a', - 'burlywood'=>'#deb887', - 'cadetblue'=>'#5f9ea0', - 'chartreuse'=>'#7fff00', - 'chocolate'=>'#d2691e', - 'coral'=>'#ff7f50', - 'cornflowerblue'=>'#6495ed', - 'cornsilk'=>'#fff8dc', - 'cyan'=>'#00ffff', - 'darkblue'=>'#00008b', - 'darkcyan'=>'#008b8b', - 'darkgoldenrod'=>'#b886011', - 'darkgray'=>'#a9a9a9', - 'darkgreen'=>'#006400', - 'darkgrey'=>'#a9a9a9', - 'darkkhaki'=>'#bdb76b', - 'darkmagenta'=>'#8b008b', - 'darkolivegreen'=>'#556b2f', - 'darkorange'=>'#ff8c00', - 'darkorchid'=>'#9932cc', - 'darkred'=>'#8b0000', - 'darksalmon'=>'#e9967a', - 'darkseagreen'=>'#8fbc8f', - 'darkslateblue'=>'#483d8b', - 'darkslategray'=>'#2f4f4f', - 'darkslategrey'=>'#2f4f4f', - 'darkturquoise'=>'#00ced1', - 'darkviolet'=>'#9400d3', - 'deeppink'=>'#ff1493', - 'deepskyblue'=>'#00bfff', - 'dimgray'=>'#696969', - 'dimgrey'=>'#696969', - 'dodgerblue'=>'#1e90ff', - 'firebrick'=>'#b22222', - 'floralwhite'=>'#fffaf0', - 'forestgreen'=>'#228b22', - 'gainsboro'=>'#dcdcdc', - 'ghostwhite'=>'#f8f8ff', - 'gold'=>'#ffd700', - 'goldenrod'=>'#daa520', - 'gray'=>'#bebebe', - 'green'=>'#00ff00', - 'greenyellow'=>'#adff2f', - 'honeydew'=>'#f0fff0', - 'hotpink'=>'#ff69b4', - 'indianred'=>'#cd5c5c', - 'ivory'=>'#fffff0', - 'khaki'=>'#f0e68c', - 'lavender'=>'#e6e6fa', - 'lavenderblush'=>'#fff0f5', - 'lawngreen'=>'#7cfc00', - 'lemonchiffon'=>'#fffacd', - 'lightblue'=>'#add8e6', - 'lightcoral'=>'#f08080', - 'lightcyan'=>'#e0ffff', - 'lightgoldenrod'=>'#eedd82', - 'lightgoldenrodyellow'=>'#fafad2', - 'lightgray'=>'#d3d3d3', - 'lightgreen'=>'#90ee90', - 'lightgrey'=>'#d3d3d3', - 'lightpink'=>'#ffb6c1', - 'lightred'=>'#ffc8c8', - 'lightsalmon'=>'#ffa07a', - 'lightseagreen'=>'#20b2aa', - 'lightskyblue'=>'#87cefa', - 'lightslateblue'=>'#8470ff', - 'lightslategray'=>'#778899', - 'lightsteelblue'=>'#b0c4de', - 'lightyellow'=>'#ffffe0', - 'limegreen'=>'#32cd32', - 'linen'=>'#faf0e6', - 'magenta'=>'#ff00ff', - 'maroon'=>'#b03060', - 'mediumaquamarine'=>'#66cdaa', - 'mediumblue'=>'#0000cd', - 'mediumorchid'=>'#ba55d3', - 'mediumpurple'=>'#9370db', - 'mediumseagreen'=>'#3cb371', - 'mediumslateblue'=>'#7b68ee', - 'mediumspringgreen'=>'#00fa9a', - 'mediumturquoise'=>'#48d1cc', - 'mediumvioletred'=>'#c71585', - 'midnightblue'=>'#191970', - 'mintcream'=>'#f5fffa', - 'mistyrose'=>'#ffe4e1', - 'moccasin'=>'#ffe4b5', - 'navajowhite'=>'#ffdead', - 'navy'=>'#000080', - 'navyblue'=>'#000080', - 'oldlace'=>'#fdf5e6', - 'olivedrab'=>'#6b8e23', - 'orange'=>'#ffa500', - 'orangered'=>'#ff4500', - 'orchid'=>'#da70d6', - 'palegoldenrod'=>'#eee8aa', - 'palegreen'=>'#98fb98', - 'paleturquoise'=>'#afeeee', - 'palevioletred'=>'#db7093', - 'papayawhip'=>'#ffefd5', - 'peachpuff'=>'#ffdab9', - 'peru'=>'#cd853f', - 'pink'=>'#ffc0cb', - 'plum'=>'#dda0dd', - 'powderblue'=>'#b0e0e6', - 'purple'=>'#a020f0', - 'red'=>'#ff0000', - 'rosybrown'=>'#bc8f8f', - 'royalblue'=>'#4169e1', - 'saddlebrown'=>'#8b4513', - 'salmon'=>'#fa8072', - 'sandybrown'=>'#f4a460', - 'seagreen'=>'#2e8b57', - 'seashell'=>'#fff5ee', - 'sienna'=>'#a0522d', - 'skyblue'=>'#87ceeb', - 'slateblue'=>'#6a5acd', - 'slategray'=>'#708090', - 'slategrey'=>'#708090', - 'snow'=>'#fffafa', - 'springgreen'=>'#00ff7f', - 'steelblue'=>'#4682b4', - 'tan'=>'#d2b48c', - 'thistle'=>'#d8bfd8', - 'tomato'=>'#ff6347', - 'turquoise'=>'#40e0d0', - 'violet'=>'#ee82ee', - 'violetred'=>'#d02090', - 'wheat'=>'#f5deb3', - 'white'=>'#ffffff', - 'yellow'=>'#ffff00', - 'yellowgreen'=>'#9acd32' -); - -/** - * not used anymore - */ -function getHtmlColorFromRgb($r,$g,$b) -{ - if(strlen(dechex($r))==1) { - $r = '0'.$r; - } else { - $r = dechex($r); - } - if(strlen(dechex($g))==1) { - $g = '0'.$g; - } else { - $g = dechex($g); - } - if(strlen(dechex($b))==1) { - $b = '0'.$b; - } else { - $b = dechex($b); - } - - return '#'.$r.$g.$b; -} - -/** - * used to check if it is a valid html color - * @uses isHtmlColor() - */ -function everyCharIsHex($string) -{ - for($i=0;$i<strlen($string);$i++) - { - $char = substr($string,$i,1); - $valid_color = false; - - if($char == "0") { // zero makes problems... '== 0' and '== "0"' is not the same... - $valid_color = true; - } - for($n=1;$n<=9;$n++) - { - if($char == $n) { - $valid_color = true; - } - } - - for($n='a';$n<='f';$n++) - { - if($char === $n) { - $valid_color = true; - } - } - - for($n='A';$n<='F';$n++) - { - if($char === $n) { - $valid_color = true; - } - } - if(!$valid_color) { - return 0; - } - } - return 1; -} - -/** - * used to check if it is a valid html color - * @uses getRgbFromAll() - */ -function isHtmlColor($string) -{ - switch(strlen($string)) - { - case 6: - if(LinWatermark::everyCharIsHex($string)) { - return 1; - } - break; - case 7: - if(substr($string,0,1)=="#") { - if(LinWatermark::everyCharIsHex(substr($string,1,6))) { - return 1; - } - } - break; - } - return 0; -} - -/** - * converts a html color to an array with the rgb values - * it doesn't matter if the html color is '#00FF00' or '00FF00' - * @uses getRgbFromAll() - */ -function getRgbFromHtml($string) -{ - switch(strlen($string)) - { - case 6: - break; - case 7: - $string = substr($string,1,6); - break; - } - $r_hex = substr($string,0,2); - $g_hex = substr($string,2,2); - $b_hex = substr($string,4,2); - $arr['r'] = hexdec($r_hex); - $arr['g'] = hexdec($g_hex); - $arr['b'] = hexdec($b_hex); - return $arr; -} - -/** - * returns an array with the rgb values - * it doesn't matter if the argument is 'darkblue', '#00FF55' or '00FF55' - * if it isn't a correct color, the color (0,0,0) is returned - * - * @uses watermark_gd() - */ -function getRgbFromAll($string) -{ - if( isset( LinWatermark::$Colors[$string]) ) - { - return LinWatermark::getRgbFromHtml( LinWatermark::$Colors[$string] ); - } - elseif(LinWatermark::isHtmlColor($string) ) - { - return LinWatermark::getRgbFromHtml( $string ); - } - else - { - array('r'=>0,'g'=>0,'b'=>0); - } -} - -/** - * return html color without '#' - * - * used in linpha2 - admin - settings_layout - */ -function getHtmlFromAll($string) -{ - if(LinWatermark::isHtmlColor($string)) - { - if(substr($string,0,1)=="#") - { - return substr($string,1,6); - } - else - { - return $string; - } - } - else - { - if( isset( LinWatermark::$Colors[$string]) ) - { - return substr(LinWatermark::$Colors[$string],1,6); - } - else - { - return 'ffffff'; - } - } -} - -/** - * @uses watermark_gd() - * calcs the position in pixel with a given align - * src_w, src_h: width and height from the textfield (or the small watermark image) - * dst_w, dst_h: width and height from the image - * pos_x, pos_y: additional adjust for the image - * - */ -function calcAlign($align, $src_w, $src_h, $dst_w, $dst_h, $pos_x, $pos_y) -{ - - switch($align) - { - case "center": - $arr_pos['x'] = ($dst_w-$src_w)/2+($pos_x); - $arr_pos['y'] = ($dst_h-$src_h)/2+($pos_y); - break; - case "east": - $arr_pos['x'] = $dst_w-$src_w+($pos_x); - $arr_pos['y'] = ($dst_h-$src_h)/2+($pos_y); - break; - case "west": - $arr_pos['x'] = $pos_x; - $arr_pos['y'] = ($dst_h-$src_h)/2+($pos_y); - break; - case "north": - $arr_pos['x'] = ($dst_w-$src_w)/2+($pos_x); - $arr_pos['y'] = $pos_y; - break; - case "south": - $arr_pos['x'] = ($dst_w-$src_w)/2+($pos_x); - $arr_pos['y'] = $dst_h-$src_h+($pos_y); - break; - case "northeast": - $arr_pos['x'] = $dst_w-$src_w+($pos_x); - $arr_pos['y'] = $pos_y; - break; - case "northwest": - $arr_pos['x'] = $pos_x; - $arr_pos['y'] = $pos_y; - break; - case "southwest": - $arr_pos['x'] = $pos_x; - $arr_pos['y'] = $dst_h-$src_h+($pos_y); - break; - case "southeast": - $arr_pos['x'] = $dst_w-$src_w+($pos_x); - $arr_pos['y'] = $dst_h-$src_h+($pos_y); - break; - default: - $arr_pos['x'] = $pos_x; - $arr_pos['y'] = $pos_y; - break; - - } - return $arr_pos; -} - -} -?> \ No newline at end of file Copied: trunk/misc/design/2utf8/func.watermark.php (from rev 4813, trunk/misc/design/2strictutf8/func.watermark.php) =================================================================== --- trunk/misc/design/2utf8/func.watermark.php (rev 0) +++ trunk/misc/design/2utf8/func.watermark.php 2008-01-20 21:05:56 UTC (rev 4814) @@ -0,0 +1,547 @@ +<?php +/* +* Copyright (c) 2004 Heiko Rutenbeck <bz...@tu...> +* +* This program is free software; you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation; either version 2 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program; if not, write to the Free Software +* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ + +if(!defined('LINPHA_DIR')) { exit(1); } + +class LinWatermark +{ + +/** +* @author flo +* @todo adapt from linpha1 +*/ +function needWatermark($imgid) +{ + if( $GLOBALS['linpha']->sql->config->value['plugins_active_wm'] + && $GLOBALS['linpha']->sql->config->value['plugins_wm_active'] + && !check_permissions('watermark',$imgid) ) + { + return true; + } else { + return false; + } +} + +/** + * returns array with all the configs and the default values, they are only defined here + */ +function getWatermarkArray() +{ + return array ( + 'wm_active' => "0", + 'wm_watermark' => "0", + 'wm_text' => "Copyright 2007", + 'wm_font' => "", + 'wm_fontsize' => "20", + 'wm_fontcolor' => "white", + 'wm_align' => "southwest", + 'wm_horizontal' => "0", + 'wm_vertical' => "0", + 'wm_enable_shadow' => "1", + 'wm_shadow_size' => "1", + 'wm_shadow_fontsize' => "20", + 'wm_shadow_color' => "black", + 'wm_enable_rectangle' => "1", + 'wm_rectangle_color' => "darkgrey", + 'wm_height' => "30", + 'wm_width' => "145", + 'wm_img_img' => "", + 'wm_dissolve' => "75%", + 'wm_resize' => "30" + ); +} + +function readWatermark() +{ + $arr_config = LinWatermark::getWatermarkArray(); + while(list($name,$value) = each($arr_config) ) + { + $arr_read[$name] = $GLOBALS['linpha']->sql->config->value['plugins_'.$name]; + } + return $arr_read; +} + +function updateWatermark() +{ + $arr_config = LinWatermark::getWatermarkArray(); + while(list($name,$value) = each($arr_config) ) + { + $GLOBALS['linpha']->sql->config->updateConfig($name,$_POST[$name]); + } +} + +/** + * restore watermark settings to initial settings or to examples + */ +function restoreWatermark() +{ + global $wm_restore_to; + + $arr_config = LinWatermark::getWatermarkArray(); + switch($_POST['setdefault']) + { + case 'initial': + break; + case 'settings1': + $arr_config['wm_watermark'] = 1; + $arr_config['wm_text'] = "(C) 2004 linpha.sf.net"; + $arr_config['wm_fontsize'] = "10"; + $arr_config['wm_fontcolor'] = "white"; + $arr_config['wm_align'] = "south"; + $arr_config['wm_horizontal'] = "0"; + $arr_config['wm_vertical'] = "0"; + $arr_config['wm_enable_rectangle'] = "1"; + $arr_config['wm_rectangle_color'] = "darkgrey"; + $arr_config['wm_enable_shadow'] = "2"; + $arr_config['wm_height'] = "20"; + $arr_config['wm_width'] = "2000"; + $arr_config['wm_resize'] = "no"; + break; + case 'settings2': + $arr_config['wm_watermark'] = 2; + $arr_config['wm_dissolve'] = "65%"; + $arr_config['wm_align'] = "southwest"; + $arr_config['wm_img_img'] = "linpha.png"; + $arr_config['wm_horizontal'] = "10"; + $arr_config['wm_vertical'] = "10"; + $arr_config['wm_resize'] = "30"; + + break; + case 'settings3': // maybe better for gd lib than for convert + $arr_config['wm_watermark'] = 1; + $arr_config['wm_dissolve'] = "100%"; + $arr_config['wm_align'] = "southwest"; + $arr_config['wm_text'] = "(C) 2004 linpha.sf.net"; + $arr_config['wm_fontsize'] = "20"; + $arr_config['wm_fontcolor'] = "white"; + $arr_config['wm_horizontal'] = "0"; + $arr_config['wm_vertical'] = "0"; + $arr_config['wm_enable_rectangle'] = "1"; + $arr_config['wm_rectangle_color'] = "darkgrey"; + $arr_config['wm_enable_shadow'] = "1"; + $arr_config['wm_shadow_size'] = "5"; + $arr_config['wm_shadow_fontsize'] = "2"; + $arr_config['wm_height'] = "30"; + $arr_config['wm_width'] = "260"; + $arr_config['wm_resize'] = "no"; + break; + } + while(list($name,$value) = each($arr_config) ) + { + $GLOBALS['linpha']->sql->config->updateConfig($name,$value); + } +} + +/** + * calcs the new height and width of the resized watermark + * $w, $h: size of the big image + * $org_width, $org_height: size of the watermark rectangle/image + * $resize: resize factor in percent + * + */ +function wmArrResized($w,$h,$org_width,$org_height,$resize) +{ + $arr_resized['w'] = round($w * $resize/100); + $arr_resized['h'] = round($h * $resize/100); + + $no_increase = 0; + $array = LinImage::scaleToFit($org_height,$org_width,$arr_resized['h'],$arr_resized['w'],$no_increase); + + //error_log('w: '.$w.' h: '.$h.' arr_resized_w: '.$arr_resized['w'].' arr_resized_h: '.$arr_resized['h']. + // ' org_w: '.$org_width.' org_h: '.$org_height.' scaleToFit w: '.$array['w'].' h: '.$array['h']); + + return $array; +} + +/** + * list with many available colors + * http://mail.gnu.org/archive/html/emacs-diffs/2002-06/msg00158.html + * @uses getRgbFromAll() + */ +static $Colors = array( + 'aliceblue'=>'#f0f8ff', + 'antiquewhite'=>'#faebd7', + 'aquamarine'=>'#7fffd4', + 'azure'=>'#f0ffff', + 'beige'=>'#f5f5dc', + 'bisque'=>'#ffe4c4', + 'black'=>'#000000', + 'blanchedalmond'=>'#ffebcd', + 'blue'=>'#0000ff', + 'blueviolet'=>'#8a2be2', + 'brown'=>'#a52a2a', + 'burlywood'=>'#deb887', + 'cadetblue'=>'#5f9ea0', + 'chartreuse'=>'#7fff00', + 'chocolate'=>'#d2691e', + 'coral'=>'#ff7f50', + 'cornflowerblue'=>'#6495ed', + 'cornsilk'=>'#fff8dc', + 'cyan'=>'#00ffff', + 'darkblue'=>'#00008b', + 'darkcyan'=>'#008b8b', + 'darkgoldenrod'=>'#b886011', + 'darkgray'=>'#a9a9a9', + 'darkgreen'=>'#006400', + 'darkgrey'=>'#a9a9a9', + 'darkkhaki'=>'#bdb76b', + 'darkmagenta'=>'#8b008b', + 'darkolivegreen'=>'#556b2f', + 'darkorange'=>'#ff8c00', + 'darkorchid'=>'#9932cc', + 'darkred'=>'#8b0000', + 'darksalmon'=>'#e9967a', + 'darkseagreen'=>'#8fbc8f', + 'darkslateblue'=>'#483d8b', + 'darkslategray'=>'#2f4f4f', + 'darkslategrey'=>'#2f4f4f', + 'darkturquoise'=>'#00ced1', + 'darkviolet'=>'#9400d3', + 'deeppink'=>'#ff1493', + 'deepskyblue'=>'#00bfff', + 'dimgray'=>'#696969', + 'dimgrey'=>'#696969', + 'dodgerblue'=>'#1e90ff', + 'firebrick'=>'#b22222', + 'floralwhite'=>'#fffaf0', + 'forestgreen'=>'#228b22', + 'gainsboro'=>'#dcdcdc', + 'ghostwhite'=>'#f8f8ff', + 'gold'=>'#ffd700', + 'goldenrod'=>'#daa520', + 'gray'=>'#bebebe', + 'green'=>'#00ff00', + 'greenyellow'=>'#adff2f', + 'honeydew'=>'#f0fff0', + 'hotpink'=>'#ff69b4', + 'indianred'=>'#cd5c5c', + 'ivory'=>'#fffff0', + 'khaki'=>'#f0e68c', + 'lavender'=>'#e6e6fa', + 'lavenderblush'=>'#fff0f5', + 'lawngreen'=>'#7cfc00', + 'lemonchiffon'=>'#fffacd', + 'lightblue'=>'#add8e6', + 'lightcoral'=>'#f08080', + 'lightcyan'=>'#e0ffff', + 'lightgoldenrod'=>'#eedd82', + 'lightgoldenrodyellow'=>'#fafad2', + 'lightgray'=>'#d3d3d3', + 'lightgreen'=>'#90ee90', + 'lightgrey'=>'#d3d3d3', + 'lightpink'=>'#ffb6c1', + 'lightred'=>'#ffc8c8', + 'lightsalmon'=>'#ffa07a', + 'lightseagreen'=>'#20b2aa', + 'lightskyblue'=>'#87cefa', + 'lightslateblue'=>'#8470ff', + 'lightslategray'=>'#778899', + 'lightsteelblue'=>'#b0c4de', + 'lightyellow'=>'#ffffe0', + 'limegreen'=>'#32cd32', + 'linen'=>'#faf0e6', + 'magenta'=>'#ff00ff', + 'maroon'=>'#b03060', + 'mediumaquamarine'=>'#66cdaa', + 'mediumblue'=>'#0000cd', + 'mediumorchid'=>'#ba55d3', + 'mediumpurple'=>'#9370db', + 'mediumseagreen'=>'#3cb371', + 'mediumslateblue'=>'#7b68ee', + 'mediumspringgreen'=>'#00fa9a', + 'mediumturquoise'=>'#48d1cc', + 'mediumvioletred'=>'#c71585', + 'midnightblue'=>'#191970', + 'mintcream'=>'#f5fffa', + 'mistyrose'=>'#ffe4e1', + 'moccasin'=>'#ffe4b5', + 'navajowhite'=>'#ffdead', + 'navy'=>'#000080', + 'navyblue'=>'#000080', + 'oldlace'=>'#fdf5e6', + 'olivedrab'=>'#6b8e23', + 'orange'=>'#ffa500', + 'orangered'=>'#ff4500', + 'orchid'=>'#da70d6', + 'palegoldenrod'=>'#eee8aa', + 'palegreen'=>'#98fb98', + 'paleturquoise'=>'#afeeee', + 'palevioletred'=>'#db7093', + 'papayawhip'=>'#ffefd5', + 'peachpuff'=>'#ffdab9', + 'peru'=>'#cd853f', + 'pink'=>'#ffc0cb', + 'plum'=>'#dda0dd', + 'powderblue'=>'#b0e0e6', + 'purple'=>'#a020f0', + 'red'=>'#ff0000', + 'rosybrown'=>'#bc8f8f', + 'royalblue'=>'#4169e1', + 'saddlebrown'=>'#8b4513', + 'salmon'=>'#fa8072', + 'sandybrown'=>'#f4a460', + 'seagreen'=>'#2e8b57', + 'seashell'=>'#fff5ee', + 'sienna'=>'#a0522d', + 'skyblue'=>'#87ceeb', + 'slateblue'=>'#6a5acd', + 'slategray'=>'#708090', + 'slategrey'=>'#708090', + 'snow'=>'#fffafa', + 'springgreen'=>'#00ff7f', + 'steelblue'=>'#4682b4', + 'tan'=>'#d2b48c', + 'thistle'=>'#d8bfd8', + 'tomato'=>'#ff6347', + 'turquoise'=>'#40e0d0', + 'violet'=>'#ee82ee', + 'violetred'=>'#d02090', + 'wheat'=>'#f5deb3', + 'white'=>'#ffffff', + 'yellow'=>'#ffff00', + 'yellowgreen'=>'#9acd32' +); + +/** + * not us... [truncated message content] |
From: <fan...@us...> - 2008-01-20 21:01:54
|
Revision: 4813 http://linpha.svn.sourceforge.net/linpha/?rev=4813&view=rev Author: fangehrn Date: 2008-01-20 13:01:41 -0800 (Sun, 20 Jan 2008) Log Message: ----------- Modified Paths: -------------- trunk/misc/design/2strictutf8/index1.php trunk/misc/design/2strictutf8/index2.php trunk/misc/design/2strictutf8/index3.php Added Paths: ----------- trunk/misc/design/2strictutf8/test ISO-8859-1.html trunk/misc/design/2strictutf8/test ISO-8859-15.html trunk/misc/design/2strictutf8/test ISO-8859-2.html trunk/misc/design/2strictutf8/test UTF-8.html trunk/misc/design/2strictutf8/test Windows 1252.html Modified: trunk/misc/design/2strictutf8/index1.php =================================================================== --- trunk/misc/design/2strictutf8/index1.php 2008-01-20 20:06:38 UTC (rev 4812) +++ trunk/misc/design/2strictutf8/index1.php 2008-01-20 21:01:41 UTC (rev 4813) @@ -1,6 +1,6 @@ <?php header('content-type: text/html; charset: utf-8'); -echo '<?xml version="1.0" encoding="utf-8"?>'."\n"; +/*echo '<?xml version="1.0" encoding="utf-8"?>'."\n"; not necessary, IE has problems with this*/ ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> @@ -32,7 +32,7 @@ <body id="linBody"> - <h2>Test Zeichenkodierung Datei UTF8</h2> + <h2>Test Zeichenkodierung Header UTF8, Datei UTF8</h2> abcd ABCD ÄÖÜ äöü éèà $£€@¢°§ <br /> <?php echo utf8_encode("abcd ABCD ÄÖÜ äöü éèà \$£€@¢°§"); ?> Modified: trunk/misc/design/2strictutf8/index2.php =================================================================== --- trunk/misc/design/2strictutf8/index2.php 2008-01-20 20:06:38 UTC (rev 4812) +++ trunk/misc/design/2strictutf8/index2.php 2008-01-20 21:01:41 UTC (rev 4813) @@ -1,6 +1,6 @@ <?php header('content-type: text/html; charset: utf-8'); -echo '<?xml version="1.0" encoding="utf-8"?>'."\n"; +/*echo '<?xml version="1.0" encoding="utf-8"?>'."\n"; not necessary, IE has problems with this*/ ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> @@ -32,10 +32,10 @@ <body id="linBody"> - <h2>Test Zeichenkodierung Datei ISO-8859-2</h2> - abcd ABCD \xC4\xD6\xDC \xE4\xF6\xFC \xE9\xE8\xE0 $\xA3\x80@\xA2\xB0\xA7 + <h2>Test Zeichenkodierung Header UTF8, Datei ISO-8859-15</h2> + abcd ABCD \xC4\xD6\xDC \xE4\xF6\xFC \xE9\xE8\xE0 $\xA3\xA4@\xA2\xB0\xA7 <br /> - <?php echo utf8_encode("abcd ABCD \xC4\xD6\xDC \xE4\xF6\xFC \xE9\xE8\xE0 \$\xA3\x80@\xA2\xB0\xA7"); ?> + <?php echo utf8_encode("abcd ABCD \xC4\xD6\xDC \xE4\xF6\xFC \xE9\xE8\xE0 \$\xA3\xA4@\xA2\xB0\xA7"); ?> <br /> <br /><br /> Modified: trunk/misc/design/2strictutf8/index3.php =================================================================== --- trunk/misc/design/2strictutf8/index3.php 2008-01-20 20:06:38 UTC (rev 4812) +++ trunk/misc/design/2strictutf8/index3.php 2008-01-20 21:01:41 UTC (rev 4813) @@ -1,12 +1,12 @@ <?php -header('content-type: text/html; charset: utf-8'); -echo '<?xml version="1.0" encoding="utf-8"?>'."\n"; +header('content-type: text/html; charset: iso-8859-15'); +/*echo '<?xml version="1.0" encoding="utf-8"?>'."\n"; not necessary, IE has problems with this*/ ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> -<meta http-equiv="content-type" content="text/html; charset=UTF-8"> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-15"> <title>Linpha 2.0</title> @@ -32,10 +32,10 @@ <body id="linBody"> - <h2>Test Zeichenkodierung</h2> - abcd ABCD ÄÖÜ äöü éèà $£€@¢°§ + <h2>Test Zeichenkodierung Header ISO-8859-15, Datei ISO-8859-15</h2> + abcd ABCD \xC4\xD6\xDC \xE4\xF6\xFC \xE9\xE8\xE0 $\xA3\xA4@\xA2\xB0\xA7 <br /> - <?php echo utf8_encode("abcd ABCD ÄÖÜ äöü éèà \$£€@¢°§"); ?> + <?php echo utf8_encode("abcd ABCD \xC4\xD6\xDC \xE4\xF6\xFC \xE9\xE8\xE0 \$\xA3\xA4@\xA2\xB0\xA7"); ?> <br /> <br /><br /> Added: trunk/misc/design/2strictutf8/test ISO-8859-1.html =================================================================== --- trunk/misc/design/2strictutf8/test ISO-8859-1.html (rev 0) +++ trunk/misc/design/2strictutf8/test ISO-8859-1.html 2008-01-20 21:01:41 UTC (rev 4813) @@ -0,0 +1,2 @@ +abcd ABCD \xC4\xD6\xDC \xE4\xF6\xFC \xE9\xE8\xE0 $\xA3\xAC@\xA2\xB0\xA7 + Added: trunk/misc/design/2strictutf8/test ISO-8859-15.html =================================================================== --- trunk/misc/design/2strictutf8/test ISO-8859-15.html (rev 0) +++ trunk/misc/design/2strictutf8/test ISO-8859-15.html 2008-01-20 21:01:41 UTC (rev 4813) @@ -0,0 +1 @@ +abcd ABCD \xC4\xD6\xDC \xE4\xF6\xFC \xE9\xE8\xE0 $\xA3\xA4@\xA2\xB0\xA7 \ No newline at end of file Added: trunk/misc/design/2strictutf8/test ISO-8859-2.html =================================================================== --- trunk/misc/design/2strictutf8/test ISO-8859-2.html (rev 0) +++ trunk/misc/design/2strictutf8/test ISO-8859-2.html 2008-01-20 21:01:41 UTC (rev 4813) @@ -0,0 +1 @@ +abcd ABCD \xC4\xD6\xDC \xE4\xF6\xFC \xE9?? $??@?\xB0\xA7 \ No newline at end of file Added: trunk/misc/design/2strictutf8/test UTF-8.html =================================================================== --- trunk/misc/design/2strictutf8/test UTF-8.html (rev 0) +++ trunk/misc/design/2strictutf8/test UTF-8.html 2008-01-20 21:01:41 UTC (rev 4813) @@ -0,0 +1 @@ +abcd ABCD ÄÖÜ äöü éèà $£€@¢°§ \ No newline at end of file Added: trunk/misc/design/2strictutf8/test Windows 1252.html =================================================================== --- trunk/misc/design/2strictutf8/test Windows 1252.html (rev 0) +++ trunk/misc/design/2strictutf8/test Windows 1252.html 2008-01-20 21:01:41 UTC (rev 4813) @@ -0,0 +1 @@ +abcd ABCD \xC4\xD6\xDC \xE4\xF6\xFC \xE9\xE8\xE0 $\xA3\x80@\xA2\xB0\xA7 \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fan...@us...> - 2008-01-20 20:06:44
|
Revision: 4812 http://linpha.svn.sourceforge.net/linpha/?rev=4812&view=rev Author: fangehrn Date: 2008-01-20 12:06:38 -0800 (Sun, 20 Jan 2008) Log Message: ----------- Modified Paths: -------------- trunk/misc/design/1current/index.php trunk/misc/design/2strictutf8/index2.php trunk/misc/design/2strictutf8/index3.php Added Paths: ----------- trunk/misc/design/2strictutf8/index1.php Removed Paths: ------------- trunk/misc/design/2strictutf8/index.php Modified: trunk/misc/design/1current/index.php =================================================================== --- trunk/misc/design/1current/index.php 2008-01-15 22:22:11 UTC (rev 4811) +++ trunk/misc/design/1current/index.php 2008-01-20 20:06:38 UTC (rev 4812) @@ -173,11 +173,6 @@ <!-- Albums --> <hr class="linStyle" /> - <h2>Test Zeichenkodierung</h2> - \xC4\xD6\xDC \xE4\xF6\xFC \xE9\xE8\xE0 $\xA3\x80@\xA2\xB0\xA7 - - <br /><br /> - <h1 class="linStyle">Alben</h1> <div class="linDivFolder"> Deleted: trunk/misc/design/2strictutf8/index.php =================================================================== --- trunk/misc/design/2strictutf8/index.php 2008-01-15 22:22:11 UTC (rev 4811) +++ trunk/misc/design/2strictutf8/index.php 2008-01-20 20:06:38 UTC (rev 4812) @@ -1,252 +0,0 @@ -<?php -header('content-type: text/html; charset: utf-8'); -echo '<?xml version="1.0" encoding="utf-8"?>'."\n"; -?> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta http-equiv="content-type" content="text/html; charset=UTF-8"> - -<title>Linpha 2.0</title> - -<!-- css includes --> - -<link rel='stylesheet' href='./colorsettings.php?bg=87CEFA&bodybg=DDDDDD&font=000000&albumsbg=D5FCF4&links=005388&linkshover=666666&fieldscolor=CCCCCC' type='text/css'> -<link rel='stylesheet' href='./global.css' type='text/css'> -<link rel='stylesheet' href='./home.css' type='text/css'> - - <!--[if IE]> - <style type="text/css" media="screen"> - #menu ul { width: 1em; } /* this will be a *min* width */ - #menu ul ul { width: 12em; } - #menu ul li { float: left; width: 100%; } - body { behavior: url(./csshover.htc); font-size: 100%; } - #menu ul li a { height: 1%; } - #menu a, #menu span { font: bold 0.7em/1.4em arial, helvetica, sans-serif; } - </style> - <![endif]--> - -</head> - - -<body id="linBody"> - -<!-- syslog --> -<div id="linDivSyslog" style="display: none;"> - <div id="linDivSyslogClose"><a href="javascript:myLinGlobal.closeSyslog();">X</a></div> - <b>Linpha Syslog:</b><br /> - <div id="linDivSyslogText"></div> -</div> - - -<!-- title/navigation --> - -<div id="linDivTitle">Linpha 2.0 :: <a href="/linpha2/?&linCat=alb&linId=0">></a> </div> - - -<!-- menu --> -<div id="linDivMenu"> - <ul style="margin-left: 50px;"> - <li><a href="/linpha2/?&linCat=alb">Home</a></li> - </ul> - <ul> - <li><span>Suche </span> - <ul> - <li><a href="/linpha2/?&linCat=search">Extended Search</a></li> - <li> - <div> - <form method="GET" action="/linpha2/?&linCat=search"> - <input type="text" class="linForms" name="search_text" value="" /> - <input type="hidden" name="button[meta][all]" value="1" /> - - <input type="hidden" name="cmd" value="search" /> - <input type="hidden" name="linCat" value="search" /> - <input type="submit" name="submit" class="linButton linInputMenu" value="Suche" /> - </form> - </div> - </li> - </ul> - </li> - </ul> - <ul> - <li> - <span>Login </span> - <ul id="linMenuLogin"> - <li> - <div> - <form action="" method="POST" onsubmit="new Ajax.Updater('linDivMenu', LINPHA_CLIENT + '/?linCat=ajax&reloadmenu&linId='+IdCurrent, {method: 'post', asynchronous:true, parameters:Form.serialize(this), evalScripts:true}); return false;"> - <!-- login infos --> - <br /> - <label for="linFormUsername" style="display: block; float: left; width: 80px;">Username: </label><input style="width: 105px;" class="linForms" type="text" name="username" value="" id="linFormUsername" /><br /> - <label for="linFormPassword" style="display: block; float: left; width: 80px;">Password: </label><input style="width: 105px;" class="linForms" type="password" name="password" value="" id="linFormPassword" /><br /> - <input type="checkbox" name="rememberme" value="true" id="linFormCheckboxRemember" /><label for="linFormCheckboxRemember">Remember Me</label> <input type="hidden" name="cmd" value="login" /> - <input type="submit" name="submit" class="linButton linInputMenu" value="Login" /><br /><br /> - <div style="font-size: smaller; border: 0px;">Um sich anmelden zu können, müssen Cookies aktiviert sein.</div> - </form> - </div> - </li> - </ul> - </li> - </ul> - <ul> - <li><span>More </span> - <ul id="linMenuMore"> - <li><span>Basket </span> - <ul> - <li><a href="/linpha2/?&linCat=alb&linId=4&admin_cmd=basket_add_all">Add All To Basket</a></li> - - <li><a href="/linpha2/?&linCat=alb&linId=4&view=basket">Switch To Basket View</a></li> - <li><a href="/linpha2/?&linCat=basket">Open Basket (0 Images)</a></li> - </ul> - </li> - <li><span>Ansicht </span> - <ul> - <li><span>Sort </span> - - <ul> - <li><a href="/linpha2/?&linCat=alb&linId=4&order_by=Name Asc">Name Asc</a></li> - <li><a href="/linpha2/?&linCat=alb&linId=4&order_by=Name Desc">Name Desc</a></li> - <li><a href="/linpha2/?&linCat=alb&linId=4&order_by=Date Asc">Date Asc</a></li> - <li><a href="/linpha2/?&linCat=alb&linId=4&order_by=Date Desc">Date Desc</a></li> - </ul> - </li> - - <li><span>Ansicht </span> - <ul> - <li><a href="/linpha2/?&linCat=alb&linId=4&view=thumb">Normal</a></li> - <li><a href="/linpha2/?&linCat=alb&linId=4&view=thumbdetail">Detail</a></li> - </ul> - </li> - <li><span>Thumb Size </span> - - <ul> - <li><a href="javascript:myLinThumbnails.setTnSize(50)">50 Pixel</a></li> - <li><a href="javascript:myLinThumbnails.setTnSize(75)">75 Pixel</a></li> - <li><a href="javascript:myLinThumbnails.setTnSize(100)">100 Pixel</a></li> - <li><a href="javascript:myLinThumbnails.setTnSize(150)">150 Pixel</a></li> - <li><a href="javascript:myLinThumbnails.setTnSize(200)">200 Pixel</a></li> - - <li><a href="javascript:myLinThumbnails.setTnSize(250)">250 Pixel</a></li> - <li><a href="javascript:myLinThumbnails.setTnSize(300)">300 Pixel</a></li> - <li><a href="javascript:myLinThumbnails.setTnSize(400)">400 Pixel</a></li> - <li><a href="javascript:myLinThumbnails.setTnSize(500)">500 Pixel</a></li> - </ul> - </li> - <li><span>Thumb Nr </span> - - <ul> - <li><a href="javascript:myLinThumbnails.setNrImages('auto')">auto</a></li> - <li><a href="javascript:myLinThumbnails.setNrImages('10')">10</a></li> - <li><a href="javascript:myLinThumbnails.setNrImages('25')">25</a></li> - <li><a href="javascript:myLinThumbnails.setNrImages('50')">50</a></li> - <li><a href="javascript:myLinThumbnails.setNrImages('100')">100</a></li> - - <li><a href="javascript:myLinThumbnails.setNrImages('200')">200</a></li> - <li><a href="javascript:myLinThumbnails.setNrImages('all')">all</a></li> - </ul> - </li> - </ul> - </li> - </ul> - </li> - </ul> - <!-- icons --> - <div> - <a href="javascript:myLinThumbnails.loadSlideshow()"><img src="../slideshow.png" border="0" title="Play Slideshow" /></a> - </div> -</div> - -<div style="clear: both;"></div> -<!-- end menu --> - - -<div id="linDivMainOuter"> - <div style="background: url(./roundcorners.php?color=87CEFA&bgcolor=DDDDDD&size=15&align=tr) no-repeat top right;"> - <img src="./roundcorners.php?color=87CEFA&bgcolor=DDDDDD&size=15&align=tl" alt="" width="15" height="15" /> - </div> - - <div id="linDivMain"> - - <h1 class="linStyle">Willkommen</h1>Hi, this is the home of "The PHP Photo Archive" <a href="http://linpha.sf.net">aka LinPHA</a>.<br /> <br /> - - - <!-- Random Images --> - - <!-- New Images --> - - <!-- Browse by Date --> - - <!-- Albums --> - <hr class="linStyle" /> - - <h2>Test Zeichenkodierung</h2> - abcd ABCD \xC4\xD6\xDC \xE4\xF6\xFC \xE9\xE8\xE0 $\xA3\x80@\xA2\xB0\xA7 - <br /> - <?php echo utf8_encode("abcd ABCD \xC4\xD6\xDC \xE4\xF6\xFC \xE9\xE8\xE0 \$\xA3\x80@\xA2\xB0\xA7"); ?> - <br /> - - <br /><br /> - - <h1 class="linStyle">Alben</h1> - - <div class="linDivFolder"> - <div style="background: url(./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=tr) no-repeat top right;"> - <img src="./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=tl" alt="" width="15" height="15" /> - </div> - <div class="linDivThumbnail"> - <a href="/linpha2/?&linCat=alb&linId=4"><img class="linImgFolderThumbnail" src="../thumb1.gif" alt="thumbnail_album" /></a> - </div> - <div class="linDivFolderText"> - <h2 class="linStyle"><a href="/linpha2/?&linCat=alb&linId=4">2005.05.14-16 Barcelona</a></h2> - Di 25. Dez 2007 19:08:13<br />0 Fotos<br /> - </div> - <div style="clear: both;"></div> - <div style="background: url(./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=br) no-repeat top right;"> - <img src="./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=bl" alt="" width="15" height="15" /> - </div> - </div> - - <div class="linDivFolder"> - <div style="background: url(./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=tr) no-repeat top right;"> - <img src="./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=tl" alt="" width="15" height="15" /> - </div> - <div class="linDivThumbnail"> - <a href="/linpha2/?&linCat=alb&linId=4"><img class="linImgFolderThumbnail" src="../thumb2.gif" alt="thumbnail_album" /></a> - </div> - <div class="linDivFolderText"> - <h2 class="linStyle"><a href="/linpha2/?&linCat=alb&linId=4">2007.07-14-28 Fuerteventura</a></h2> - Di 25. Dez 2007 19:08:13<br />0 Fotos<br /> - </div> - <div style="clear: both;"></div> - <div style="background: url(./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=br) no-repeat top right;"> - <img src="./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=bl" alt="" width="15" height="15" /> - </div> - </div> - - <div class="linDivFolder"> - <div style="background: url(./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=tr) no-repeat top right;"> - <img src="./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=tl" alt="" width="15" height="15" /> - </div> - <div class="linDivThumbnail"> - <a href="/linpha2/?&linCat=alb&linId=4"><img class="linImgFolderThumbnail" src="../thumb3.gif" alt="thumbnail_album" /></a> - </div> - <div class="linDivFolderText"> - <h2 class="linStyle"><a href="/linpha2/?&linCat=alb&linId=4">2007.12.15-16 Skifahren Samnaun</a></h2> - Di 25. Dez 2007 19:08:13<br />0 Fotos<br /> - </div> - <div style="clear: both;"></div> - <div style="background: url(./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=br) no-repeat top right;"> - <img src="./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=bl" alt="" width="15" height="15" /> - </div> - </div> - - </div> - - <div style="background: url(./roundcorners.php?color=87CEFA&bgcolor=DDDDDD&size=15&align=br) no-repeat top right;"> - <img src="./roundcorners.php?color=87CEFA&bgcolor=DDDDDD&size=15&align=bl" alt="" width="15" height="15" /> - </div> -</div> -</body> -</html> - Copied: trunk/misc/design/2strictutf8/index1.php (from rev 4811, trunk/misc/design/2strictutf8/index.php) =================================================================== --- trunk/misc/design/2strictutf8/index1.php (rev 0) +++ trunk/misc/design/2strictutf8/index1.php 2008-01-20 20:06:38 UTC (rev 4812) @@ -0,0 +1,253 @@ +<?php +header('content-type: text/html; charset: utf-8'); +echo '<?xml version="1.0" encoding="utf-8"?>'."\n"; +?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=UTF-8"> + +<title>Linpha 2.0</title> + +<!-- css includes --> + +<link rel='stylesheet' href='./colorsettings.php?bg=87CEFA&bodybg=DDDDDD&font=000000&albumsbg=D5FCF4&links=005388&linkshover=666666&fieldscolor=CCCCCC' type='text/css'> +<link rel='stylesheet' href='./global.css' type='text/css'> +<link rel='stylesheet' href='./home.css' type='text/css'> + + <!--[if IE]> + <style type="text/css" media="screen"> + #menu ul { width: 1em; } /* this will be a *min* width */ + #menu ul ul { width: 12em; } + #menu ul li { float: left; width: 100%; } + body { behavior: url(./csshover.htc); font-size: 100%; } + #menu ul li a { height: 1%; } + #menu a, #menu span { font: bold 0.7em/1.4em arial, helvetica, sans-serif; } + </style> + <![endif]--> + +</head> + + +<body id="linBody"> + + <h2>Test Zeichenkodierung Datei UTF8</h2> + abcd ABCD ÄÖÜ äöü éèà $£€@¢°§ + <br /> + <?php echo utf8_encode("abcd ABCD ÄÖÜ äöü éèà \$£€@¢°§"); ?> + <br /> + + <br /><br /> + + +<!-- syslog --> +<div id="linDivSyslog" style="display: none;"> + <div id="linDivSyslogClose"><a href="javascript:myLinGlobal.closeSyslog();">X</a></div> + <b>Linpha Syslog:</b><br /> + <div id="linDivSyslogText"></div> +</div> + + +<!-- title/navigation --> + +<div id="linDivTitle">Linpha 2.0 :: <a href="/linpha2/?&linCat=alb&linId=0">></a> </div> + + +<!-- menu --> +<div id="linDivMenu"> + <ul style="margin-left: 50px;"> + <li><a href="/linpha2/?&linCat=alb">Home</a></li> + </ul> + <ul> + <li><span>Suche </span> + <ul> + <li><a href="/linpha2/?&linCat=search">Extended Search</a></li> + <li> + <div> + <form method="GET" action="/linpha2/?&linCat=search"> + <input type="text" class="linForms" name="search_text" value="" /> + <input type="hidden" name="button[meta][all]" value="1" /> + + <input type="hidden" name="cmd" value="search" /> + <input type="hidden" name="linCat" value="search" /> + <input type="submit" name="submit" class="linButton linInputMenu" value="Suche" /> + </form> + </div> + </li> + </ul> + </li> + </ul> + <ul> + <li> + <span>Login </span> + <ul id="linMenuLogin"> + <li> + <div> + <form action="" method="POST" onsubmit="new Ajax.Updater('linDivMenu', LINPHA_CLIENT + '/?linCat=ajax&reloadmenu&linId='+IdCurrent, {method: 'post', asynchronous:true, parameters:Form.serialize(this), evalScripts:true}); return false;"> + <!-- login infos --> + <br /> + <label for="linFormUsername" style="display: block; float: left; width: 80px;">Username: </label><input style="width: 105px;" class="linForms" type="text" name="username" value="" id="linFormUsername" /><br /> + <label for="linFormPassword" style="display: block; float: left; width: 80px;">Password: </label><input style="width: 105px;" class="linForms" type="password" name="password" value="" id="linFormPassword" /><br /> + <input type="checkbox" name="rememberme" value="true" id="linFormCheckboxRemember" /><label for="linFormCheckboxRemember">Remember Me</label> <input type="hidden" name="cmd" value="login" /> + <input type="submit" name="submit" class="linButton linInputMenu" value="Login" /><br /><br /> + <div style="font-size: smaller; border: 0px;">Um sich anmelden zu können, müssen Cookies aktiviert sein.</div> + </form> + </div> + </li> + </ul> + </li> + </ul> + <ul> + <li><span>More </span> + <ul id="linMenuMore"> + <li><span>Basket </span> + <ul> + <li><a href="/linpha2/?&linCat=alb&linId=4&admin_cmd=basket_add_all">Add All To Basket</a></li> + + <li><a href="/linpha2/?&linCat=alb&linId=4&view=basket">Switch To Basket View</a></li> + <li><a href="/linpha2/?&linCat=basket">Open Basket (0 Images)</a></li> + </ul> + </li> + <li><span>Ansicht </span> + <ul> + <li><span>Sort </span> + + <ul> + <li><a href="/linpha2/?&linCat=alb&linId=4&order_by=Name Asc">Name Asc</a></li> + <li><a href="/linpha2/?&linCat=alb&linId=4&order_by=Name Desc">Name Desc</a></li> + <li><a href="/linpha2/?&linCat=alb&linId=4&order_by=Date Asc">Date Asc</a></li> + <li><a href="/linpha2/?&linCat=alb&linId=4&order_by=Date Desc">Date Desc</a></li> + </ul> + </li> + + <li><span>Ansicht </span> + <ul> + <li><a href="/linpha2/?&linCat=alb&linId=4&view=thumb">Normal</a></li> + <li><a href="/linpha2/?&linCat=alb&linId=4&view=thumbdetail">Detail</a></li> + </ul> + </li> + <li><span>Thumb Size </span> + + <ul> + <li><a href="javascript:myLinThumbnails.setTnSize(50)">50 Pixel</a></li> + <li><a href="javascript:myLinThumbnails.setTnSize(75)">75 Pixel</a></li> + <li><a href="javascript:myLinThumbnails.setTnSize(100)">100 Pixel</a></li> + <li><a href="javascript:myLinThumbnails.setTnSize(150)">150 Pixel</a></li> + <li><a href="javascript:myLinThumbnails.setTnSize(200)">200 Pixel</a></li> + + <li><a href="javascript:myLinThumbnails.setTnSize(250)">250 Pixel</a></li> + <li><a href="javascript:myLinThumbnails.setTnSize(300)">300 Pixel</a></li> + <li><a href="javascript:myLinThumbnails.setTnSize(400)">400 Pixel</a></li> + <li><a href="javascript:myLinThumbnails.setTnSize(500)">500 Pixel</a></li> + </ul> + </li> + <li><span>Thumb Nr </span> + + <ul> + <li><a href="javascript:myLinThumbnails.setNrImages('auto')">auto</a></li> + <li><a href="javascript:myLinThumbnails.setNrImages('10')">10</a></li> + <li><a href="javascript:myLinThumbnails.setNrImages('25')">25</a></li> + <li><a href="javascript:myLinThumbnails.setNrImages('50')">50</a></li> + <li><a href="javascript:myLinThumbnails.setNrImages('100')">100</a></li> + + <li><a href="javascript:myLinThumbnails.setNrImages('200')">200</a></li> + <li><a href="javascript:myLinThumbnails.setNrImages('all')">all</a></li> + </ul> + </li> + </ul> + </li> + </ul> + </li> + </ul> + <!-- icons --> + <div> + <a href="javascript:myLinThumbnails.loadSlideshow()"><img src="../slideshow.png" border="0" title="Play Slideshow" /></a> + </div> +</div> + +<div style="clear: both;"></div> +<!-- end menu --> + + +<div id="linDivMainOuter"> + <div style="background: url(./roundcorners.php?color=87CEFA&bgcolor=DDDDDD&size=15&align=tr) no-repeat top right;"> + <img src="./roundcorners.php?color=87CEFA&bgcolor=DDDDDD&size=15&align=tl" alt="" width="15" height="15" /> + </div> + + <div id="linDivMain"> + + <h1 class="linStyle">Willkommen</h1>Hi, this is the home of "The PHP Photo Archive" <a href="http://linpha.sf.net">aka LinPHA</a>.<br /> <br /> + + + <!-- Random Images --> + + <!-- New Images --> + + <!-- Browse by Date --> + + <!-- Albums --> + <hr class="linStyle" /> + + <h1 class="linStyle">Alben</h1> + + <div class="linDivFolder"> + <div style="background: url(./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=tr) no-repeat top right;"> + <img src="./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=tl" alt="" width="15" height="15" /> + </div> + <div class="linDivThumbnail"> + <a href="/linpha2/?&linCat=alb&linId=4"><img class="linImgFolderThumbnail" src="../thumb1.gif" alt="thumbnail_album" /></a> + </div> + <div class="linDivFolderText"> + <h2 class="linStyle"><a href="/linpha2/?&linCat=alb&linId=4">2005.05.14-16 Barcelona</a></h2> + Di 25. Dez 2007 19:08:13<br />0 Fotos<br /> + </div> + <div style="clear: both;"></div> + <div style="background: url(./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=br) no-repeat top right;"> + <img src="./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=bl" alt="" width="15" height="15" /> + </div> + </div> + + <div class="linDivFolder"> + <div style="background: url(./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=tr) no-repeat top right;"> + <img src="./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=tl" alt="" width="15" height="15" /> + </div> + <div class="linDivThumbnail"> + <a href="/linpha2/?&linCat=alb&linId=4"><img class="linImgFolderThumbnail" src="../thumb2.gif" alt="thumbnail_album" /></a> + </div> + <div class="linDivFolderText"> + <h2 class="linStyle"><a href="/linpha2/?&linCat=alb&linId=4">2007.07-14-28 Fuerteventura</a></h2> + Di 25. Dez 2007 19:08:13<br />0 Fotos<br /> + </div> + <div style="clear: both;"></div> + <div style="background: url(./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=br) no-repeat top right;"> + <img src="./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=bl" alt="" width="15" height="15" /> + </div> + </div> + + <div class="linDivFolder"> + <div style="background: url(./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=tr) no-repeat top right;"> + <img src="./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=tl" alt="" width="15" height="15" /> + </div> + <div class="linDivThumbnail"> + <a href="/linpha2/?&linCat=alb&linId=4"><img class="linImgFolderThumbnail" src="../thumb3.gif" alt="thumbnail_album" /></a> + </div> + <div class="linDivFolderText"> + <h2 class="linStyle"><a href="/linpha2/?&linCat=alb&linId=4">2007.12.15-16 Skifahren Samnaun</a></h2> + Di 25. Dez 2007 19:08:13<br />0 Fotos<br /> + </div> + <div style="clear: both;"></div> + <div style="background: url(./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=br) no-repeat top right;"> + <img src="./roundcorners.php?color=D5FCF4&bgcolor=87CEFA&size=15&align=bl" alt="" width="15" height="15" /> + </div> + </div> + + </div> + + <div style="background: url(./roundcorners.php?color=87CEFA&bgcolor=DDDDDD&size=15&align=br) no-repeat top right;"> + <img src="./roundcorners.php?color=87CEFA&bgcolor=DDDDDD&size=15&align=bl" alt="" width="15" height="15" /> + </div> +</div> +</body> +</html> + Modified: trunk/misc/design/2strictutf8/index2.php =================================================================== --- trunk/misc/design/2strictutf8/index2.php 2008-01-15 22:22:11 UTC (rev 4811) +++ trunk/misc/design/2strictutf8/index2.php 2008-01-20 20:06:38 UTC (rev 4812) @@ -32,6 +32,14 @@ <body id="linBody"> + <h2>Test Zeichenkodierung Datei ISO-8859-2</h2> + abcd ABCD \xC4\xD6\xDC \xE4\xF6\xFC \xE9\xE8\xE0 $\xA3\x80@\xA2\xB0\xA7 + <br /> + <?php echo utf8_encode("abcd ABCD \xC4\xD6\xDC \xE4\xF6\xFC \xE9\xE8\xE0 \$\xA3\x80@\xA2\xB0\xA7"); ?> + <br /> + + <br /><br /> + <!-- syslog --> <div id="linDivSyslog" style="display: none;"> <div id="linDivSyslogClose"><a href="javascript:myLinGlobal.closeSyslog();">X</a></div> @@ -180,14 +188,6 @@ <!-- Albums --> <hr class="linStyle" /> - <h2>Test Zeichenkodierung</h2> - abcd ABCD \xC4\xD6\xDC \xE4\xF6\xFC \xE9\xE8\xE0 $\xA3\x80@\xA2\xB0\xA7 - <br /> - <?php echo utf8_encode("abcd ABCD \xC4\xD6\xDC \xE4\xF6\xFC \xE9\xE8\xE0 \$\xA3\x80@\xA2\xB0\xA7"); ?> - <br /> - - <br /><br /> - <h1 class="linStyle">Alben</h1> <div class="linDivFolder"> Modified: trunk/misc/design/2strictutf8/index3.php =================================================================== --- trunk/misc/design/2strictutf8/index3.php 2008-01-15 22:22:11 UTC (rev 4811) +++ trunk/misc/design/2strictutf8/index3.php 2008-01-20 20:06:38 UTC (rev 4812) @@ -32,6 +32,14 @@ <body id="linBody"> + <h2>Test Zeichenkodierung</h2> + abcd ABCD ÄÖÜ äöü éèà $£€@¢°§ + <br /> + <?php echo utf8_encode("abcd ABCD ÄÖÜ äöü éèà \$£€@¢°§"); ?> + <br /> + + <br /><br /> + <!-- syslog --> <div id="linDivSyslog" style="display: none;"> <div id="linDivSyslogClose"><a href="javascript:myLinGlobal.closeSyslog();">X</a></div> @@ -180,15 +188,6 @@ <!-- Albums --> <hr class="linStyle" /> - <h2>Test Zeichenkodierung</h2> - abcd ABCD ÄÖÜ äöü éèà $£€@¢°§ - <br /> - aaa - <?php echo utf8_encode("abcd ABCD ÄÖÜ äöü éèà \$£€@¢°§"); ?> - <br /> - - <br /><br /> - <h1 class="linStyle">Alben</h1> <div class="linDivFolder"> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: Tadashi J. <el...@us...> - 2008-01-16 17:49:16
|
Update of /cvsroot/linpha/linpha In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv30708 Modified Files: ChangeLog Log Message: * fixed xss. Index: ChangeLog =================================================================== RCS file: /cvsroot/linpha/linpha/ChangeLog,v retrieving revision 1.1274 retrieving revision 1.1275 diff -C2 -d -r1.1274 -r1.1275 *** ChangeLog 16 Jan 2008 17:42:20 -0000 1.1274 --- ChangeLog 16 Jan 2008 17:49:12 -0000 1.1275 *************** *** 4,7 **** --- 4,8 ---- * functions/other.php: fixed xss. * include/left_menu.class.php: fixed xss. + * plugins/stats/stats_view.php: fixed xss. * updated Japanese translation. * fixd typo. |
From: Tadashi J. <el...@us...> - 2008-01-16 17:49:16
|
Update of /cvsroot/linpha/linpha/plugins/stats In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv30708/plugins/stats Modified Files: stats_view.php Log Message: * fixed xss. Index: stats_view.php =================================================================== RCS file: /cvsroot/linpha/linpha/plugins/stats/stats_view.php,v retrieving revision 1.44 retrieving revision 1.45 diff -C2 -d -r1.44 -r1.45 *** stats_view.php 9 Aug 2007 08:35:53 -0000 1.44 --- stats_view.php 16 Jan 2008 17:49:12 -0000 1.45 *************** *** 186,198 **** <a href="javascript:void(0);" onclick="var loginWin = window.open('<?php echo TOP_DIR; ?>/actions/calender.php?form=date_selection.date_from&additional_cmd=change_custom()','Calender','height=250,width=300,scrollbars=no,menubar=no,status=no');" target="_top"><?php echo $search_from ?></a> ! <input type='text' onchange="change_custom()" name='date_from' value='<?php echo @$_REQUEST['date_from']; ?>' style='width:80'> / <a href="javascript:void(0);" onclick="var loginWin = window.open('<?php echo TOP_DIR; ?>/actions/calender.php?form=date_selection.date_to&additional_cmd=change_custom()','Calender','height=250,width=250,scrollbars=no,menubar=no,status=no'); " target="_top"><?php echo $search_to ?></a> ! <input type='text' onchange="change_custom()" name='date_to' value='<?php echo @$_REQUEST['date_to']; ?>' style='width:80'> </div> <input type='submit' name='btn_submit' value='Set'> ! <input type='hidden' name='mode' value='<?php echo $_REQUEST['mode']; ?>'> </form> </div> --- 186,198 ---- <a href="javascript:void(0);" onclick="var loginWin = window.open('<?php echo TOP_DIR; ?>/actions/calender.php?form=date_selection.date_from&additional_cmd=change_custom()','Calender','height=250,width=300,scrollbars=no,menubar=no,status=no');" target="_top"><?php echo $search_from ?></a> ! <input type='text' onchange="change_custom()" name='date_from' value='<?php echo htmlspecialchars(@$_REQUEST['date_from'],ENT_QUOTES); ?>' style='width:80'> / <a href="javascript:void(0);" onclick="var loginWin = window.open('<?php echo TOP_DIR; ?>/actions/calender.php?form=date_selection.date_to&additional_cmd=change_custom()','Calender','height=250,width=250,scrollbars=no,menubar=no,status=no'); " target="_top"><?php echo $search_to ?></a> ! <input type='text' onchange="change_custom()" name='date_to' value='<?php echo htmlspecialchars(@$_REQUEST['date_to'],ENT_QUOTES); ?>' style='width:80'> </div> <input type='submit' name='btn_submit' value='Set'> ! <input type='hidden' name='mode' value='<?php echo htmlspecialchars($_REQUEST['mode'],ENT_QUOTES); ?>'> </form> </div> *************** *** 295,300 **** ?> <tr> ! <td class='admintable'><?php echo $entry['key']; ?></td> ! <td class='admintable'><?php echo $entry['value']; ?></td> </tr> <?php --- 295,300 ---- ?> <tr> ! <td class='admintable'><?php echo htmlspecialchars($entry['key'],ENT_QUOTES); ?></td> ! <td class='admintable'><?php echo htmlspecialchars($entry['value'],ENT_QUOTES); ?></td> </tr> <?php |
From: Tadashi J. <el...@us...> - 2008-01-16 17:42:26
|
Update of /cvsroot/linpha/linpha In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv27512 Modified Files: ChangeLog viewer.php Log Message: * fixed xss. * fixed typo translation. Index: viewer.php =================================================================== RCS file: /cvsroot/linpha/linpha/viewer.php,v retrieving revision 1.40 retrieving revision 1.41 diff -C2 -d -r1.40 -r1.41 *** viewer.php 25 Jul 2006 16:23:32 -0000 1.40 --- viewer.php 16 Jan 2008 17:42:20 -0000 1.41 *************** *** 216,220 **** echo "<div align='center'><br> <table class='subfoldertable' width='90%' cellspacing='0'> ! <tr><th class='subfoldertable' colspan='4'>".$alb_th." ".$album_info['name']."</th></tr>"; // generate html output using table (2 columns * "x" rows) --- 216,220 ---- echo "<div align='center'><br> <table class='subfoldertable' width='90%' cellspacing='0'> ! <tr><th class='subfoldertable' colspan='4'>".$alb_th." ".htmlspecialchars($album_info['name'],ENT_QUOTES)."</th></tr>"; // generate html output using table (2 columns * "x" rows) *************** *** 300,304 **** echo " <img src='".TOP_DIR."/graphics/fileopen.png' alt='folder'>"; echo "<a href='".TOP_DIR."/viewer.php?albid=".$data[0]."&stage=".($_GET['stage']+1)."'>"; //id ! echo "<b><u>".$data[2]."</u></b></a><br /><br />"; //name if(read_config('show_comments_in_subfolder')) --- 300,304 ---- echo " <img src='".TOP_DIR."/graphics/fileopen.png' alt='folder'>"; echo "<a href='".TOP_DIR."/viewer.php?albid=".$data[0]."&stage=".($_GET['stage']+1)."'>"; //id ! echo "<b><u>".htmlspecialchars($data[2],ENT_QUOTES)."</u></b></a><br /><br />"; //name if(read_config('show_comments_in_subfolder')) Index: ChangeLog =================================================================== RCS file: /cvsroot/linpha/linpha/ChangeLog,v retrieving revision 1.1273 retrieving revision 1.1274 diff -C2 -d -r1.1273 -r1.1274 *** ChangeLog 16 Jan 2008 17:05:31 -0000 1.1273 --- ChangeLog 16 Jan 2008 17:42:20 -0000 1.1274 *************** *** 1,4 **** 2008-01-17 Tadashi Jokagi <elf2000 AT users DOT sourceforge DOT net> ! * ftp/index.php: fixed css and xss. * updated Japanese translation. * fixd typo. --- 1,7 ---- 2008-01-17 Tadashi Jokagi <elf2000 AT users DOT sourceforge DOT net> ! * ftp/index.php: fixed xss and xss. ! * viewer.php: fixed xss. ! * functions/other.php: fixed xss. ! * include/left_menu.class.php: fixed xss. * updated Japanese translation. * fixd typo. |
From: Tadashi J. <el...@us...> - 2008-01-16 17:42:26
|
Update of /cvsroot/linpha/linpha/include In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv27512/include Modified Files: left_menu.class.php Log Message: * fixed xss. * fixed typo translation. Index: left_menu.class.php =================================================================== RCS file: /cvsroot/linpha/linpha/include/left_menu.class.php,v retrieving revision 1.35 retrieving revision 1.36 diff -C2 -d -r1.35 -r1.36 *** left_menu.class.php 9 Aug 2007 08:35:53 -0000 1.35 --- left_menu.class.php 16 Jan 2008 17:42:21 -0000 1.36 *************** *** 164,168 **** }*/ echo "<a class='leftmenu' href='".TOP_DIR."/viewer.php?albid=".$data['id']."&stage=1'>". ! $data['name']."</a>\n"; /** --- 164,168 ---- }*/ echo "<a class='leftmenu' href='".TOP_DIR."/viewer.php?albid=".$data['id']."&stage=1'>". ! htmlspecialchars($data['name'],ENT_QUOTES)."</a>\n"; /** *************** *** 214,218 **** } echo "<a class='leftmenu' href='".TOP_DIR."/viewer.php?". ! "albid=".$data['id']."&stage=".$i."'>".$data['name']."</a>\n"; echo "\t\t</div>\n"; --- 214,218 ---- } echo "<a class='leftmenu' href='".TOP_DIR."/viewer.php?". ! "albid=".$data['id']."&stage=".$i."'>".htmlspecialchars($data['name'],ENT_QUOTES)."</a>\n"; echo "\t\t</div>\n"; |
From: Tadashi J. <el...@us...> - 2008-01-16 17:42:26
|
Update of /cvsroot/linpha/linpha/functions In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv27512/functions Modified Files: other.php Log Message: * fixed xss. * fixed typo translation. Index: other.php =================================================================== RCS file: /cvsroot/linpha/linpha/functions/other.php,v retrieving revision 1.153 retrieving revision 1.154 diff -C2 -d -r1.153 -r1.154 *** other.php 15 Jun 2007 13:26:31 -0000 1.153 --- other.php 16 Jan 2008 17:42:21 -0000 1.154 *************** *** 433,437 **** $select = ''; } ! echo "<option value='".$data['id']."'".$select.">".$data['name']."</option>\n"; build_album_select_sub_entry(2,$data['id'],$data['name'],$data['name'],$data['path']); --- 433,437 ---- $select = ''; } ! echo "<option value='".$data['id']."'".$select.">".htmlspecialchars($data['name'],ENT_QUOTES)."</option>\n"; build_album_select_sub_entry(2,$data['id'],$data['name'],$data['name'],$data['path']); *************** *** 462,466 **** $select = ''; } ! echo "<option value='".$new_id."'".$select.">".$new_path."</option>\n"; /** --- 462,466 ---- $select = ''; } ! echo "<option value='".$new_id."'".$select.">".htmlspecialchars($new_path,ENT_QUOTES)."</option>\n"; /** *************** *** 885,889 **** $menu_entries['static_link'] = 1; $path = str_replace("'",'%27',$GLOBALS['prev_path']); ! $static_link = TOP_DIR.'/viewer.php?album='.$path.'&pn='.$_GET['pn']; } --- 885,889 ---- $menu_entries['static_link'] = 1; $path = str_replace("'",'%27',$GLOBALS['prev_path']); ! $static_link = TOP_DIR.'/viewer.php?album='.urlencode($path).'&pn='.$_GET['pn']; } *************** *** 1257,1261 **** $select = ''; } ! echo "<option value='".$key."'".$select.">".$value."</option>\n"; } print "</select>"; --- 1257,1261 ---- $select = ''; } ! echo "<option value='".$key."'".$select.">".($value)."</option>\n"; } print "</select>"; *************** *** 1409,1413 **** if(in_group('admin') || !$array[2]) { ! echo '<option value="'.$array[0].'">'.$array[1].'</option>'."\n"; } } --- 1409,1413 ---- if(in_group('admin') || !$array[2]) { ! echo '<option value="'.htmlspecialchars($array[0],ENT_QUOTES).'">'.htmlspecialchars($array[1],ENT_QUOTES).'</option>'."\n"; } } *************** *** 1431,1435 **** if(in_group('admin') || !$array[2]) { ! echo '<option value="'.$array[0].'" selected>'.$array[1].'</option>'."\n"; } }else --- 1431,1435 ---- if(in_group('admin') || !$array[2]) { ! echo '<option value="'.htmlspecialchars($array[0],ENT_QUOTES).'" selected>'.htmlspecialchars($array[1],ENT_QUOTES).'</option>'."\n"; } }else *************** *** 1437,1441 **** if(in_group('admin') || !$array[2]) { ! echo '<option value="'.$array[0].'">'.$array[1].'</option>'."\n"; } } --- 1437,1441 ---- if(in_group('admin') || !$array[2]) { ! echo '<option value="'.htmlspecialchars($array[0],ENT_QUOTES).'">'.htmlspecialchars($array[1],ENT_QUOTES).'</option>'."\n"; } } |