first and last saturday of a month

I’m working on an expenses application. In order to do it, I need to display the entire month, with full weeks in each (from Saturday to Friday).

To do this, I need to know what date the Saturday in the first week falls, and the date of the first Saturday in the following month.

Here’s the code (assuming year is a 4-digit year, and month is a 1-12 number):

[javascript]
// { start date
var start=new Date(year, month-1, 1);
var day=start.getDay();
day=(day+1)%7;

start=new Date(start-3600000*24*day);

// }
// { end date
month++;
if (month==13) {
month=1;
year++;
}
var end=new Date(year, month-1, 1);
var day=end.getDay();
day=7-((day+1)%7);

end=new Date((+end)+3600000*24*day);

// }
[/javascript]

can’t be bothered explaining it – just trust that it’s right 😉

separating buttons in jquery-ui dialog

By default, the jQuery-UI dialog will place buttons on the right side of the popup:

This causes a problem because if you have “OK” right next to “Delete”, and you click the wrong one, well …

The obvious solution is to move the “Delete” to the opposite side.

To do that, add the following two lines after creating the dialog:

[javascript]
$(‘.ui-dialog-buttonset’).css(‘float’,’none’);
$(‘.ui-dialog-buttonset>button:last-child’).css(‘float’,’right’);
[/javascript]

Now the buttons are on opposite sides:

installing WebME in Fedora 16

I got a new laptop today, and as I’ve still got work to do, I need to get the system up and running so it can install WebME.

Here’s a minimal instruction set for installing WebME on your Fedora computer.

As ‘root’, run this in a console:

[bash]
yum install httpd mysql-server php php-gd php-mysql php-pear-Log php-xml svn zip unzip
echo "127.0.0.1 kvwebme" >> /etc/hosts
[/bash]

Then edit /etc/selinux/config, change “enabled” to “disabled” and restart your machine.

Login as your normal user, run this in the console:

[bash]
mkdir ~/websites && cd ~/websites
svn co https://kv-webme.googlecode.com/svn/trunk/ kv-webme
chmod 755 /home/kae
[/bash]

‘su’ to ‘root’ again. Add this to /etc/httpd/conf/httpd.conf:

[xml]
NameVirtualHost *:80
<Directory /home/kae/websites>
AllowOverride All
</Directory>
<VirtualHost *:80>
ServerName kvwebme
DocumentRoot /home/kae/websites/kv-webme
</VirtualHost>
[/xml]

And finally, in the console again:

[bash]
service httpd start
service mysqld start
chkconfig –level 35 mysqld on
chkconfig –level 35 httpd on
[/bash]

That’s it – your system is set up. From that point, just go to http://kvwebme/ and follow the instructions from there!