<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6051663807179582834</id><updated>2024-10-24T07:08:38.438-07:00</updated><category term="Ext js"/><category term="Adobe AIR"/><category term="javascript"/><category term="jquery"/><category term="solaris"/><title type='text'>Kubuskus</title><subtitle type='html'>Nothing happen if we stands still</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://kubuskus.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6051663807179582834/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://kubuskus.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Agus Sudarmanto</name><uri>http://www.blogger.com/profile/12008227277210217441</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>11</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6051663807179582834.post-2573069255810699546</id><published>2013-05-18T10:18:00.003-07:00</published><updated>2013-05-18T10:22:54.662-07:00</updated><title type='text'>Console log</title><content type='html'>&lt;div class=&quot;post-text&quot;&gt;
&lt;h3&gt;
Collection of my console&lt;/h3&gt;
&lt;/div&gt;
&lt;div class=&quot;post-text&quot;&gt;
&lt;h3&gt;
Updating PATH setting without reboot (Windows XP)&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;In a command prompt type: &lt;b&gt;&lt;code&gt;runas /user:yourusername@yourdomain cmd&lt;/code&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;It will open up a new cmd prompt and type: &lt;b&gt;&lt;code&gt;taskkill /f /im
explorer.exe&lt;/code&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Then type: &lt;b&gt;&lt;code&gt;explorer.exe&lt;/code&gt;&lt;/b&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Closing all command prompts, all command prompts must be closed.&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://kubuskus.blogspot.com/feeds/2573069255810699546/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6051663807179582834/2573069255810699546' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6051663807179582834/posts/default/2573069255810699546'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6051663807179582834/posts/default/2573069255810699546'/><link rel='alternate' type='text/html' href='http://kubuskus.blogspot.com/2013/05/console-log.html' title='Console log'/><author><name>Agus Sudarmanto</name><uri>http://www.blogger.com/profile/12008227277210217441</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6051663807179582834.post-2940231696763392364</id><published>2012-09-23T21:28:00.001-07:00</published><updated>2012-09-23T21:28:39.908-07:00</updated><title type='text'>Searching symbol within file name</title><content type='html'>Search symbol within file name

