Commit 0ae8da5c authored by Falko Timme's avatar Falko Timme
Browse files

- Added nginx support.

- Fixed FS#1745.
parent ebfdb3a1
......@@ -321,6 +321,12 @@ $form["tabs"]['web'] = array(
##################################
# Begin Datatable fields
##################################
'server_type' => array(
'datatype' => 'VARCHAR',
'formtype' => 'SELECT',
'default' => 'apache',
'value' => array('apache' => 'Apache', 'nginx' => 'nginx')
),
'website_basedir' => array(
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
......@@ -382,6 +388,28 @@ $form["tabs"]['web'] = array(
'width' => '40',
'maxlength' => '255'
),
'nginx_vhost_conf_dir' => array(
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
'default' => '',
'validators' => array(0 => array('type' => 'NOTEMPTY',
'errmsg' => 'nginx_vhost_conf_dir_error_empty'),
),
'value' => '',
'width' => '40',
'maxlength' => '255'
),
'nginx_vhost_conf_enabled_dir' => array(
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
'default' => '',
'validators' => array(0 => array('type' => 'NOTEMPTY',
'errmsg' => 'nginx_vhost_conf_enabled_dir_error_empty'),
),
'value' => '',
'width' => '40',
'maxlength' => '255'
),
'CA_path' => array(
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
......@@ -463,7 +491,7 @@ $form["tabs"]['web'] = array(
),
'value' => '',
'width' => '40',
'maxlength' => '255'
'maxlength' => '4000'
),
'htaccess_allow_override' => array(
'datatype' => 'VARCHAR',
......
......@@ -5,7 +5,7 @@ $wb['jailkit_chroot_app_programs_txt'] = 'Jailkit chrooted Anwendungen';
$wb['jailkit_chroot_cron_programs_txt'] = 'Jailkit cron chrooted Anwendungen';
$wb['website_path_txt'] = 'Website Pfad';
$wb['website_symlinks_txt'] = 'Website Symlinks';
$wb['website_symlinks_rel_txt'] = 'Make relative symlinks';
$wb['website_symlinks_rel_txt'] = 'Erstelle relative Symlinks';
$wb['vhost_conf_dir_txt'] = 'Vhost config dir';
$wb['vhost_conf_enabled_dir_txt'] = 'Vhost config enabled dir';
$wb['getmail_config_dir_txt'] = 'Getmail config dir';
......@@ -85,5 +85,8 @@ $wb['ufw_default_output_policy_txt'] = 'Default Output Policy';
$wb['ufw_default_forward_policy_txt'] = 'Default Forward Policy';
$wb['ufw_default_application_policy_txt'] = 'Default Application Policy';
$wb['ufw_log_level_txt'] = 'Log Level';
$wb['network_config_warning_txt'] = 'The network configuration option is only available for Debian and Ubuntu Servers. Do not enable this option if your network interface is not eth0.';
$wb['network_config_warning_txt'] = 'Die Netzwerk-Konfiguration-Option ist nur auf Debian- und Ubuntu-Servern verfügbar. Aktivieren Sie diese Option nicht, falls Ihr Netzwerk-Interface nicht eth0 heißt.';
$wb["server_type_txt"] = 'Server-Typ';
$wb["nginx_vhost_conf_dir_txt"] = 'nginx Vhost config dir';
$wb["nginx_vhost_conf_enabled_dir_txt"] = 'nginx Vhost config enabled dir';
?>
......@@ -88,4 +88,7 @@ $wb["CA_path_txt"] = 'CA Path';
$wb["CA_pass_txt"] = 'CA passphrase';
$wb["fastcgi_config_syntax_txt"] = 'FastCGI config syntax';
$wb["backup_dir_ftpread_txt"] = 'Backup dir. readable for website FTP users.';
$wb["server_type_txt"] = 'Server Type';
$wb["nginx_vhost_conf_dir_txt"] = 'nginx Vhost config dir';
$wb["nginx_vhost_conf_enabled_dir_txt"] = 'nginx Vhost config enabled dir';
?>
\ No newline at end of file
......@@ -5,6 +5,14 @@
<div class="pnl_formsarea">
<fieldset class="inlineLabels">
<div class="ctrlHolder">
<p class="label">{tmpl_var name='server_type_txt'}</p>
<div class="multiField">
<select name="server_type" id="server_type" class="selectInput">
{tmpl_var name='server_type'}
</select>
</div>
</div>
<div class="ctrlHolder">
<label for="website_basedir">{tmpl_var name='website_basedir_txt'}</label>
<input name="website_basedir" id="website_basedir" value="{tmpl_var name='website_basedir'}" size="40" maxlength="255" type="text" class="textInput" />
......@@ -31,6 +39,14 @@
<label for="vhost_conf_enabled_dir">{tmpl_var name='vhost_conf_enabled_dir_txt'}</label>
<input name="vhost_conf_enabled_dir" id="vhost_conf_enabled_dir" value="{tmpl_var name='vhost_conf_enabled_dir'}" size="40" maxlength="255" type="text" class="textInput" />
</div>
<div class="ctrlHolder">
<label for="nginx_vhost_conf_dir">{tmpl_var name='nginx_vhost_conf_dir_txt'}</label>
<input name="nginx_vhost_conf_dir" id="nginx_vhost_conf_dir" value="{tmpl_var name='nginx_vhost_conf_dir'}" size="40" maxlength="255" type="text" class="textInput" />
</div>
<div class="ctrlHolder">
<label for="nginx_vhost_conf_enabled_dir">{tmpl_var name='nginx_vhost_conf_enabled_dir_txt'}</label>
<input name="nginx_vhost_conf_enabled_dir" id="nginx_vhost_conf_enabled_dir" value="{tmpl_var name='nginx_vhost_conf_enabled_dir'}" size="40" maxlength="255" type="text" class="textInput" />
</div>
<div class="ctrlHolder">
<label for="CA_path">{tmpl_var name='CA_path_txt'}</label>
<input name="CA_path" id="CA_path" value="{tmpl_var name='CA_path'}" size="40" maxlength="255" type="text" class="textInput" />
......@@ -71,7 +87,7 @@
</div>
<div class="ctrlHolder">
<label for="php_open_basedir">{tmpl_var name='php_open_basedir_txt'}</label>
<input name="php_open_basedir" id="php_open_basedir" value="{tmpl_var name='php_open_basedir'}" size="40" maxlength="255" type="text" class="textInput" />
<input name="php_open_basedir" id="php_open_basedir" value="{tmpl_var name='php_open_basedir'}" size="40" type="text" class="textInput" />
</div>
<div class="ctrlHolder">
<label for="htaccess_allow_override">{tmpl_var name='htaccess_allow_override_txt'}</label>
......@@ -116,3 +132,39 @@
</div>
</div>
<script language="JavaScript" type="text/javascript">
var serverType = jQuery('#server_type').val();
adjustForm(serverType);
jQuery('#server_type').change(function(){
serverType = $(this).val();
adjustForm(serverType);
});
function adjustForm(serverType){
if(serverType == "nginx"){
jQuery('#vhost_conf_dir').closest('div.ctrlHolder').hide();
jQuery('#vhost_conf_enabled_dir').closest('div.ctrlHolder').hide();
jQuery('#nginx_vhost_conf_dir').closest('div.ctrlHolder').show();
jQuery('#nginx_vhost_conf_enabled_dir').closest('div.ctrlHolder').show();
jQuery('#security_level').closest('div.ctrlHolder').hide();
jQuery('#check_apache_config').closest('div.ctrlHolder').hide();
jQuery('#user').closest('div.ctrlHolder').hide();
jQuery('#group').closest('div.ctrlHolder').hide();
jQuery('#php_ini_path_apache').closest('div.ctrlHolder').hide();
jQuery('#htaccess_allow_override').closest('div.ctrlHolder').hide();
} else {
jQuery('#vhost_conf_dir').closest('div.ctrlHolder').show();
jQuery('#vhost_conf_enabled_dir').closest('div.ctrlHolder').show();
jQuery('#nginx_vhost_conf_dir').closest('div.ctrlHolder').hide();
jQuery('#nginx_vhost_conf_enabled_dir').closest('div.ctrlHolder').hide();
jQuery('#security_level').closest('div.ctrlHolder').show();
jQuery('#check_apache_config').closest('div.ctrlHolder').show();
jQuery('#user').closest('div.ctrlHolder').show();
jQuery('#group').closest('div.ctrlHolder').show();
jQuery('#php_ini_path_apache').closest('div.ctrlHolder').show();
jQuery('#htaccess_allow_override').closest('div.ctrlHolder').show();
}
}
</script>
\ No newline at end of file
This diff is collapsed.
Animation Release Notes
*** version 2.2.0 **
* Fixed AnimMgr.stop() when called without tween
*** version 0.12.2 ***
* raised AnimMgr.fps to 1000
*** version 0.12.1 ***
* minified version no longer strips line breaks
*** version 0.12.0 ***
* added boolean finish argument to Anim.stop()
*** version 0.11.3 ***
* no changes
*** version 0.11.1 ***
* changed "prototype" shorthand to "proto" (workaround firefox < 1.5 scoping
bug)
*** version 0.11.0 ***
* ColorAnim subclass added
* Motion and Scroll now inherit from ColorAnim
* getDefaultUnit method added
* defaultUnit and defaultUnits deprecated
* getDefault and setDefault methods deprecated
*** version 0.10.0 ***
* Scroll now handles relative ("by") animation correctly
* Now converts "auto" values of "from" to appropriate initial values
*** version 0.9.0 ***
* Initial release
This diff is collapsed.
/*
Copyright (c) 2007, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 2.2.0
*/
YAHOO.util.Anim=function(el,attributes,duration,method){if(el){this.init(el,attributes,duration,method);}};YAHOO.util.Anim.prototype={toString:function(){var el=this.getEl();var id=el.id||el.tagName;return("Anim "+id);},patterns:{noNegatives:/width|height|opacity|padding/i,offsetAttribute:/^((width|height)|(top|left))$/,defaultUnit:/width|height|top$|bottom$|left$|right$/i,offsetUnit:/\d+(em|%|en|ex|pt|in|cm|mm|pc)$/i},doMethod:function(attr,start,end){return this.method(this.currentFrame,start,end-start,this.totalFrames);},setAttribute:function(attr,val,unit){if(this.patterns.noNegatives.test(attr)){val=(val>0)?val:0;}
YAHOO.util.Dom.setStyle(this.getEl(),attr,val+unit);},getAttribute:function(attr){var el=this.getEl();var val=YAHOO.util.Dom.getStyle(el,attr);if(val!=='auto'&&!this.patterns.offsetUnit.test(val)){return parseFloat(val);}
var a=this.patterns.offsetAttribute.exec(attr)||[];var pos=!!(a[3]);var box=!!(a[2]);if(box||(YAHOO.util.Dom.getStyle(el,'position')=='absolute'&&pos)){val=el['offset'+a[0].charAt(0).toUpperCase()+a[0].substr(1)];}else{val=0;}
return val;},getDefaultUnit:function(attr){if(this.patterns.defaultUnit.test(attr)){return'px';}
return'';},setRuntimeAttribute:function(attr){var start;var end;var attributes=this.attributes;this.runtimeAttributes[attr]={};var isset=function(prop){return(typeof prop!=='undefined');};if(!isset(attributes[attr]['to'])&&!isset(attributes[attr]['by'])){return false;}
start=(isset(attributes[attr]['from']))?attributes[attr]['from']:this.getAttribute(attr);if(isset(attributes[attr]['to'])){end=attributes[attr]['to'];}else if(isset(attributes[attr]['by'])){if(start.constructor==Array){end=[];for(var i=0,len=start.length;i<len;++i){end[i]=start[i]+attributes[attr]['by'][i];}}else{end=start+attributes[attr]['by'];}}
this.runtimeAttributes[attr].start=start;this.runtimeAttributes[attr].end=end;this.runtimeAttributes[attr].unit=(isset(attributes[attr].unit))?attributes[attr]['unit']:this.getDefaultUnit(attr);},init:function(el,attributes,duration,method){var isAnimated=false;var startTime=null;var actualFrames=0;el=YAHOO.util.Dom.get(el);this.attributes=attributes||{};this.duration=duration||1;this.method=method||YAHOO.util.Easing.easeNone;this.useSeconds=true;this.currentFrame=0;this.totalFrames=YAHOO.util.AnimMgr.fps;this.getEl=function(){return el;};this.isAnimated=function(){return isAnimated;};this.getStartTime=function(){return startTime;};this.runtimeAttributes={};this.animate=function(){if(this.isAnimated()){return false;}
this.currentFrame=0;this.totalFrames=(this.useSeconds)?Math.ceil(YAHOO.util.AnimMgr.fps*this.duration):this.duration;YAHOO.util.AnimMgr.registerElement(this);};this.stop=function(finish){if(finish){this.currentFrame=this.totalFrames;this._onTween.fire();}
YAHOO.util.AnimMgr.stop(this);};var onStart=function(){this.onStart.fire();this.runtimeAttributes={};for(var attr in this.attributes){this.setRuntimeAttribute(attr);}
isAnimated=true;actualFrames=0;startTime=new Date();};var onTween=function(){var data={duration:new Date()-this.getStartTime(),currentFrame:this.currentFrame};data.toString=function(){return('duration: '+data.duration+', currentFrame: '+data.currentFrame);};this.onTween.fire(data);var runtimeAttributes=this.runtimeAttributes;for(var attr in runtimeAttributes){this.setAttribute(attr,this.doMethod(attr,runtimeAttributes[attr].start,runtimeAttributes[attr].end),runtimeAttributes[attr].unit);}
actualFrames+=1;};var onComplete=function(){var actual_duration=(new Date()-startTime)/1000;var data={duration:actual_duration,frames:actualFrames,fps:actualFrames/actual_duration};data.toString=function(){return('duration: '+data.duration+', frames: '+data.frames+', fps: '+data.fps);};isAnimated=false;actualFrames=0;this.onComplete.fire(data);};this._onStart=new YAHOO.util.CustomEvent('_start',this,true);this.onStart=new YAHOO.util.CustomEvent('start',this);this.onTween=new YAHOO.util.CustomEvent('tween',this);this._onTween=new YAHOO.util.CustomEvent('_tween',this,true);this.onComplete=new YAHOO.util.CustomEvent('complete',this);this._onComplete=new YAHOO.util.CustomEvent('_complete',this,true);this._onStart.subscribe(onStart);this._onTween.subscribe(onTween);this._onComplete.subscribe(onComplete);}};YAHOO.util.AnimMgr=new function(){var thread=null;var queue=[];var tweenCount=0;this.fps=1000;this.delay=1;this.registerElement=function(tween){queue[queue.length]=tween;tweenCount+=1;tween._onStart.fire();this.start();};this.unRegister=function(tween,index){tween._onComplete.fire();index=index||getIndex(tween);if(index!=-1){queue.splice(index,1);}
tweenCount-=1;if(tweenCount<=0){this.stop();}};this.start=function(){if(thread===null){thread=setInterval(this.run,this.delay);}};this.stop=function(tween){if(!tween){clearInterval(thread);for(var i=0,len=queue.length;i<len;++i){if(queue[0].isAnimated()){this.unRegister(queue[0],0);}}
queue=[];thread=null;tweenCount=0;}
else{this.unRegister(tween);}};this.run=function(){for(var i=0,len=queue.length;i<len;++i){var tween=queue[i];if(!tween||!tween.isAnimated()){continue;}
if(tween.currentFrame<tween.totalFrames||tween.totalFrames===null)
{tween.currentFrame+=1;if(tween.useSeconds){correctFrame(tween);}
tween._onTween.fire();}
else{YAHOO.util.AnimMgr.stop(tween,i);}}};var getIndex=function(anim){for(var i=0,len=queue.length;i<len;++i){if(queue[i]==anim){return i;}}
return-1;};var correctFrame=function(tween){var frames=tween.totalFrames;var frame=tween.currentFrame;var expected=(tween.currentFrame*tween.duration*1000/tween.totalFrames);var elapsed=(new Date()-tween.getStartTime());var tweak=0;if(elapsed<tween.duration*1000){tweak=Math.round((elapsed/expected-1)*tween.currentFrame);}else{tweak=frames-(frame+1);}
if(tweak>0&&isFinite(tweak)){if(tween.currentFrame+tweak>=frames){tweak=frames-(frame+1);}
tween.currentFrame+=tweak;}};};YAHOO.util.Bezier=new function(){this.getPosition=function(points,t){var n=points.length;var tmp=[];for(var i=0;i<n;++i){tmp[i]=[points[i][0],points[i][1]];}
for(var j=1;j<n;++j){for(i=0;i<n-j;++i){tmp[i][0]=(1-t)*tmp[i][0]+t*tmp[parseInt(i+1,10)][0];tmp[i][1]=(1-t)*tmp[i][1]+t*tmp[parseInt(i+1,10)][1];}}
return[tmp[0][0],tmp[0][1]];};};(function(){YAHOO.util.ColorAnim=function(el,attributes,duration,method){YAHOO.util.ColorAnim.superclass.constructor.call(this,el,attributes,duration,method);};YAHOO.extend(YAHOO.util.ColorAnim,YAHOO.util.Anim);var Y=YAHOO.util;var superclass=Y.ColorAnim.superclass;var proto=Y.ColorAnim.prototype;proto.toString=function(){var el=this.getEl();var id=el.id||el.tagName;return("ColorAnim "+id);};proto.patterns.color=/color$/i;proto.patterns.rgb=/^rgb\(([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\)$/i;proto.patterns.hex=/^#?([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})$/i;proto.patterns.hex3=/^#?([0-9A-F]{1})([0-9A-F]{1})([0-9A-F]{1})$/i;proto.patterns.transparent=/^transparent|rgba\(0, 0, 0, 0\)$/;proto.parseColor=function(s){if(s.length==3){return s;}
var c=this.patterns.hex.exec(s);if(c&&c.length==4){return[parseInt(c[1],16),parseInt(c[2],16),parseInt(c[3],16)];}
c=this.patterns.rgb.exec(s);if(c&&c.length==4){return[parseInt(c[1],10),parseInt(c[2],10),parseInt(c[3],10)];}
c=this.patterns.hex3.exec(s);if(c&&c.length==4){return[parseInt(c[1]+c[1],16),parseInt(c[2]+c[2],16),parseInt(c[3]+c[3],16)];}
return null;};proto.getAttribute=function(attr){var el=this.getEl();if(this.patterns.color.test(attr)){var val=YAHOO.util.Dom.getStyle(el,attr);if(this.patterns.transparent.test(val)){var parent=el.parentNode;val=Y.Dom.getStyle(parent,attr);while(parent&&this.patterns.transparent.test(val)){parent=parent.parentNode;val=Y.Dom.getStyle(parent,attr);if(parent.tagName.toUpperCase()=='HTML'){val='#fff';}}}}else{val=superclass.getAttribute.call(this,attr);}
return val;};proto.doMethod=function(attr,start,end){var val;if(this.patterns.color.test(attr)){val=[];for(var i=0,len=start.length;i<len;++i){val[i]=superclass.doMethod.call(this,attr,start[i],end[i]);}
val='rgb('+Math.floor(val[0])+','+Math.floor(val[1])+','+Math.floor(val[2])+')';}
else{val=superclass.doMethod.call(this,attr,start,end);}
return val;};proto.setRuntimeAttribute=function(attr){superclass.setRuntimeAttribute.call(this,attr);if(this.patterns.color.test(attr)){var attributes=this.attributes;var start=this.parseColor(this.runtimeAttributes[attr].start);var end=this.parseColor(this.runtimeAttributes[attr].end);if(typeof attributes[attr]['to']==='undefined'&&typeof attributes[attr]['by']!=='undefined'){end=this.parseColor(attributes[attr].by);for(var i=0,len=start.length;i<len;++i){end[i]=start[i]+end[i];}}
this.runtimeAttributes[attr].start=start;this.runtimeAttributes[attr].end=end;}};})();YAHOO.util.Easing={easeNone:function(t,b,c,d){return c*t/d+b;},easeIn:function(t,b,c,d){return c*(t/=d)*t+b;},easeOut:function(t,b,c,d){return-c*(t/=d)*(t-2)+b;},easeBoth:function(t,b,c,d){if((t/=d/2)<1){return c/2*t*t+b;}
return-c/2*((--t)*(t-2)-1)+b;},easeInStrong:function(t,b,c,d){return c*(t/=d)*t*t*t+b;},easeOutStrong:function(t,b,c,d){return-c*((t=t/d-1)*t*t*t-1)+b;},easeBothStrong:function(t,b,c,d){if((t/=d/2)<1){return c/2*t*t*t*t+b;}
return-c/2*((t-=2)*t*t*t-2)+b;},elasticIn:function(t,b,c,d,a,p){if(t==0){return b;}
if((t/=d)==1){return b+c;}
if(!p){p=d*.3;}
if(!a||a<Math.abs(c)){a=c;var s=p/4;}
else{var s=p/(2*Math.PI)*Math.asin(c/a);}
return-(a*Math.pow(2,10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p))+b;},elasticOut:function(t,b,c,d,a,p){if(t==0){return b;}
if((t/=d)==1){return b+c;}
if(!p){p=d*.3;}
if(!a||a<Math.abs(c)){a=c;var s=p/4;}
else{var s=p/(2*Math.PI)*Math.asin(c/a);}
return a*Math.pow(2,-10*t)*Math.sin((t*d-s)*(2*Math.PI)/p)+c+b;},elasticBoth:function(t,b,c,d,a,p){if(t==0){return b;}
if((t/=d/2)==2){return b+c;}
if(!p){p=d*(.3*1.5);}
if(!a||a<Math.abs(c)){a=c;var s=p/4;}
else{var s=p/(2*Math.PI)*Math.asin(c/a);}
if(t<1){return-.5*(a*Math.pow(2,10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p))+b;}
return a*Math.pow(2,-10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p)*.5+c+b;},backIn:function(t,b,c,d,s){if(typeof s=='undefined'){s=1.70158;}
return c*(t/=d)*t*((s+1)*t-s)+b;},backOut:function(t,b,c,d,s){if(typeof s=='undefined'){s=1.70158;}
return c*((t=t/d-1)*t*((s+1)*t+s)+1)+b;},backBoth:function(t,b,c,d,s){if(typeof s=='undefined'){s=1.70158;}
if((t/=d/2)<1){return c/2*(t*t*(((s*=(1.525))+1)*t-s))+b;}
return c/2*((t-=2)*t*(((s*=(1.525))+1)*t+s)+2)+b;},bounceIn:function(t,b,c,d){return c-YAHOO.util.Easing.bounceOut(d-t,0,c,d)+b;},bounceOut:function(t,b,c,d){if((t/=d)<(1/2.75)){return c*(7.5625*t*t)+b;}else if(t<(2/2.75)){return c*(7.5625*(t-=(1.5/2.75))*t+.75)+b;}else if(t<(2.5/2.75)){return c*(7.5625*(t-=(2.25/2.75))*t+.9375)+b;}
return c*(7.5625*(t-=(2.625/2.75))*t+.984375)+b;},bounceBoth:function(t,b,c,d){if(t<d/2){return YAHOO.util.Easing.bounceIn(t*2,0,c,d)*.5+b;}
return YAHOO.util.Easing.bounceOut(t*2-d,0,c,d)*.5+c*.5+b;}};(function(){YAHOO.util.Motion=function(el,attributes,duration,method){if(el){YAHOO.util.Motion.superclass.constructor.call(this,el,attributes,duration,method);}};YAHOO.extend(YAHOO.util.Motion,YAHOO.util.ColorAnim);var Y=YAHOO.util;var superclass=Y.Motion.superclass;var proto=Y.Motion.prototype;proto.toString=function(){var el=this.getEl();var id=el.id||el.tagName;return("Motion "+id);};proto.patterns.points=/^points$/i;proto.setAttribute=function(attr,val,unit){if(this.patterns.points.test(attr)){unit=unit||'px';superclass.setAttribute.call(this,'left',val[0],unit);superclass.setAttribute.call(this,'top',val[1],unit);}else{superclass.setAttribute.call(this,attr,val,unit);}};proto.getAttribute=function(attr){if(this.patterns.points.test(attr)){var val=[superclass.getAttribute.call(this,'left'),superclass.getAttribute.call(this,'top')];}else{val=superclass.getAttribute.call(this,attr);}
return val;};proto.doMethod=function(attr,start,end){var val=null;if(this.patterns.points.test(attr)){var t=this.method(this.currentFrame,0,100,this.totalFrames)/100;val=Y.Bezier.getPosition(this.runtimeAttributes[attr],t);}else{val=superclass.doMethod.call(this,attr,start,end);}
return val;};proto.setRuntimeAttribute=function(attr){if(this.patterns.points.test(attr)){var el=this.getEl();var attributes=this.attributes;var start;var control=attributes['points']['control']||[];var end;var i,len;if(control.length>0&&!(control[0]instanceof Array)){control=[control];}else{var tmp=[];for(i=0,len=control.length;i<len;++i){tmp[i]=control[i];}
control=tmp;}
if(Y.Dom.getStyle(el,'position')=='static'){Y.Dom.setStyle(el,'position','relative');}
if(isset(attributes['points']['from'])){Y.Dom.setXY(el,attributes['points']['from']);}
else{Y.Dom.setXY(el,Y.Dom.getXY(el));}
start=this.getAttribute('points');if(isset(attributes['points']['to'])){end=translateValues.call(this,attributes['points']['to'],start);var pageXY=Y.Dom.getXY(this.getEl());for(i=0,len=control.length;i<len;++i){control[i]=translateValues.call(this,control[i],start);}}else if(isset(attributes['points']['by'])){end=[start[0]+attributes['points']['by'][0],start[1]+attributes['points']['by'][1]];for(i=0,len=control.length;i<len;++i){control[i]=[start[0]+control[i][0],start[1]+control[i][1]];}}
this.runtimeAttributes[attr]=[start];if(control.length>0){this.runtimeAttributes[attr]=this.runtimeAttributes[attr].concat(control);}
this.runtimeAttributes[attr][this.runtimeAttributes[attr].length]=end;}
else{superclass.setRuntimeAttribute.call(this,attr);}};var translateValues=function(val,start){var pageXY=Y.Dom.getXY(this.getEl());val=[val[0]-pageXY[0]+start[0],val[1]-pageXY[1]+start[1]];return val;};var isset=function(prop){return(typeof prop!=='undefined');};})();(function(){YAHOO.util.Scroll=function(el,attributes,duration,method){if(el){YAHOO.util.Scroll.superclass.constructor.call(this,el,attributes,duration,method);}};YAHOO.extend(YAHOO.util.Scroll,YAHOO.util.ColorAnim);var Y=YAHOO.util;var superclass=Y.Scroll.superclass;var proto=Y.Scroll.prototype;proto.toString=function(){var el=this.getEl();var id=el.id||el.tagName;return("Scroll "+id);};proto.doMethod=function(attr,start,end){var val=null;if(attr=='scroll'){val=[this.method(this.currentFrame,start[0],end[0]-start[0],this.totalFrames),this.method(this.currentFrame,start[1],end[1]-start[1],this.totalFrames)];}else{val=superclass.doMethod.call(this,attr,start,end);}
return val;};proto.getAttribute=function(attr){var val=null;var el=this.getEl();if(attr=='scroll'){val=[el.scrollLeft,el.scrollTop];}else{val=superclass.getAttribute.call(this,attr);}
return val;};proto.setAttribute=function(attr,val,unit){var el=this.getEl();if(attr=='scroll'){el.scrollLeft=val[0];el.scrollTop=val[1];}else{superclass.setAttribute.call(this,attr,val,unit);}};})();YAHOO.register("animation",YAHOO.util.Anim,{version:"2.2.0",build:"127"});
\ No newline at end of file
This diff is collapsed.
AutoComplete Release Notes
*** version 2.2.0 ***
* No changes.
*** version 0.12.2 ***
* No changes.
*** version 0.12.1 ***
* No longer trigger typeAhead feature when user is backspacing on input text.
*** version 0.12.0 ***
* The following constants must be defined as static class properties and are no longer
available as instance properties:
YAHOO.widget.DataSource.ERROR_DATANULL
YAHOO.widget.DataSource.ERROR_DATAPARSE
YAHOO.widget.DS_XHR.TYPE_JSON
YAHOO.widget.DS_XHR.TYPE_XML
YAHOO.widget.DS_XHR.TYPE_FLAT
YAHOO.widget.DS_XHR.ERROR_DATAXHR
* The property minQueryLength now supports zero and negative number values for
DS_JSFunction and DS_XHR objects, to enable null or empty string queries and to disable
AutoComplete functionality altogether, respectively.
* Enabling the alwaysShowContainer feature will no longer send containerExpandEvent or
containerCollapseEvent.
**** version 0.11.3 ***
* The iFrameSrc property has been deprecated. Implementers no longer need to
specify an https URL to avoid IE security warnings when working with sites over
SSL.
*** version 0.11.0 ***
* The method getListIds() has been deprecated for getListItems(), which returns
an array of DOM references.
* All classnames have been prefixed with "yui-ac-".
* Container elements should no longer have CSS property "display" set to "none".
* The useIFrame property can now be set after instantiation.
* On some browsers, the unmatchedItemSelectEvent may not be fired properly when
delimiter characters are defined.
* On some browsers, defining delimiter characters while enabling forceSelection
may result in unexpected behavior.
*** version 0.10.0 ***
* Initial release
* In order to enable the useIFrame property, it should be set in the
constructor.
* On some browsers, defining delimiter characters while enabling forceSelection
may result in unexpected behavior.
This diff is collapsed.
This diff is collapsed.
*** Version 2.2.0 ***
* Button Control introduced
\ No newline at end of file
/*
Copyright (c) 2007, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 2.2.0
*/
.yuibutton {
display:-moz-inline-stack; /* Gecko */
display:inline-block; /* IE, Opera and Safari */
border-width:1px 0;
border-style:solid;
border-color:#999;
background:#ecece3 url(background.png) left center;
/* Give the transparent background image to IE 6 */
_background-image:none;
_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../../build/button/assets/background.png', sizingMethod = 'scale');
margin:auto .25em;
}
.yuibutton .first-child {
display:block; /* Gecko, Opera and Safari */
*display:inline-block; /* IE */
border-width:0 1px;
border-style:solid;
border-color:#999;
margin:0 -1px;
*position:relative;
*left:-1px;
}
.yuibutton button,
.yuibutton a {
display:block; /* Opera and Safari */
display:-moz-inline-block; /* Gecko */
*display:inline-block; /* IE */
padding:.25em .5em;
border:1px solid #ccc;
}
.yuibutton button {
overflow:visible; /* Remove superfluous padding for IE */
font-size:100%; /* Makes form controls resizable in IE */
background-color:transparent;
cursor:pointer;
cursor:hand;
}
.yuibutton a {
text-decoration:none;
color:#000;
}
.yuibutton.splitbutton button,
.yuibutton.menubutton button {
padding-right:20px;
background-position:right center;
background-repeat:no-repeat;
}
.yuibutton.menubutton button {
background-image:url(menuarrow.gif);
}
.yuibutton.splitbutton button {
background-image:url(splitarrow.gif);
}
/* Focus state */
.yuibutton.focus {
border-color:#5e5c95;
}
.yuibutton.focus .first-child {
border-color:#5e5c95;
}
.yuibutton.focus button,
.yuibutton.focus a {
border-color:#cec1fc;
}
/* Hover state */
.yuibutton.hover {
border-color:#406fac;
background-color:#98d5fc;
}
.yuibutton.hover .first-child {
border-color:#406fac;
}
.yuibutton.hover button,
.yuibutton.hover a {
border-color:#7099ce;
}
/* Active state */
.yuibutton.active {
border-color:#7a8180;
background-color:#333;
}
.yuibutton.active .first-child {
border-color:#7a8180;
}
.yuibutton.active button,
.yuibutton.active a {