29 tháng 8, 2008

different loading messages in xajax framework

Using xajax 0.5 rc1, you can now use the following (callback objects) to accomplish this:

loadingPage = xajax.callback.create(300, 10000);
loadingSomeSelectOptions = xajax.callback.create(300, 10000);
loadingOtherSelectOptions = xajax.callback.create(100, 10000);

Then, provide the operations to perform:

loadingPage.onResponseDelay = function() { ... show loading message ... }
loadingPage.onComplete = function() { ... hide loading message ... }

loadingSomeSelectOptions.onRequest = function() { ... show loading message over select box ... }
loadingSomeSelectOptions.onComplete = function() { ... hide loading message ... }

loadingOtherSelectOptions.onResponseDelay = function() { ... show loading msg over other select box ... }
loadingOtherSelectOptions.onComplete = function() { ... hide loading message ... }

Then:

xajax.call('loadPage', { callback: loadingPage });
xajax.call('loadSomeSelectOptions', { callback: loadingSomeSelectOptions });
etc...

As an alternative, you could even:

showLoading = function(oRequest) {
  if ('loadPage' == oRequest.functionName) { ... show page loading message ... }
  else if ('loadSomeSelectOptions' == oRequest.functionName) { ... show loading message over select ... }
}

hideLoading = function(oRequest) {
  if ('loadPage' == oRequest.functionName) { ... hide page loading message ... }
  else if ('loadSomeSelectOptions' == oRequest.functionName) { ... hide loading message ... }
}

handleLoadingMessage = xajax.callback.create(400, 10000);
handleLoadingMessage.onResponseDelay = showLoading;
handleLoadingMessage.onComplete = hideLoading;

xajax.call('loadPage', { callback: handleLoadingMessage });
detail here: http://community.xajaxproject.org/viewtopic.php?pid=13840#p13840


example:
<?php
require_once("xajax_core/xajax.inc.php");
$xajax = new xajax();
// SEE file list below!
$xajax->setFlag("debug", false);

$xajax->registerFunction("callScript0");
$xajax->registerFunction("callScript1");
$xajax->registerFunction("callScript2");
$xajax->registerFunction("callScript3");

function callScript0()
{
$response = new xajaxResponse();
$value = "this is a string duoc tra ve";
for($i=0;$i<10000000;$i++){
$j += $i;
}
$response->assign("display0", "innerHTML", nl2br(print_r($value." - ".$i." - ".$j, true)));
return $response;
}
function callScript1()
{
$response = new xajaxResponse();
$value = "this is a string duoc tra ve";
for($i=0;$i<10000000;$i++){
$j += $i;
}
$response->assign("display1", "innerHTML", nl2br(print_r($value." - ".$i." - ".$j, true)));
return $response;
}
function callScript2()
{
$response = new xajaxResponse();
$value = "this is a string duoc tra ve";
for($i=0;$i<10000000;$i++){
$j += $i;
}
$response->assign("display2", "innerHTML", nl2br(print_r($value." - ".$i." - ".$j, true)));
return $response;
}
function callScript3()
{
$response = new xajaxResponse();
$value = "this is a string duoc tra ve";
for($i=0;$i<10000000;$i++){
$j += $i;
}
$response->assign("display3", "innerHTML", nl2br(print_r($value." - ".$i." - ".$j, true)));
return $response;
}
$xajax->processRequest();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>xajax Tests</title>
<?php
$xajax_files = array();
$xajax_files[] = array("xajax_js/xajax_core.js", "xajax");
// $xajax_files[] = array("xajax_js/xajax_debug.js", "xajax.debug");
$xajax->printJavascript("", $xajax_files)
?>
<script type="text/javascript">
<!--
loadingPage0 = xajax.callback.create(300, 10000);
loadingPage1 = xajax.callback.create(300, 10000);
loadingPage2 = xajax.callback.create(300, 10000);
loadingPage3 = xajax.callback.create(300, 10000);