filename:&quot;&amp;&quot; OR filename:&quot;~&quot; OR filename:&quot;`&quot; OR filename:&quot;!&quot; OR filename:&quot;@&quot; OR filename:&quot;#&quot; OR filename:&quot;$&quot; OR filename:&quot;%&quot; OR filename:&quot;^&quot;</content><link rel='replies' type='application/atom+xml' href='http://kubuskus.blogspot.com/feeds/2940231696763392364/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6051663807179582834/2940231696763392364' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6051663807179582834/posts/default/2940231696763392364'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6051663807179582834/posts/default/2940231696763392364'/><link rel='alternate' type='text/html' href='http://kubuskus.blogspot.com/2012/09/searching-symbol-within-file-name.html' title='Searching symbol within file name'/><author><name>Agus Sudarmanto</name><uri>http://www.blogger.com/profile/12008227277210217441</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6051663807179582834.post-3456014924800465788</id><published>2012-08-22T20:57:00.000-07:00</published><updated>2012-08-22T21:31:55.942-07:00</updated><title type='text'>Javascript Animation</title><content type='html'>&lt;h2&gt;&lt;a href=&quot;http://www.jsanim.com/&quot;&gt;1. jsAnim&lt;/a&gt;&lt;/h2&gt;

&lt;pre class=&quot;html&quot; name=&quot;code&quot;&gt;&lt;!-- jsAnim --&gt;
&lt;script src=&quot;http://www.jsanim.com/jsAnim.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;http://www.jsanim.com/main.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;

&lt;script&gt;
 var manager = new jsAnimManager();
 function animation1(){
  shroom   = document.getElementById(&quot;mushroom&quot;);
  shroom.style.position = &quot;relative&quot;;
  var anim  = manager.createAnimObject(&quot;mushroom&quot;);
  anim.add({property: Prop.left, to: 500, duration: 2000})
 };
&lt;/script&gt;
&lt;button onclick=&quot;animation1()&quot;&gt;Animate!&lt;/button&gt;
&lt;img id=&quot;mushroom&quot; src=&quot;http://www.jsanim.com/images/mushroom.png&quot; /&gt;
&lt;/pre&gt;

&lt;!-- SAMPLE of JSANIM --&gt;

&lt;!-- jsAnim --&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;http://www.jsanim.com/jsAnim.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;http://www.jsanim.com/main.js&quot;&gt;&lt;/script&gt;

&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
var manager = new jsAnimManager();function animation1(){shroom = document.getElementById(&quot;mush&quot;);shroom.style.position = &quot;relative&quot;;var anim = manager.createAnimObject(&quot;mush&quot;);anim.add({property: Prop.left, to: 300, duration: 2000})};
//--&gt;&lt;/script&gt;
&lt;div style=&quot;background-color:#000; padding:10px;&quot;&gt;
&lt;button onclick=&quot;animation1()&quot;&gt;Animate!&lt;/button&gt;
&lt;img src=&quot;http://www.jsanim.com/images/mushroom.png&quot; id=&quot;mush&quot;&gt;
&lt;/div&gt;

</content><link rel='replies' type='application/atom+xml' href='http://kubuskus.blogspot.com/feeds/3456014924800465788/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6051663807179582834/3456014924800465788' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6051663807179582834/posts/default/3456014924800465788'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6051663807179582834/posts/default/3456014924800465788'/><link rel='alternate' type='text/html' href='http://kubuskus.blogspot.com/2012/08/javascript-animation.html' title='Javascript Animation'/><author><name>Agus Sudarmanto</name><uri>http://www.blogger.com/profile/12008227277210217441</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6051663807179582834.post-6114594168333221663</id><published>2012-08-22T20:48:00.001-07:00</published><updated>2012-08-22T20:48:26.048-07:00</updated><title type='text'>New Google Analytics Code</title><content type='html'>Here are new google analytics code, just change &#39;UA-15xxx11-x&#39; with your GA ID
&lt;pre name=&quot;code&quot; class=&quot;html&quot;&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
var _gaq = _gaq || []; _gaq.push([&#39;_setAccount&#39;, &#39;UA-15xxx11-x&#39;]); _gaq.push([&#39;_trackPageview&#39;]);(function() {var ga = document.createElement(&#39;script&#39;); ga.type = &#39;text/javascript&#39;; ga.async = true; ga.src = (&#39;https:&#39; == document.location.protocol ? &#39;https://ssl&#39; : &#39;http://www&#39;) + &#39;.google-analytics.com/ga.js&#39;; var s = document.getElementsByTagName(&#39;script&#39;)[0]; s.parentNode.insertBefore(ga, s);})();
&lt;/script&gt;
&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://kubuskus.blogspot.com/feeds/6114594168333221663/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6051663807179582834/6114594168333221663' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6051663807179582834/posts/default/6114594168333221663'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6051663807179582834/posts/default/6114594168333221663'/><link rel='alternate' type='text/html' href='http://kubuskus.blogspot.com/2012/08/new-google-analytics-code.html' title='New Google Analytics Code'/><author><name>Agus Sudarmanto</name><uri>http://www.blogger.com/profile/12008227277210217441</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6051663807179582834.post-120069769661042152</id><published>2012-07-03T21:02:00.003-07:00</published><updated>2012-08-27T19:24:18.926-07:00</updated><title type='text'>PHP Tips and Tricks</title><content type='html'>&lt;p&gt;Remove leading zero &#39;0030&#39; =&gt; &#39;30&#39; :&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;php&quot;&gt;
$var = &#39;0030&#39;;
$num =  (int)$var;
&lt;/pre&gt;

&lt;p&gt;
Execute external program : 
&lt;a href=&quot;http://www.php.net/manual/en/function.shell-exec.php#74378&quot;&gt;source&lt;/a&gt;
&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;php&quot;&gt;
&lt;?php
$runCommand = &quot;C:\\WINDOWS\\system32\\shutdown.exe -t:30&quot;; //Wrong by purpuse to get some good output
$WshShell = new COM(&quot;WScript.Shell&quot;);
$output = $WshShell-&gt;Exec($runCommand)-&gt;StdOut-&gt;ReadAll;
echo &quot;&lt;p&gt;$output&lt;/p&gt;&quot;;
?&gt;
&lt;/pre&gt;

Other script for executing external program 
&lt;a href=&quot;http://www.somacon.com/p395.php&quot;&gt;link1&lt;/a&gt; 
&lt;a href=&quot;http://www.tuxradar.com/practicalphp/14/1/3&quot;&gt;link2&lt;/a&gt;

&lt;p&gt;
Get basepath : 
&lt;a href=&quot;http://www.php.net/manual/en/function.shell-exec.php#73490&quot;&gt;source&lt;/a&gt;
&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;php&quot;&gt;
&lt;?php
  $runCommand = &#39;php -q FULLPATH/FILE.php&#39;;

  if(isset($_SERVER[&#39;PWD&#39;])//*nix (aka NOT windows)
  {
    $nullResult = `$runCommand &gt; /dev/null &amp;`;
  }
  else //windowz
  {
    $WshShell = new COM(&quot;WScript.Shell&quot;);
    $oExec = $WshShell-&gt;Run($runCommand, 7, false);
  }
?&gt;
&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://kubuskus.blogspot.com/feeds/120069769661042152/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6051663807179582834/120069769661042152' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6051663807179582834/posts/default/120069769661042152'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6051663807179582834/posts/default/120069769661042152'/><link rel='alternate' type='text/html' href='http://kubuskus.blogspot.com/2012/07/php-tips-and-tricks.html' title='PHP Tips and Tricks'/><author><name>Agus Sudarmanto</name><uri>http://www.blogger.com/profile/12008227277210217441</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6051663807179582834.post-7441678585355268656</id><published>2012-07-03T19:40:00.001-07:00</published><updated>2012-07-03T19:44:33.264-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="javascript"/><category scheme="http://www.blogger.com/atom/ns#" term="jquery"/><title type='text'>JQuery tips and tricks</title><content type='html'>&lt;b&gt;Show or hide element with radio button&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Scenario : when i click &#39;j3&#39; (radio button), &#39;kodesuratkeluar&#39; will show up.. when i select others it will hide&lt;br /&gt;
&lt;pre class=&quot;javascript&quot; name=&quot;code&quot;&gt;$(&#39;input[name=&quot;jenissurat_id&quot;]&#39;).change(function() {
 if ($(&#39;#j3:checked&#39;).length) $(&#39;#kodesuratkeluar&#39;).show();
 else $(&#39;#kodesuratkeluar&#39;).hide();
});
&lt;/pre&gt;
&lt;pre class=&quot;html&quot; name=&quot;code&quot;&gt;&lt;label for=&quot;j1&quot;&gt;&lt;input id=&quot;j1&quot; name=&quot;jenissurat_id&quot; type=&quot;radio&quot; value=&quot;123&quot; /&gt;satu&lt;/label&gt;
&lt;label for=&quot;j2&quot;&gt;&lt;input id=&quot;j2&quot; name=&quot;jenissurat_id&quot; type=&quot;radio&quot; value=&quot;456&quot; /&gt;dua&lt;/label&gt;
&lt;label for=&quot;j3&quot;&gt;&lt;input id=&quot;j3&quot; name=&quot;jenissurat_id&quot; type=&quot;radio&quot; value=&quot;789&quot; /&gt;tiga&lt;/label&gt;

&lt;select id=&quot;kodesuratkeluar&quot; name=&quot;kodesuratkeluar&quot;&gt;
 &lt;option value=&quot;a&quot;&gt;a&lt;/option&gt;
 &lt;option value=&quot;b&quot;&gt;b&lt;/option&gt;
 &lt;option value=&quot;c&quot;&gt;c&lt;/option&gt;
&lt;/select&gt;
&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://kubuskus.blogspot.com/feeds/7441678585355268656/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6051663807179582834/7441678585355268656' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6051663807179582834/posts/default/7441678585355268656'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6051663807179582834/posts/default/7441678585355268656'/><link rel='alternate' type='text/html' href='http://kubuskus.blogspot.com/2012/07/jquery-tips-and-tricks.html' title='JQuery tips and tricks'/><author><name>Agus Sudarmanto</name><uri>http://www.blogger.com/profile/12008227277210217441</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6051663807179582834.post-6920685905829123213</id><published>2009-01-11T14:24:00.000-08:00</published><updated>2009-01-11T14:52:17.785-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Ext js"/><title type='text'>Some of ExtJS VTypes</title><content type='html'>Some of ExtJS VTypes from &lt;a href=&quot;http://extjs.com/forum/showthread.php?t=4271&quot;&gt;Ext JS Forum&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre name=&quot;code&quot; class=&quot;javascript&quot;&gt;&lt;br /&gt;Ext.form.VTypes[&quot;hostnameVal1&quot;] = /^[a-zA-Z][-.a-zA-Z0-9]{0,254}$/;&lt;br /&gt;Ext.form.VTypes[&quot;hostnameVal2&quot;] = /^[a-zA-Z]([-a-zA-Z0-9]{0,61}[a-zA-Z0-9]){0,1}([.][a-zA-Z]([-a-zA-Z0-9]{0,61}[a-zA-Z0-9]){0,1}){0,}$/;&lt;br /&gt;Ext.form.VTypes[&quot;ipVal&quot;] = /^([1-9][0-9]{0,1}|1[013-9][0-9]|12[0-689]|2[01][0-9]|22[0-3])([.]([1-9]{0,1}[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])){2}[.]([1-9][0-9]{0,1}|1[0-9]{2}|2[0-4][0-9]|25[0-4])$/;&lt;br /&gt;Ext.form.VTypes[&quot;netmaskVal&quot;] = /(^(128|192|224|24[08]|25[245])\.0\.0\.0$)|(^255\.(0|128|192|224|24[08]|25[245])\.0\.0$)|(^255\.255\.(0|128|192|224|24[08]|25[245])\.0$)|(^255\.255\.255\.(0|128|192|224|24[08]|252)$)/;&lt;br /&gt;Ext.form.VTypes[&quot;portVal&quot;] = /^(0|[1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$/;&lt;br /&gt;Ext.form.VTypes[&quot;multicastVal&quot;] = /^((22[5-9]|23[0-9])([.](0|[1-9][0-9]{0,1}|1[0-9]{2}|2[0-4][0-9]|25[0-5])){3})|(224[.]([1-9][0-9]{0,1}|1[0-9]{2}|2[0-4][0-9]|25[0-5])([.](0|[1-9][0-9]{0,1}|1[0-9]{2}|2[0-4][0-9]|25[0-5])){2})|(224[.]0[.]([1-9][0-9]{0,1}|1[0-9]{2}|2[0-4][0-9]|25[0-5])([.](0|[1-9][0-9]{0,1}|1[0-9]{2}|2[0-4][0-9]|25[0-5])))$/;&lt;br /&gt;Ext.form.VTypes[&quot;usernameVal&quot;] = /^[a-zA-Z][-_.a-zA-Z0-9]{0,30}$/;&lt;br /&gt;Ext.form.VTypes[&quot;passwordVal1&quot;] = /^.{6,31}$/;&lt;br /&gt;Ext.form.VTypes[&quot;passwordVal2&quot;] = /[^a-zA-Z].*[^a-zA-Z]/;&lt;br /&gt;Ext.form.VTypes[&quot;hostname&quot;]=function(v){&lt;br /&gt; if(!Ext.form.VTypes[&quot;hostnameVal1&quot;].test(v)){&lt;br /&gt;  Ext.form.VTypes[&quot;hostnameText&quot;]=&quot;Must begin with a letter and not exceed 255 characters&quot;&lt;br /&gt;  return false;&lt;br /&gt; }&lt;br /&gt; Ext.form.VTypes[&quot;hostnameText&quot;]=&quot;L[.L][.L][.L][...] where L begins with a letter, ends with a letter or number, and does not exceed 63 characters&quot;;&lt;br /&gt; return Ext.form.VTypes[&quot;hostnameVal2&quot;].test(v);&lt;br /&gt;}&lt;br /&gt;Ext.form.VTypes[&quot;hostnameText&quot;]=&quot;Invalid Hostname&quot;&lt;br /&gt;Ext.form.VTypes[&quot;hostnameMask&quot;]=/[-.a-zA-Z0-9]/;&lt;br /&gt;Ext.form.VTypes[&quot;ip&quot;]=function(v){&lt;br /&gt; return Ext.form.VTypes[&quot;ipVal&quot;].test(v);&lt;br /&gt;}&lt;br /&gt;Ext.form.VTypes[&quot;ipText&quot;]=&quot;1.0.0.1 - 223.255.255.254 excluding 127.x.x.x&quot;&lt;br /&gt;Ext.form.VTypes[&quot;ipMask&quot;]=/[.0-9]/;&lt;br /&gt;Ext.form.VTypes[&quot;netmask&quot;]=function(v){&lt;br /&gt; return Ext.form.VTypes[&quot;netmaskVal&quot;].test(v);&lt;br /&gt;}&lt;br /&gt;Ext.form.VTypes[&quot;netmaskText&quot;]=&quot;128.0.0.0 - 255.255.255.252&quot;&lt;br /&gt;Ext.form.VTypes[&quot;netmaskMask&quot;]=/[.0-9]/;&lt;br /&gt;Ext.form.VTypes[&quot;port&quot;]=function(v){&lt;br /&gt; return Ext.form.VTypes[&quot;portVal&quot;].test(v);&lt;br /&gt;}&lt;br /&gt;Ext.form.VTypes[&quot;portText&quot;]=&quot;0 - 65535&quot;&lt;br /&gt;Ext.form.VTypes[&quot;portMask&quot;]=/[0-9]/;&lt;br /&gt;Ext.form.VTypes[&quot;multicast&quot;]=function(v){&lt;br /&gt; return Ext.form.VTypes[&quot;multicastVal&quot;].test(v);&lt;br /&gt;}&lt;br /&gt;Ext.form.VTypes[&quot;multicastText&quot;]=&quot;224.0.1.0 - 239.255.255.255&quot;&lt;br /&gt;Ext.form.VTypes[&quot;multicastMask&quot;]=/[.0-9]/;&lt;br /&gt;Ext.form.VTypes[&quot;username&quot;]=function(v){&lt;br /&gt; return Ext.form.VTypes[&quot;usernameVal&quot;].test(v);&lt;br /&gt;}&lt;br /&gt;Ext.form.VTypes[&quot;usernameText&quot;]=&quot;Username must begin with a letter and cannot exceed 255 characters&quot;&lt;br /&gt;Ext.form.VTypes[&quot;usernameMask&quot;]=/[-_.a-zA-Z0-9]/;&lt;br /&gt;Ext.form.VTypes[&quot;password&quot;]=function(v){&lt;br /&gt; if(!Ext.form.VTypes[&quot;passwordVal1&quot;].test(v)){&lt;br /&gt;  Ext.form.VTypes[&quot;passwordText&quot;]=&quot;Password length must be 6 to 31 characters long&quot;;&lt;br /&gt;  return false;&lt;br /&gt; }&lt;br /&gt; Ext.form.VTypes[&quot;passwordText&quot;]=&quot;Password must include atleast 2 numbers or symbols&quot;;&lt;br /&gt; return Ext.form.VTypes[&quot;passwordVal2&quot;].test(v);&lt;br /&gt;}&lt;br /&gt;Ext.form.VTypes[&quot;passwordText&quot;]=&quot;Invalid Password&quot;&lt;br /&gt;Ext.form.VTypes[&quot;passwordMask&quot;]=/./;&lt;br /&gt;&lt;br /&gt;Ext.form.VTypes[&quot;phone&quot;] = /^(\d{3}[-]?){1,2}(\d{4})$/;&lt;br /&gt;Ext.form.VTypes[&quot;phoneMask&quot;] = /[\d-]/;&lt;br /&gt;Ext.form.VTypes[&quot;phoneText&quot;] = &#39;Not a valid phone number.  Must be in the format 123-4567 or 123-456-7890 (dashes optional)&#39;;&lt;br /&gt;&lt;br /&gt;Ext.form.VTypes[&quot;phoneVal&quot;] = /^(d{3}[-]?){1,2}(d{4})$/; Ext.form.VTypes[&quot;phoneMask&quot;] = /[d-]/;&lt;br /&gt;Ext.form.VTypes[&quot;phoneText&quot;] = &#39;Not a valid phone number. Must be in the format 123-4567 or 123-456-7890 (dashes optional)&#39;;&lt;br /&gt;&lt;br /&gt;Ext.form.VTypes[&quot;phone&quot;]=function(v){ return Ext.form.VTypes[&quot;phoneVal&quot;].test(v); }&lt;br /&gt;&lt;br /&gt;Ext.form.VTypes[&quot;dollar&quot;] = /^[\$]?[\d]*(.[\d]{2})?$/;&lt;br /&gt;Ext.form.VTypes[&quot;dollarMask&quot;] = /[\d\$.]/;&lt;br /&gt;Ext.form.VTypes[&quot;dollarText&quot;] = &#39;Not a valid dollar amount.  Must be in the format &quot;$123.45&quot; ($ symbol and cents optional).&#39;;&lt;br /&gt;&lt;br /&gt;Ext.form.VTypes[&quot;time&quot;] = /^([1-9]|1[0-9]):([0-5][0-9])(\s[a|p]m)$/i;&lt;br /&gt;Ext.form.VTypes[&quot;timeMask&quot;] = /[\d\s:amp]/i;&lt;br /&gt;Ext.form.VTypes[&quot;timeText&quot;] = &#39;Not a valid time.  Must be in the format &quot;12:34 PM&quot;.&#39;;&lt;br /&gt;&lt;br /&gt;Ext.apply(Ext.form.VTypes, &lt;br /&gt;    {&#39;phone&#39;: function()&lt;br /&gt;        {&lt;br /&gt;            var re = /^(d{3}[-]?){1,2}(d{4})$/;&lt;br /&gt;            return function(v) {&lt;br /&gt;                    return re.test(v);&lt;br /&gt;                }&lt;br /&gt;        }(), &lt;br /&gt;        &#39;phoneText&#39; : &#39;The format is wrong, ie: 123-456-7890 (dashes optional)&#39;&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;Ext.apply(Ext.form.VTypes, {&lt;br /&gt;    &#39;date&#39;: function(){&lt;br /&gt;        /************************************************&lt;br /&gt;        DESCRIPTION: Validates that a string contains only&lt;br /&gt;            valid dates with 2 digit month, 2 digit day,&lt;br /&gt;            4 digit year. Date separator can be ., -, or /.&lt;br /&gt;            Uses combination of regular expressions and&lt;br /&gt;            string parsing to validate date.&lt;br /&gt;            Ex. mm/dd/yyyy or mm-dd-yyyy or mm.dd.yyyy&lt;br /&gt;&lt;br /&gt;        PARAMETERS:&lt;br /&gt;           strValue - String to be tested for validity&lt;br /&gt;&lt;br /&gt;        RETURNS:&lt;br /&gt;           True if valid, otherwise false.&lt;br /&gt;&lt;br /&gt;        REMARKS:&lt;br /&gt;           Avoids some of the limitations of the Date.parse()&lt;br /&gt;           method such as the date separator character.&lt;br /&gt;        *************************************************/&lt;br /&gt;          var objRegExp = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/;&lt;br /&gt;          return function(strValue){&lt;br /&gt;              //check to see if in correct format&lt;br /&gt;              if(!objRegExp.test(strValue))&lt;br /&gt;                return false; //doesn&#39;t match pattern, bad date&lt;br /&gt;              else{&lt;br /&gt;                var strSeparator = strValue.substring(2,3) &lt;br /&gt;                var arrayDate = strValue.split(strSeparator); &lt;br /&gt;                //create a lookup for months not equal to Feb.&lt;br /&gt;                var arrayLookup = { &#39;01&#39; : 31,&#39;03&#39; : 31, &lt;br /&gt;                                    &#39;04&#39; : 30,&#39;05&#39; : 31,&lt;br /&gt;                                    &#39;06&#39; : 30,&#39;07&#39; : 31,&lt;br /&gt;                                    &#39;08&#39; : 31,&#39;09&#39; : 30,&lt;br /&gt;                                    &#39;10&#39; : 31,&#39;11&#39; : 30,&#39;12&#39; : 31}&lt;br /&gt;                var intDay = parseInt(arrayDate[1],10); &lt;br /&gt;&lt;br /&gt;                //check if month value and day value agree&lt;br /&gt;                if(arrayLookup[arrayDate[0]] != null) {&lt;br /&gt;                  if(intDay &lt;= arrayLookup[arrayDate[0]] &amp;&amp; intDay != 0)&lt;br /&gt;                    return true; //found in lookup table, good date&lt;br /&gt;                }&lt;br /&gt;                &lt;br /&gt;                //check for February (bugfix 20050322)&lt;br /&gt;                //bugfix  for parseInt kevin&lt;br /&gt;                //bugfix  biss year  O.Jp Voutat&lt;br /&gt;                var intMonth = parseInt(arrayDate[0],10);&lt;br /&gt;                if (intMonth == 2) { &lt;br /&gt;                   var intYear = parseInt(arrayDate[2]);&lt;br /&gt;                   if (intDay &gt; 0 &amp;&amp; intDay &lt; 29) {&lt;br /&gt;                       return true;&lt;br /&gt;                   }&lt;br /&gt;                   else if (intDay == 29) {&lt;br /&gt;                     if ((intYear % 4 == 0) &amp;&amp; (intYear % 100 != 0) || &lt;br /&gt;                         (intYear % 400 == 0)) {&lt;br /&gt;                          // year div by 4 and ((not div by 100) or div by 400) -&gt;ok&lt;br /&gt;                         return true;&lt;br /&gt;                     }   &lt;br /&gt;                   }&lt;br /&gt;                }&lt;br /&gt;              }  &lt;br /&gt;              return false; //any other values, bad date&lt;br /&gt;        }&lt;br /&gt;    }(),&lt;br /&gt;    &#39;dateText&#39; : &#39;The format is wrong, ie: 01/01/2007 | 01.01.2007 | 01-01-2007&#39;&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;//** Number ex. 12.00 or 23.00 or 22.30 **//&lt;br /&gt;Ext.apply(Ext.form.VTypes, {&lt;br /&gt;    &#39;numeric&#39;: function(){&lt;br /&gt;        &lt;br /&gt;            /*****************************************************************&lt;br /&gt;            DESCRIPTION: Validates that a string contains only valid numbers.&lt;br /&gt;            PARAMETERS:&lt;br /&gt;               strValue - String to be tested for validity&lt;br /&gt;            RETURNS:&lt;br /&gt;               True if valid, otherwise false.&lt;br /&gt;            ******************************************************************/&lt;br /&gt;              var objRegExp  =  /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/;&lt;br /&gt;              return function(strValue){&lt;br /&gt;                  //check for numeric characters&lt;br /&gt;                  return objRegExp.test(strValue);&lt;br /&gt;              }&lt;br /&gt;    }(),&lt;br /&gt;    &#39;numericText&#39;: &#39;Only numbers are allowed&#39;&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;/* Matches Win and Mac OS paths: x:\foo\bar\, \\foo\bar\, /foo/bar/ */&lt;br /&gt;Ext.form.VTypes[&quot;directory&quot;]=function(v){&lt;br /&gt; return /^(([a-zA-Z]:){0,1}(\\|\/){1})(([-_.a-zA-Z0-9\\\/ ]+)(\\|\/){1})+$/.test(v);&lt;br /&gt;} &lt;br /&gt;Ext.form.VTypes[&quot;directoryText&quot;]=&quot;This must be a valid directory location.&quot;&lt;br /&gt;Ext.form.VTypes[&quot;directoryMask&quot;]=/[-_.a-zA-Z0-9\\\/: ]/;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ext.apply(Ext.form.VTypes, {&lt;br /&gt;    &#39;ssn&#39;: function(){&lt;br /&gt;            var re = /^([0-6]\d{2}|7[0-6]\d|77[0-2])([ \-]?)(\d{2})\2(\d{4})$/;&lt;br /&gt;            return function(v){&lt;br /&gt;                return re.test(v);&lt;br /&gt;            }&lt;br /&gt;    }(),&lt;br /&gt;    &#39;ssnText&#39; : &#39;SSN format: xxx-xx-xxxx&#39;&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;Ext.apply(Ext.form.VTypes, {&lt;br /&gt;    &#39;imagefile&#39;: function(){&lt;br /&gt;        return function(v){&lt;br /&gt;            v = v.replace(/^\s|\s$/g, &quot;&quot;); //trims string&lt;br /&gt;            if (v.match(/([^\/\\]+)\.(bmp|gif|png|jpg|jpeg)$/i) )&lt;br /&gt;                return true;&lt;br /&gt;            else&lt;br /&gt;                return false;&lt;br /&gt;        }&lt;br /&gt;    }(),&lt;br /&gt;    &#39;imagefileText&#39; : &#39;Must be a valid image file: GIF, JPG, BMP, PNG&#39;&lt;br /&gt;});&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Thanks for advanced.</content><link rel='replies' type='application/atom+xml' href='http://kubuskus.blogspot.com/feeds/6920685905829123213/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6051663807179582834/6920685905829123213' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6051663807179582834/posts/default/6920685905829123213'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6051663807179582834/posts/default/6920685905829123213'/><link rel='alternate' type='text/html' href='http://kubuskus.blogspot.com/2009/01/some-of-extjs-vtypes.html' title='Some of ExtJS VTypes'/><author><name>Agus Sudarmanto</name><uri>http://www.blogger.com/profile/12008227277210217441</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6051663807179582834.post-7631857431122284145</id><published>2008-04-09T19:23:00.001-07:00</published><updated>2008-04-09T19:23:50.535-07:00</updated><title type='text'>Handy tools from Mr. Google</title><content type='html'>&lt;div xmlns=&#39;http://www.w3.org/1999/xhtml&#39;&gt;Here are useful tools from google that i allways use :&lt;br/&gt;&lt;ol&gt;&lt;li&gt;&lt;a href=&#39;http://translate.google.com/translate_t?hl=en&#39;&gt;Google Translate&lt;/a&gt;  : Used to translate text or a web page, currently available languages are Arabic, Chinese, Dutch, French, German, Greek, Italian, Japanese, Korean, Portugese, Rusian, Spanish.&lt;br/&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kubuskus.blogspot.com/feeds/7631857431122284145/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6051663807179582834/7631857431122284145' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6051663807179582834/posts/default/7631857431122284145'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6051663807179582834/posts/default/7631857431122284145'/><link rel='alternate' type='text/html' href='http://kubuskus.blogspot.com/2008/04/handy-tools-from-mr-google.html' title='Handy tools from Mr. Google'/><author><name>Agus Sudarmanto</name><uri>http://www.blogger.com/profile/12008227277210217441</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6051663807179582834.post-5474951144284494040</id><published>2008-02-26T21:13:00.000-08:00</published><updated>2008-02-26T22:08:49.015-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Adobe AIR"/><title type='text'>Do ScriptTagProxy with AIR</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://www.adobe.com/products/air/images/air_ajax_developers.jpg&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 237px; height: 49px;&quot; src=&quot;http://www.adobe.com/products/air/images/air_ajax_developers.jpg&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;With AIR Beta 3 you cannot do XHR to remote domain, so you have to create new html file as root file then you call your real index file using &amp;lt;iframe&gt; tag.&lt;br /&gt;&lt;br /&gt;Set &lt;span style=&quot;font-weight: bold; font-style: italic;&quot;&gt;allowcrossdomainXMLHttpRequest&lt;/span&gt; and &lt;span style=&quot;font-weight: bold; font-style: italic;&quot;&gt;allowcrossDomainxhr&lt;/span&gt; parameter to true , then set your remote domain to &lt;span style=&quot;font-weight: bold; font-style: italic;&quot;&gt;sandboxRoot&lt;/span&gt; parameter, and dont forget to add &lt;span style=&quot;font-weight: bold; font-style: italic;&quot;&gt;src&lt;/span&gt; parameter and point to your index file.&lt;br /&gt;&lt;br /&gt;If AIR application looks bad, just modified using &lt;span style=&quot;font-style: italic;&quot;&gt;style&lt;/span&gt; code bellow:&lt;br /&gt;&lt;div&gt;&lt;pre name=&quot;code&quot; class=&quot;php&quot;&gt;&lt;br /&gt; &amp;lt;style&gt;&lt;br /&gt;  body {margin:0px; padding:3px}&lt;br /&gt;  iframe {border:0px; width:603px; height:270px;}&lt;br /&gt;&amp;lt;/style&gt;&lt;br /&gt;  &amp;lt;iframe id=&quot;UI&quot;&lt;br /&gt;    src=&quot;wsclient.html&quot;&lt;br /&gt;    allowcrossdomainXMLHttpRequest=&quot;true&quot;&lt;br /&gt;    allowcrossDomainxhr=&quot;true&quot;&lt;br /&gt;    sandboxRoot=&quot;http://http://example.com/test_folder/&quot;&lt;br /&gt;    documentRoot=&quot;app:/&quot;&lt;br /&gt;  &amp;lt;/iframe&gt;&lt;br /&gt;&lt;/pre&gt;Hope its help...lets go XHR&lt;br /&gt;Agus Sudarmanto.&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kubuskus.blogspot.com/feeds/5474951144284494040/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6051663807179582834/5474951144284494040' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6051663807179582834/posts/default/5474951144284494040'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6051663807179582834/posts/default/5474951144284494040'/><link rel='alternate' type='text/html' href='http://kubuskus.blogspot.com/2008/02/do-scripttagproxy-with-air.html' title='Do ScriptTagProxy with AIR'/><author><name>Agus Sudarmanto</name><uri>http://www.blogger.com/profile/12008227277210217441</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6051663807179582834.post-5398702591312228990</id><published>2008-02-26T19:45:00.000-08:00</published><updated>2008-12-10T18:05:04.254-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Ext js"/><title type='text'>ScriptTagProxy invalid label solution</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhA_RI7884XsnvKD2I4QuBPpYUAjXpUWevDeI2y2tPMzckT7baNa_PhzGogR-i9yzQa7LMH1xmQyrcVUL2jjMwd4tZs_GCUbozfrFeFN25Pl9ZhjAe89PVUK1pNl3juVFq40f4EREIgz7I/s1600-h/extjs.png&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhA_RI7884XsnvKD2I4QuBPpYUAjXpUWevDeI2y2tPMzckT7baNa_PhzGogR-i9yzQa7LMH1xmQyrcVUL2jjMwd4tZs_GCUbozfrFeFN25Pl9ZhjAe89PVUK1pNl3juVFq40f4EREIgz7I/s320/extjs.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5171506781237292098&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://extjs.com/&quot;&gt;ExtJS.com&lt;/a&gt;&lt;br /&gt;If you have problems when you want to fill ExtJS grid to get data from remote domain may be you will get error that says &#39;&lt;span style=&quot;font-weight: bold;&quot;&gt;invalid label&lt;/span&gt;&#39; because it should be a javascript content not JSON content and the script should call the callback function was declare in the URL.&lt;br /&gt;&lt;br /&gt;Based on Ext ScriptTagProxy documentation here the PHP code to fix that error :&lt;br /&gt;&lt;div&gt;&lt;pre name=&quot;code&quot; class=&quot;php&quot;&gt;&lt;br /&gt;&amp;lt;php&lt;br /&gt;require_once(&#39;../lib/json/json.php&#39;);&lt;br /&gt;$json = new Services_JSON();&lt;br /&gt;&lt;br /&gt;$scriptTag = false;&lt;br /&gt;$cb = $_GET[&#39;callback&#39;];&lt;br /&gt;&lt;br /&gt;if (!empty($cb)) {&lt;br /&gt;  $scriptTag = true;&lt;br /&gt;  header(&quot;Content-type: text/javascript&quot;);&lt;br /&gt;} else {&lt;br /&gt;  header(&quot;Content-type: application/x-json&quot;);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;if ($scriptTag) echo $cb . &quot;(&quot;;&lt;br /&gt;&lt;br /&gt;echo $json-&gt;encode(&lt;br /&gt;  Array(&lt;br /&gt;    &#39;totalCount&#39; =&gt; $res-&gt;numRows(),&lt;br /&gt;    &#39;dt&#39; =&gt; getData($_GET[&#39;start&#39;])&lt;br /&gt;  )&lt;br /&gt;);&lt;br /&gt;&lt;br /&gt;if ($scriptTag) echo &quot;);&quot;;&lt;br /&gt;?&gt;&lt;br /&gt;&lt;/pre&gt;First we check callback variable if it set we set content-type for browser to javascript and add callback function to JSON data retrieved.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Ok. Hope it help you&lt;br /&gt;Agus Sudarmanto</content><link rel='replies' type='application/atom+xml' href='http://kubuskus.blogspot.com/feeds/5398702591312228990/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6051663807179582834/5398702591312228990' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6051663807179582834/posts/default/5398702591312228990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6051663807179582834/posts/default/5398702591312228990'/><link rel='alternate' type='text/html' href='http://kubuskus.blogspot.com/2008/02/scripttagproxy-invalid-label-solution.html' title='ScriptTagProxy invalid label solution'/><author><name>Agus Sudarmanto</name><uri>http://www.blogger.com/profile/12008227277210217441</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhA_RI7884XsnvKD2I4QuBPpYUAjXpUWevDeI2y2tPMzckT7baNa_PhzGogR-i9yzQa7LMH1xmQyrcVUL2jjMwd4tZs_GCUbozfrFeFN25Pl9ZhjAe89PVUK1pNl3juVFq40f4EREIgz7I/s72-c/extjs.png" height="72" width="72"/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6051663807179582834.post-8572970208142096716</id><published>2008-02-12T21:06:00.002-08:00</published><updated>2008-03-31T21:33:05.321-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="solaris"/><title type='text'>Installing CoolStack Solaris 10 AMP (Apache, MySQL, PHP) and GD (gd.so) also</title><content type='html'>&lt;ol&gt;&lt;li&gt;Requirement to download, browse http://cooltools.sunsource.net/coolstack/ and download packages below :&lt;br /&gt;   &lt;span style=&quot;font-weight: bold;&quot;&gt;CSKruntime&lt;/span&gt; : Coolstack runtime package&lt;br /&gt;   &lt;span style=&quot;font-weight: bold;&quot;&gt;CSKamp&lt;/span&gt;, that includes 3 packages : CSKapache2, CSKphp5 and CSKmysql32&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;CSKphplibs&lt;/span&gt; : (optional, if you going to use gd.so or other usefull PHP extension)&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Extract your download files with bunzip2 and install using pkgadd&lt;br /&gt;   # bunzip2 CSKruntime_1.2_sparc.pkg.bz2&lt;br /&gt;   # pkgadd –d CSKruntime_1.2_sparc.pkg&lt;br /&gt;   # bunzip2 CSKamp-sparc.pkg.bz2&lt;br /&gt;   # pkgadd –d CSKamp-sparc.pkg&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Coolstack package will be installed into /opt directory&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;#@ APACHE @#&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Start web server&lt;/span&gt; using this command&lt;br /&gt;   # /opt/coolstack/apache2/bin/apachectl start&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;  #@ MySQL @#&lt;br /&gt;Next we configure MySQL server :&lt;br /&gt;&lt;br /&gt;--&gt; First we &lt;span style=&quot;font-weight: bold;&quot;&gt;create group and user&lt;/span&gt; for MySQL&lt;br /&gt;   # export PATH=/opt/coolstack/mysql_32bit/bin:$PATH&lt;br /&gt;   # groupadd mysql&lt;br /&gt;   # useradd –g mysql mysql&lt;br /&gt;   # chown -R mysql:mysql /opt/coolstack/mysql_32bit&lt;br /&gt;&lt;br /&gt;   --&gt; Create &lt;span style=&quot;font-weight: bold;&quot;&gt;MySQL configuration file&lt;/span&gt;&lt;br /&gt;   #vi /etc/my.cnf&lt;br /&gt;   [mysqld]&lt;br /&gt;   basedir=/opt/coolstack/mysql_32bit&lt;br /&gt;   datadir=/opt/coolstack/mysql_32bit/data&lt;br /&gt;&lt;br /&gt;   --&gt; &lt;span style=&quot;font-weight: bold;&quot;&gt;Create mysql database&lt;/span&gt; needed by server&lt;br /&gt;   # cd /opt/coolstack/mysql_32bit/bin&lt;br /&gt;   # ./mysql_install_db&lt;br /&gt;   # chown –R mysql:mysql /opt/coolstack/mysql_32bit/data&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Now we can &lt;span style=&quot;font-weight: bold;&quot;&gt;run MySQL server&lt;/span&gt; with this :&lt;br /&gt;   # su – mysql&lt;br /&gt;   $ /opt/coolstack/mysql_32bit/bin/mysqladmin -u root password ‘yourrootpassword’&lt;br /&gt;   $ /opt/coolstack/mysql_32bit/bin/mysqld_safe &amp;amp;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Check apache and MySQL is running&lt;/span&gt; on our server&lt;br /&gt;   # ps –ef | grep apache2&lt;br /&gt;   # ps -ef | grep mysql | grep –v grep&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Installing &lt;span style=&quot;font-weight: bold;&quot;&gt;PHP Libs&lt;/span&gt; (extension, like gd.so)&lt;br /&gt;# bunzip2 CSKphplibsbundle_1.2_sparc.pkg.bz2&lt;br /&gt;# pkgadd –d CSKphplibsbundle_1.2_sparc.pkg&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Edit php.ini to &lt;span style=&quot;font-weight: bold;&quot;&gt;load GD library&lt;/span&gt;&lt;br /&gt;Open /opt/coolstack/php5/lib/php.ini and type the code anywhere or after `extension=&quot;apc.so&quot;`&lt;br /&gt;extension=&quot;gd.so&quot;&lt;br /&gt;Restart Apache with&lt;br /&gt;# /opt/coolstack/apache2/bin/apachectl restart&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;OK. We are finish installing AMP on Solaris 10.</content><link rel='replies' type='application/atom+xml' href='http://kubuskus.blogspot.com/feeds/8572970208142096716/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6051663807179582834/8572970208142096716' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6051663807179582834/posts/default/8572970208142096716'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6051663807179582834/posts/default/8572970208142096716'/><link rel='alternate' type='text/html' href='http://kubuskus.blogspot.com/2008/02/installing-coolstack-solaris-10-amp.html' title='Installing CoolStack Solaris 10 AMP (Apache, MySQL, PHP) and GD (gd.so) also'/><author><name>Agus Sudarmanto</name><uri>http://www.blogger.com/profile/12008227277210217441</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>