CSS Sticky Footer + BlueprintCSS

11 08 2009

I got the basic of sticky footer from cssstickyfooter.com and here is my sticky footer combining with blueprintcss.

The HTML code:

<html>
<head>...</head>
<body>
	<div class="container">
		...
	</div>
	<div id="stickyfooter">
		Here you go your fancy sticky footer..
	</div>
</body>
</html>

The CSS:
(I add these lines in screen.css)

/** for sticky footer */
body {margin:0}
html, body {height: 100%;}
.container {height: 100%;}
#stickyfooter {
	position:relative;
	height: 150px;
	margin-top: -150px; /* must be the same value as height */
	clear:both;
	text-align:center; /* up to you */
	background:#ff0; /* up to you */
}

The height of the footer is sets by “height” and “margin-top” in “#stickyfooter”.

Please note that I’m not tested it yet in other browsers but firefox 3.5.1 (Shiretoko) in Ubuntu 9.04. Please feel free to drop me some comments.





PHP Cookies on IE6

3 08 2009

Source: http://www.oreillynet.com/mac/blog/2002/06/p3p_in_ie6_frustrating_failure.html

“MSIE 6 has an inaccurate definition of third party cookies. If your domain is hosted on one server and your PHP stuff is on another, the IE6 P3P implementation considers any cookies sent from the second machine “third party”. Third party cookies will be blocked automatically in most privacy settings if not accompanied by what MS considers “an appropriate Compact Policy”. In order to make this new piece of tweakable garbage happy I’d suggest you’d par exemple send

header(’P3P: CP=”NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM”‘);





PHP SoapServer

4 02 2009

Methods:
Array
(
[0] => SoapServer
[1] => setPersistence
[2] => setClass
[3] => setObject
[4] => addFunction
[5] => getFunctions
[6] => handle
[7] => fault
[8] => addSoapHeader
)





PostgreSQL

25 07 2008

This post is about postgresql commands and other stuffs about it. It will updated when I update it. :) )

Change PosgreSQL postgres user password

sudo -u postgres psql postgres
postgres=# ALTER USER postgres WITH ENCRYPTED PASSWORD 'a';
ALTER ROLE
postgres=# \q

Create a database with a user that have full rights on the database:

sudo -u postgres createuser -D -A -P myuser
sudo -u postgres createdb -O myuser mydb




Export Database Of Oracle XE 10.x On Ubuntu Linux

22 07 2008
oracle@bianca:~$ export ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/
oracle@bianca:~$ /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/exp angelina@bianca

Export: Release 10.2.0.1.0 - Production on Wed Jul 23 04:47:59 2008

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

Password:

Connected to: Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production
Enter array fetch buffer size: 4096 >

Export file: expdat.dmp > alectra-dev-20080723.dmp

(1)E(ntire database), (2)U(sers), or (3)T(ables): (2)U >

Export grants (yes/no): yes > no

Export table data (yes/no): yes >

Compress extents (yes/no): yes >

Export done in US7ASCII character set and AL16UTF16 NCHAR character set
server uses AL32UTF8 character set (possible charset conversion)
Note: grants on tables/views/sequences/roles will not be exported

About to export specified users ...
User to be exported: (RETURN to quit) > alectra

User to be exported: (RETURN to quit) >

. exporting pre-schema procedural objects and actions
. exporting foreign function library names for user ALECTRA
...




Security Hole

22 04 2008

From cracker who defaced depkominfo.go.id :

beberapa kelemahan pada situs depkominfo:
XSS
SQLi
LFI/RFI

beberapa settingan pada depkominfo.go.id yg membantu proses hacking:
allow_url_include = on
magic_quotes_gpc = off
user mysql memiliki file_priv on
beberapa folder pada root document yang memiliki write permission untuk user apache





PHP Redirect to SSL

2 04 2008
<?php
if ($_SERVER['SERVER_PORT'] != 443) {
	header("HTTP/1.1 301 Moved Permanently");
	header("Location: https://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
	exit();
}
?>




Implementing SOAP Server on CakePHP

23 01 2008

My key concept is: create the SOAP server in the Controller and the methods in the Model. Why? Because controller is … (read this) and model is this.

As an example here we gonna make web service for Post of a Blog (see Blog Tutorial) using native SOAP in PHP version 5.

We’ll put the SOAP handler at URL: http://yourhost/posts/service and the WSDL (which is will be used by the SOAP consumer) at URL: http://yourhost/posts/wsdl.

  1. Create table Post (see the Blog Tutorial for details).
  2. Create Post model (models/post.php) as usual.
  3. Create Post controller (controllers/posts_controller.php), see bellow. You need RequestHandler component for create XML-type response on wsdl action.
  4. Create view for action “wsdl” (views/posts/wsdl.ctp) and define your service method in it. You can publish all of methods in Post model including from its parent (AppModel), eg. findById(), find(), findAll(), etc. Note: you should turning off “short_open_tag” in php.ini to avoid error on rendering the xml of wsdl view. And don’t forget to define your service address in the WSDL to http://yourhost/posts/service.
  5. Now your service consumer could consume your service by pointing to your WSDL URL (http://yourhost/posts/wsdl).

Here are the sample codes: Read the rest of this entry »





Disable AutoRun in Ms. Windows

23 01 2008

Via group policy:

  1. Go to Start > Run
  2. Type gpedit.msc & press Enter. You should see the Group Policy window.
  3. In the left-hand column, select Computer Configuration > Administrative Templates > System
  4. Next, look in the right-hand column for “Turn off Autoplay”, and double-click on that.
  5. Next, in the “Turn Off Autoplay Properties” window, select “Enabled”
  6. Then choose “All drives” from the dropdown menu in “Turn off Autoplay on:”
  7. Click OK.




Web Service Client using CakePHP & PHP SOAP

1 08 2007

I’m using PHP version 5.2.1 and CakePHP version 1.1.16-5421.

In this example we’ll create a basic web service client using native PHP SOAP function and CakePHP. The service we will consume is a “fortune”, you can find its info at xmethods.net.

Here is the complete code:

<?php
class WsController extends AppController {
	var $uses = array();
	var $layout = '';

	function fortune() {
		ini_set("soap.wsdl_cache_enabled", "0"); // disabling WSDL cache
		$client = new SoapClient("http://www.doughughes.net/WebServices/fortune/fortune.cfc?wsdl",
			array('proxy_host' => "10.1.89.231",'proxy_port' => 8080)
		); // I'm using proxy to connect Internet from my LAN
		try {
			echo $client->getFortune();
		} catch (SoapFault $exception) {
			echo $exception;
		}
	}
}
?>

Don’t forget to create empty file for the view (I’m wondering how to create an action without a view in CakePHP). Then access it at http://<url to your cake>/ws/fortune.

The key in that code is the WSDL, and function “getFortune()” which is defined in the WSDL.

Really simple isn’t it?