loadingPage0.onResponseDelay = function() {
xajax.$('display0').innerHTML = "Global Loading0, please wait a moment...";
}
loadingPage0.onComplete = function() {
//xajax.$('loading0').style.display = 'none';
}

loadingPage1.onRequest = function() {
xajax.$('display1').innerHTML = "Global Loading1, please wait a moment...";
}
loadingPage1.onComplete = function() { xajax.$('loading1').style.display = 'none'; }

loadingPage2.onResponseDelay = function() { xajax.$('loading2').style.display = 'block'; }
loadingPage2.onComplete = function() { xajax.$('loading2').style.display = 'none'; }

loadingPage3.onRequest = function() { xajax.$('loading3').style.display = 'block'; }
loadingPage3.onComplete = function() { xajax.$('loading3').style.display = 'none'; }
// -->
</script>
</head>
<body>
<div id="loading0" style="display:none; color:#000033;">Global Loading0, please wait a moment...</div>
<div id="loading1" style="display:none; color:#000033;">Global Loading1, please wait a moment...</div>
<div id="loading2" style="display:none; color:#000033;">Global Loading2, please wait a moment...</div>
<div id="loading3" style="display:none; color:#000033;">Global Loading3, please wait a moment...</div>
<p><input type="button" value="Click Me 0" onclick="xajax.call('callScript0', { callback: loadingPage0 })" /></p>
<p><input type="button" value="Click Me 1" onclick="xajax.call('callScript1', { callback: loadingPage1 })" /></p>
<p><input type="button" value="Click Me 2" onclick="xajax.call('callScript2', { callback: loadingPage2 })" /></p>
<p><input type="button" value="Click Me 3" onclick="xajax.call('callScript3', { callback: loadingPage3 })" /></p>

<div id="display0"></div>
<div id="display1"></div>
<div id="display2"></div>
<div id="display3"></div>
</body>
</html>
########################################################
myCallBackObject = xajax.callbacks.create( *1, *2 )
*1 = response delay time
*2 = expiration timeout
both are optional

########################################################

-->đọc tiếp...

27 tháng 8, 2008

stop & start GUI on UBUNTU

*GNOME desktop

If you are using GNOME:

sudo /etc/init.d/gdm stop

Again to start GNOME desktop:

sudo /etc/init.d/gdm start

*KDE desktop

sudo /etc/init.d/kdm stop

sudo /etc/init.d/kdm start

you can use the init command to go immediately into runlevel 1, which is also known as single user text mode. Open terminal and type the following command:

sudo init 1

Again get back to GUI Mode with init 2 command:

sudo init 2

note:

runlevel 1 was single user, 3 was multi-user and 5 was GUI.

sudo telinit 3

more help here->http://theos.in/news/ubuntu-linux-shutdown-the-x-server/

-->đọc tiếp...

26 tháng 8, 2008

Downloading and Installing webmin on ubuntu

http://www.webmin.com/download.html

newest version:

http://prdownloads.sourceforge.net/webadmin/webmin_1.430_all.deb

login as root:

sudo -i

wget "gói cần lấy dzìa"

dpkg -i "gói mới lấy dzìa"

xong rồi thì vào địa chỉ:

https://ip:10000 or https://ip:20000

-->đọc tiếp...

25 tháng 8, 2008

MTU trong Ubuntu

(MTU) Maximum Transmission Unit là kích thước lớn nhất được đo bằng byte mà cho phép truyền dẫn qua mạng. Bất kỳ một lượng thông tin nào truyền qua mạng mà lớn hơn kích thước của MTU thì sẽ chia nhỏ ra trước khi truyền dẫn qua mạng. Đặc biệt khi bạn dùng internet bằng cách quay số, bạn có thể chỉnh lại thông số MTU để có thể truy cấp internet được nhanh hơn.

Kích thước mặc định MTU của các mạng:
Mạng MTU (bytes)
16 Mbits/Sec Token Ring 17914
4 Mbits/Sec Token Ring 4464
FDDI 4352
Ethernet 1500
IEEE 802.3/802.2 1492
X.25 576

