<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>demo/Admin/image/lower-left.gif</filename>
    </added>
    <added>
      <filename>demo/Admin/image/lower-right.gif</filename>
    </added>
    <added>
      <filename>demo/Admin/image/upper-left.gif</filename>
    </added>
    <added>
      <filename>demo/Admin/image/upper-right.gif</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -5,6 +5,7 @@ all:
 	-mkdir out
 	-cp ../../clients/js/*.js out/
 	-rm template/elem/*.tt~
+	-cp image/*.* out/
 	jemplate --runtime &gt; out/admin-jemplate.js
 	jemplate --compile template/elem/ &gt;&gt; out/admin-jemplate.js
 	tpage --include_path=template template/index.tt &gt; out/index.html</diff>
      <filename>demo/Admin/Makefile</filename>
    </modified>
    <modified>
      <diff>@@ -16,10 +16,131 @@ td {
 
 
 /* from Yahoo! login */
+p, form, fieldset, h1, h2, h3, h4, h5, h6{margin:0;padding:0}
+fieldset{padding:10px 0}
+img, fieldset{border:0}
+legend{display:none}
+label{font-weight:normal;cursor:pointer;cursor:hand}
+.concatid{cursor:help}
+a{color:#053799;text-decoration:none}
+a:hover{text-decoration:underline}
+.yregclb:after{content:&quot;.&quot;;display:block;font-size:0px;line-height:0;height:0;clear:both;visibility:hidden}
+body{text-align:center;color:#333;margin:5px 0 0;padding:0}
+#yregwp{text-align:left;margin:0 auto;width:750px}
+#yregmst{position:relative;width:750px;margin:0 0 12px}
+#yregmst .yregmstl{position:absolute;top:0;right:0}
+#yregct{padding:0 0 10px}
+#yreglg{float:right;width:240px;margin:0 0 20px} 
+#yregtxt{margin:0 270px 0 20px}
+#yregtctx #yregtxt {width:490px;margin:0 0 10px;} /* ctx template */
+#yregft{text-align:center;font-size:77%;padding:10px 0 0;border-top:1px solid #777}
+.yregbx{border:1px solid #656565;margin:0 0 10px;background-color:#f9f9f9} 
+.yregbxi{margin:11px}
+.top .yregbxi{margin-top:20px}
+.ct, .ct .cl, .cb, .cb .cl{display:block;font-size:0;line-height:0;margin:0;height:4px;position:relative}
+.ct, .cb{width:100%;right:-1px}
+.ct .cl, .cb .cl{width:4px;left:-2px}
+#yregtxt .yregbx{background-color:#e9f2d7;border-color:#87bb69}
+#yregtxt .yregbx h2{font-size:109%}
+#yregtxt .ct{background-image:url(https://a248.e.akamai.net/sec.yimg.com/i/reg/cr_grn_ne.gif)}
+#yregtxt .ct .cl{background-image:url(https://a248.e.akamai.net/sec.yimg.com/i/reg/cr_grn_nw.gif)}
+#yregtxt .cb{background-image:url(https://a248.e.akamai.net/sec.yimg.com/i/reg/cr_grn_se.gif)}
+#yregtxt .cb .cl{background-image:url(https://a248.e.akamai.net/sec.yimg.com/i/reg/cr_grn_sw.gif)}
+.flicker #yregtxt .yregbx {background-color:#e3f0ff;border-color:#bbdbfe} /*flicker blue */
+.flicker #yregtxt .ct {background-image:url(https://a248.e.akamai.net/sec.yimg.com/i/reg/cr_flk_ne.gif)}
+.flicker #yregtxt .ct .cl {background-image:url(https://a248.e.akamai.net/sec.yimg.com/i/reg/cr_flk_nw.gif)}
+.flicker #yregtxt .cb {background-image:url(https://a248.e.akamai.net/sec.yimg.com/i/reg/cr_flk_se.gif)}
+.flicker #yregtxt .cb .cl {background-image:url(https://a248.e.akamai.net/sec.yimg.com/i/reg/cr_flk_sw.gif)}
+.flicker #yregtxt li h3 {color:#303030}
+.podcast #yregtxt .yregbx {background-color:#A7D6E0;border-color:#50ADC1} /*podcast turquoise */
+.podcast #yregtxt .ct {background-image:url(https://a248.e.akamai.net/sec.yimg.com/i/reg/cr_pdcst_ne.gif)}
+.podcast #yregtxt .ct .cl {background-image:url(https://a248.e.akamai.net/sec.yimg.com/i/reg/cr_pdcst_nw.gif)}
+.podcast #yregtxt .cb {background-image:url(https://a248.e.akamai.net/sec.yimg.com/i/reg/cr_pdcst_se.gif)}
+.podcast #yregtxt .cb .cl {background-image:url(https://a248.e.akamai.net/sec.yimg.com/i/reg/cr_pdcst_sw.gif)}
+.podcast #yregtxt li h3{color:#056D87}
+.smallbz #yregtxt li h3{color:#39c}
+#yreglg h1, #yreglg h2, #yreglg h3{font-size:114%;color:#333}
+#yreglg h3{margin:0 0 4px}
+#yreglg select, #yreglg input, #yreglg p, #yreglgtb td, #yreglgtb th{font-size:92%}
+#yreglg p.yreglgsb input{font-size:107%}
+#yreglg .yregnewssl, #yreglg .yreglgmd {font:77%/114% verdana}
+#yreglg .yregnewssl{margin:-4px 0 10px}
+#yreglg .yregnewssl span {color:#c00}
+#yreglgtb, #yreglgtb td, #yreglgtb th, #yreglg .yreglgmd, .yreglgsu, .yreglgsb, .yreglgsut, .yregnewssl{text-align:right}
+#yreglgtb {margin:0 0 8px;padding:0;width:215px}
+#yreglgtb td, #yreglgtb th{width:215px}
+#yreglgtb th{white-space:nowrap} 
+#yreglgtb td select{width:124px}
+#yreglgtb td{width:130px}
+#yreglgtb td input{width:120px}
+.yreglgsb{margin:12px 0 0}
+.yreglgsut{margin:0 0 3px}
+.yreglgsub{margin:15px 0 0 30px} /*image sign up*/
+.yreglgsu a, .yreglgsut a{color:#039;font:bold 114%/114% arial;text-decoration:underline}
+.yreglgsut a{font-size:122%;}
+h2.yregdnt{margin:14px 0 0}
+.yregdsilu{border-bottom:1px solid #999;margin:0 0 15px;padding:0 0 8px}
+.yregdlisu, .yreglvpnu{border-top:1px solid #999;margin:15px 0 0;padding:14px 0 10px}
+#yreglg .second h3{ font:bold 100% Arial;color:#333}
+#yreglg .second p{font:77%/140% verdana}
+#yregtxt ul{margin:0 0 10px;padding:0}
+#yregtxt li{margin:18px 0 0;padding:0;list-style:none}
+#yregtxt li h3{font:normal 122%/152% verdana;color:#496e03}
+#yregtxt li cite{font-style:normal;line-height:129%}
+.frontpage #yregtxt li{margin-top:15px}
+.frontpage #yregtxt li h3{color:#666}
+#yregtgen #yregct {margin-right:15px}
+#yreglgtb td.yregyid {text-align:left;font-size:100%}
+.yreglgdu {margin:0 0 5px}
+.yreglgdu a {font:bold 107%/136% verdana;color:#039;text-decoration:underline}
+#yregtgen #yregtxt h2, #yregpmtxt h3{font:bold 152%/152% arial;color:#333;margin:0} 
+#yregpmtxt h3{margin:0 0 10px}
+#yregptxt {padding:12px 0 0}
+#yregtgen #yregtxt p.yregpti {color:#666;margin:0 0 2px;font:bold 100%/100% arial}
+#yregptxt ul {margin:15px 0 0;padding:0;}
+#yregptxt li {margin:0 0 1em 18px;list-style-type:disc;font:normal 100%/122% arial}
+#yregpmtxt {margin:25px 0 0;padding:20px 0 0;border-top:1px solid #ccc}
+#yregtgen #yregtxt{margin-bottom:20px}
+#yregtgen #yregtxt #yreghtxt h3{margin:0;font:bold 107%/114% arial;color:#8C57A1}
+#yregtgen #yregtxt li h3{font:bold 114%/122% arial}
+#yregtgen #yregtxt p{margin:0 0 0.8em;line-height:129%}
+#yregtgen #yregtxt .yregbpt li{margin:0 0 10px 4px;padding:0 0 10px 22px;background:url(https://a248.e.akamai.net/sec.yimg.com/i/reg/purple_arrow.gif) no-repeat 1px 4px}
+.yregertxt{margin:15px 0 5px}
+.yregertxt, #yreglg .yregertxt h2{color:#c00}
+#yreglg .yregertxt h2{font-size:107%}
+.yregertxt p{font:normal 92%/107% arial}
+.yregab #yreglg{width:320px}
+.yregab #yreglgtb{width:auto}
+html&gt;body #yreglgtb th{width:180px}
+.yregab #yregabimg{padding:10px 0 0}
+.yregab .yregrid{text-align:right}
+#yregtgen.yregab #yregtxt{width:380px}
+#yregtgen #yregtxt #yreghtxt h2{color:#7A067F}
+.yregertxt{margin:15px 0 5px}
+.yregertxt, #yreglg .yregertxt h2{color:#c00}
+#yreglg .yregertxt h2{font-size:107%}
+.yregertxt p{font:normal 92%/107% arial}
+.yreglvpnu p{font:normal 92%/136% arial}
+.yreglvpnu p a{font:bold 107%/139% arial;text-decoration:underline}
+#yreglgtb td.yreglvid{text-align:left}
+#yregfl{margin:0 20px 20px}
+#yregfl h1{font-size:136%;line-height:167%}
+#yregfl h2{font-size:107%}
+#yregfl p{margin:0 0 1em;}
+#yregfl li{margin-bottom:10px}
+.appuser #yregtxt h2{font:normal 122%/122% verdana, sans-serif;color:#5B9B0F;margin-top:10px}
+.appuser #yregtxt li{padding:0 20px 0}
+.appuser #yregtxt h3{font-weight:bold;font-size:92%}
+.appuser #yregtxt li.greenarrow h3{color:#548F0D}
+.appuser #yregtxt li.grayarrow h3{color:#969696}
+.appuser #yregtxt li.greenarrow{background: url(https://a248.e.akamai.net/sec.yimg.com/i/reg/green_arrow.gif) no-repeat 0 2px}
+.appuser #yregtxt li.grayarrow{background: url(https://a248.e.akamai.net/sec.yimg.com/i/reg/gray_arrow.gif) no-repeat 0 2px}
+.appuser #yregtxt ul li cite{color:#666}
+#yregtgen #yregtxt #promoImg{float:right;margin:20px 10px 0}
+#yregtgen #yregtxt #promoFooterTxt{font-size:85%}
 
-@import url(https://a248.e.akamai.net/sec.yimg.com/lib/reg/css/yregbase_sec_200704191234.css);
-.ct{background:transparent url(https://a248.e.akamai.net/sec.yimg.com/i/reg/cr_gg_ne.gif) no-repeat top right;top:-1px}
-.ct .cl{background:transparent url(https://a248.e.akamai.net/sec.yimg.com/i/reg/cr_gg_nw.gif) no-repeat top left}
+.ct{background:transparent url(cr_gg_ne.gif) no-repeat top right;top:-1px}
+.ct .cl{background:transparent url(cr_gg_nw.gif) no-repeat top left}
 .cb{background:transparent url(https://a248.e.akamai.net/sec.yimg.com/i/reg/cr_gg_se.gif) no-repeat bottom right;bottom:-1px}
 .cb .cl{background:transparent url(https://login.yahoo.com/i/reg/cr_gg_sw.gif) no-repeat bottom left}
 .clear{clear:both}
@@ -105,12 +226,12 @@ img.picture {border:2px solid}
 
 
 #rcta {width:99%; border:1px solid #898989; margin-top:10px; background-image:url(https://a248.e.akamai.net/sec.yimg.com/i/reg/gradient.png); background-repeat:repeat-x; background-color:#fde37c}
-.ct {background:url(https://a248.e.akamai.net/sec.yimg.com/i/reg/upper-right.gif) no-repeat scroll right top; top:-1px}
-.ct .cl {background:url(https://a248.e.akamai.net/sec.yimg.com/i/reg/upper-left.gif) no-repeat scroll left top;}
+.ct {background:url(upper-right.gif) no-repeat scroll right top; top:-1px}
+.ct .cl {background:url(upper-left.gif) no-repeat scroll left top;}
 #rcta .key {width:40px; height:40px; border:1px solid #666666; background-image:url(https://a248.e.akamai.net/sec.yimg.com/i/reg/key.png); background-repeat: no-repeat; float:left; margin-top:1px}
 #rcta .txt {margin-left:48px}
-.cb {background:url(https://a248.e.akamai.net/sec.yimg.com/i/reg/lower-right.gif) no-repeat scroll right bottom; bottom:-1px}
-.cb .cl {background:url(https://a248.e.akamai.net/sec.yimg.com/i/reg/lower-left.gif) no-repeat scroll left bottom;}
+.cb {background:url(lower-right.gif) no-repeat scroll right bottom; bottom:-1px}
+.cb .cl {background:url(lower-left.gif) no-repeat scroll left bottom;}
 #rcta .ctact {margin:4px 10px;min-height:44px}
 #rcta .txt .qs {font:normal bold 92% arial, Helvetica, sans-serif; color:#000; text-decoration:none}
 #rcta .txt .sl {font:normal normal 100% arial, Helvetica, sans-serif; color:#000; text-decoration:none}</diff>
      <filename>demo/Admin/css/login.css</filename>
    </modified>
    <modified>
      <diff>@@ -855,6 +855,7 @@ function getModelBulkRowForm (model) {
             { model: model }
         )
     );
+    $(&quot;#import-step&quot;).val(linesPerBulk);
     $(&quot;textarea.row-input&quot;).focus();
 }
 
@@ -883,6 +884,13 @@ function createModelBulkRow (model) {
             return false;
         }
     }
+
+    var num = $(&quot;#import-step&quot;).val();
+    if ( ! /^\d+$/.test(num) &amp;&amp; ! /^0+$/.test(num) ) {
+        alert(&quot;Invalid step value: &quot; + num);
+        return false;
+    }
+    linesPerBulk = parseInt(num);
     cancelInsertRows = false;
     insertRows(model, lines, 0, count);
     return false;</diff>
      <filename>demo/Admin/js/admin.js</filename>
    </modified>
    <modified>
      <diff>@@ -22,6 +22,10 @@
         &lt;!-- &lt;input type=&quot;checkbox&quot; name=&quot;import-ignore-dup&quot;&gt;Ignore rows that violates unique constraints.&lt;/input&gt; --&gt;
     &lt;/p&gt;
     &lt;p&gt;
+        &lt;input type=&quot;text&quot; id=&quot;import-step&quot; length=&quot;10&quot;&gt;&amp;nbsp; Lines per request (step)&lt;/input&gt;
+        &lt;!-- &lt;input type=&quot;checkbox&quot; name=&quot;import-ignore-dup&quot;&gt;Ignore rows that violates unique constraints.&lt;/input&gt; --&gt;
+    &lt;/p&gt;
+    &lt;p&gt;
         &lt;input type=&quot;submit&quot; class=&quot;create-button&quot; value=&quot;Create&quot; onclick=&quot;createModelBulkRow('[% model %]'); return false;&quot;&gt;&lt;/input&gt;
     &lt;/p&gt;
 &lt;/form&gt;</diff>
      <filename>demo/Admin/template/elem/create-bulk-row.tt</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>d06e78a258fb8930b727c06b82446fad2de1e2c6</id>
    </parent>
  </parents>
  <author>
    <name>agentz</name>
    <email>agentz@b2c27d59-8999-dc11-853b-000bcdefe56b</email>
  </author>
  <url>http://github.com/agentzh/openresty/commit/a456cabb544ae3ce287eb08968555d3c9aace367</url>
  <id>a456cabb544ae3ce287eb08968555d3c9aace367</id>
  <committed-date>2008-10-29T19:31:46-07:00</committed-date>
  <authored-date>2008-10-29T19:31:46-07:00</authored-date>
  <message>demo/Admin - now we allow the user to specify the step and also localize the login page


git-svn-id: http://svn.openfoundry.org/openapi/trunk@2164 b2c27d59-8999-dc11-853b-000bcdefe56b</message>
  <tree>1627c33e2b33f74a306694a93be9891e484522cb</tree>
  <committer>
    <name>agentz</name>
    <email>agentz@b2c27d59-8999-dc11-853b-000bcdefe56b</email>
  </committer>
</commit>
