Archive for April, 2008

Buddy pouncer

Saturday, April 12th, 2008

Một tính năng rất hay trong Pidgin. Bên Yahoo Messenger muốn dùng chức năng alert khi 1 nick đưọc chỉ định online, offline…thì thông báo, phải dùng thêm tiện ích thứ 3 thì mới được. Còn Pidgin đã có sẵn chức năng này. Nhìn ở ảnh bên dưới chắc hẳn bạn thấy nó nhiều tuỳ chọn như thế nào: hiện cửa sổ thông báo, send luôn message cho buddy…

 

 

Và chú em Nam $ là “vật thí nghiệm” đầu tiên hehe

 

Shortcut keys

Thursday, April 10th, 2008

On FF, using:

Ctrl + Shift + T for restore tab just closed.

Ctrl + Tab for jump between opening tab

Refer URL

Tuesday, April 8th, 2008

Một kinh nghiệm khá hay khi khần view có liên quan đến permission (login required).

Bình thường tôi code phần này khá ẩu, nếu user truy cập vào 1 page đòi hỏi xác thực (authorized) thì tôi chỉ làm đơn giản là redirect nó sang login form. Nếu nhập đúng user & pass thì lại redirect nó về trang home. Vấn đề là ở đây. Khách hàng yêu cầu là khi login xong, phải trở lại đúng trang trước đó.

Dùng session để giải quyết. Okie, nhưng một số chỗ session chết sặc tiết. Vậy tại sao không đẩy nó lên URL nhỉ? Và nữa, viết thêm 1 cái hàm chuyên kiểm tra đã login hay chưa như sau:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function check_login($uid)
 
{
    global $user,$base_url;
    if(!$user->uid) {
        $preURL = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
        header('Location: '.$base_url.'/member/login?target='.$preURL);
    }
}
 
function loginProcess() {
   //if login successful
      header('Location: '.$_GET['target']);
   //else set error message or redirect to login
   // code here...
}

Show Desktop.scf

Saturday, April 5th, 2008

Khi bị mất biểu tượng Show Desktop, dùng đoạn mã sau:

[Shell]

Command=2

IconFile=explorer.exe,3

[Taskbar]

Command=ToggleDesktop

Save as Show Desktop.scf & move it into C:\Documents and Settings\khanhdn\Application Data\Microsoft\Internet Explorer\Quick Launch
Phần in nghiêng tùy thuộc vào từng máy, thay đường dẫn thích hợp là okie.

p/s: cách hay làm là…sang 1 máy khác còn biểu tượng Show Desktop rồi copy về máy mình, paste vào theo đường dẫn như trên :D

Rename script

Friday, April 4th, 2008

Đôi khi cần phải đổi tên file hàng loạt trên server. Ngoài cách “đơn giản” nhất, nhanh nhất (túm lại cái gì cũng nhất :D ) là dùng shell script, thì còn cách nữa đó là dùng PHP script để đổi. Không yêu cầu nhiều về permission. Tất nhiên, cái giá phải trả ở đây là tốc độ thực thi ;) Với những thư mục có cỡ vài trăm nghìn file thì….thôi, đừng nên dùng cách này :) )

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
/*
 * Created on Mar 28, 2008
 * Author: Do Nam Khanh
 * Email: donamkhanh@gmail.com
 * File name: rename.php
 *
 */
 
    error_reporting(E_ALL);
    @set_time_limit(0); // No time limit
 
    $f="data.txt";
    $ft=fopen($f,"r");
    if(!$ft) {
        echo "File is empty now.";
        exit;
    }
    else {
       $directory = dir('p');
        while (!feof($ft)) {
            $list=fgets($ft,1000);
            if($list!='') {
                $filename = trim(substr($list,11));
                while (false !== ($temp = $directory->read())) {
                    if ($temp{0}!='.' && $temp{0}!='..') {
                       $temp = trim($temp);
                        if($temp == $filename) {
                            if(!rename("p/$temp", "p/new/$list")) {
                                echo 'Error';
                            }
                        }
                    }
                }
            }
        }
    }