Trên đây là bảng những thông số mẵc định của MTU, bạn có thể điều chỉnh MTU phù hợp theo ý mình.

Để điều chỉnh MTU tạm thời trong phiên làm việc hiện tại thì bạn có thể dùng lệnh ifconfig.

# ifconfig eth0 mtu 1492

hoặc

$ sudo ifconfig eth0 mtu 1492

Ở đây mình thay đổi MTU cho card mạng eth0 từ 1500 bytes xuống 1492 bytes.

Nếu bạn muốn thay đổi hoàn toàn MTU mặc định cho card mạng của mình thì có thể chỉnh sửa trong file cấu hình theo 2 cách.

Cách 1:

Trong Debian, Ubuntu, bạn điều chỉnh file /etc/network/interfaces với nội dung card mạng eth0 như sau

iface eth0 inet static
address 192.168.0.1
network 192.168.0.0
gateway 192.168.0.254
netmask 255.255.255.0
mtu 1492

Còn trong CentOS hoặc Redhat bạn chỉnh trong file /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.1
NETWORK=192.168.0.1
NETMASK=255.255.255.0
GATEWAY=192.168.0.254
MTU=1492

Sau đó restart lại card mạng

# /etc/init.d/network restart

Cách 2:

Trong các dòng Linux bạn có thể chỉnh trong file /etc/ppp/options với mtu 1492
-->đọc tiếp...

Xem log file với MultiTail on Ubuntu (Linux System)

# apt-get install multitail

Kết hợp 2 log file vào một cửa sổ

# multitail /var/log/apache2/access.log -I /var/log/apache2/error.log

3 logfile trong 2 cột

# multitail -s 2 /var/log/apache2/access.log /var/log/messages /var/log/mail.log

5 logfile, kết hợp 2 logfile đặt vào 2 cột và 1 logfile còn lại cho vào cột bên trái

# multitail -s 2 -sn 1,3 /var/log/apache2/access.log -I /var/log/apache2/error.log /var/log/messages \ /var/log/mail.log /var/log/syslog

Kết hợp 2 lệnh ping trong một cửa sổ

# multitail -l “ping 192.168.0.1″ -L “ping 192.168.0.2″

Thực hiện lệnh ping, nếu timeout thì gửi thông báo đến những user đang log in.

# multitail -ex timeout “echo timeout | wall” -l “ping 192.168.0.1″

Trong một cửa sổ, trình bày tất cả các kết nối TCP và status của chúng, cửa sổ khác xem log.

# multitail -R 2 -l “netstat -t” /var/log/apache2/access.log -I /var/log/apache/error.log

Giống như trên nhưng xuất ra file netstat.log các TCP connections và status

# multitail -a netstat.log -R 2 -l “netstat -t tcp” /var/log/apache2/access.log -I /var/log/apache2/error.log

2 log file trong một cửa sổ và mỗi logfile có một màu khác nhau

# multitail -ci green /var/log/apache2/access.log -ci red -I /var/log/apache2/error.log

-->đọc tiếp...

Cài đặt Skype cho Ubuntu

Thêm vào /etc/apt/sources.list hàng ni.

deb http://download.skype.com/linux/repos/debian/ stable non-free

save lại sao đó vào xterm gõ cái ni.

# apt-get install skype

xong rùi đó.

-->đọc tiếp...
BlogWeb: tạo từ Blog của Google
Nội dung: lấy từ nhiều Nguồn khác nhau.
Mục đích: note lại bài Hướng dẫn hay và Đáng đọc.
Kết quả: nghiện Internet Nặng.
Tương lại: xuống lỗ Vẫn Nghiện nếu không có ai giúp.
Blog Web của: Trí Dũng đến từ Việt Nam - Liên kết đến trang Blog Cá Nhân
Tôi biết (^_^)
Thông tin về Tác giả. Chi Tiết
Sử dụng (FireFox | Google Chrome on Ubuntu) để xem tốt nhất. Học Nhiều Hơn Tại Đây
©2009 Google Blogger - HuuNguyen's Home