tinyMCE init

การใช้งาน tinyMCE

tinyMCE.init({
// General options
mode : "none",
theme : "advanced",
forced_root_block : false,
force_br_newlines : true,
force_p_newlines : false,
cleanup_on_startup : true,
remove_linebreaks : false,
cleanup: true,
debug : true,
plugins : "codeprotect, pagebreak, style, layer, table, save, advhr, advimage, advlink, emotions, iespell, inlinepopups, insertdatetime, preview, media, searchreplace, print, contextmenu, paste, directionality, fullscreen, noneditable, visualchars, nonbreaking, xhtmlxtras, template, wordcount, advlist, autosave",

// Theme options
theme_advanced_buttons1 : "bold, italic, underline, strikethrough, |, justifyleft, justifycenter, justifyright, justifyfull, |, link, unlink, anchor, code, |, bullist, numlist, outdent, indent",
theme_advanced_buttons2 : "",
theme_advanced_buttons3 : "",
theme_advanced_buttons4 : "",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_statusbar_location : "bottom",
theme_advanced_resizing : true
});

function removeControl()
{
tinyMCE.execCommand("mceRemoveControl", true, "ncontent");
}

function addControl()
{
tinyMCE.execCommand("mceAddControl", true, "ncontent");
}

HTTP authentication with PHP


index.php
---------
";
echo '

LogOut

'
?>

auth.php
——–

Try again

';
exit;
} else {
$user = isset($_SERVER['PHP_AUTH_USER']) ? $_SERVER['PHP_AUTH_USER'] : '';
$password = isset($_SERVER['PHP_AUTH_PW']) ? $_SERVER['PHP_AUTH_PW'] : '';
$result = authenticate($user, $password);
if ($result == 0) {
$_SESSION['username'] = $user;
} else {
session_unset($_SESSION['login']);
errMes($result);
echo '

Try again

';
exit;
};
};
};
}

function authenticate($user, $password) {
global $_user_;
global $_password_;

if (($user == $_user_)&&($password == $_password_)) { return 0; }
else { return 1; };
}

function errMes($errno) {
switch ($errno) {
case 0:
break;
case 1:
echo 'The username or password you entered is incorrect';
break;
default:
echo 'Unknown error';
};
}

function logOut() {

session_destroy();
if (isset($_SESSION['username'])) {
session_unset($_SESSION['username']);
echo "You've successfully logged out
";
echo '

LogIn

';
} else {
header("Location: ?action=logIn", TRUE, 301);
};
if (isset($_SESSION['login'])) { session_unset($_SESSION['login']); };
exit;
}
?>

PHP: Write log file

เขียน log ไฟล์ด้วย php

function loguser($reason, $ext = "html"){
if(!is_dir("logs")):
mkdir("logs","0777");
endif;
$fp = fopen("logs/".date("m-d-y").".".$ext, "a+");
fwrite($fp, "".$_SERVER["REMOTE_ADDR"].", ".date("g:i:s A")." : ".$reason."
");
}

AS2: Send data

Code สำหรับส่งข้อมูลไป เพื่อ Process ต่อไป

var result_lv:LoadVars = new LoadVars();
result_lv.onLoad = function(success:Boolean) {
if (success) {
//success do this
} else {
//Error do this
}
};

var send_score:LoadVars = new LoadVars();
send_score.name = Name;
send_score.company = Company;
send_score.emp_code = Id;
send_score.score = 100;
send_score.sendAndLoad("score.php", result_lv, "POST");

ที่มา: มานานแล้วจำไม่ได้

หลักการง่ายๆในการทำ use case

หลักการง่ายๆในการทำ use case ของระบบคือ
1. user ของระบบคือใครบ้าง (Actor)
2. แต่ละ user จะใช้ระบบในกรณีใดบ้าง (Use Case)
3. แต่ละ use case ที่ user ใช้มีความสัมพันธ์กันอย่างไรบ้าง (include)
4. แต่ละ use case สามารถแตกเป็น use case ย่อยๆได้หรือไม่? (extend)

Use Case ไม่ใช่ Flow ของระบบ แต่เป็นภาพรวมของระบบว่าระบบทำอะไรได้บ้าง และใครบ้างเป็นผู้ใช้ระบบ
คำว่าใครไม่ได้แปลว่าเป็นคนเท่านั้นนะครับ อาจจะเป็นระบบอื่นๆก็ได้

โดยทั่วไปแล้ว ก่อนทำ use case เราต้องไปเก็บ requirement หรือความต้องการของผู้ใช้หรือเจ้าของระบบก่อน แล้วเอา requirement นั้นมาวิเคราะห์ โดยการวิเคราะห์เรามักจะใช้ Use Case Diagram เป็นเครื่องมือครับ

และเมื่อได้ use case แล้วเราควรจะกำหนด domain (จัดกลุ่ม) ของแต่ละ use case โดยดูลักษณะความเกี่ยวข้องของข้อมูล และลักษณะการทำงานเป็นหลัก ซึ่งผลที่ได้คือ Domain ของ Business Logic ต่างๆนั่นเอง

ที่มา: http://www.narisa.com/forums/index.php?showtopic=10894

จอนนี่ลีสาธิต การแฮกรีโมทวี (Wii)

จอนนี่ ลี Good job 🙂

ที่มา:
http://www.ted.com/index.php/talks/johnny_lee_demos_wii_remote_hacks.html (มีแปลไทยด้วย)

เพิ่มเติม:
http://techshoestring.blogspot.com/2009/02/forty-dollar-smart-board-using-wii.html
http://blog.makezine.com/archive/2008/11/using_the_design_process.html
http://www.wiimoteproject.com/

Condition for CSS

<!–[if (IE 6)|(IE 7)]><link rel=”stylesheet” href=”css/style_ie6-7.css” type=”text/css”><!–<![endif]–>
<!–[if (!IE)|(IE 8)]><link rel=”stylesheet” href=”css/style_other.css” type=”text/css”><!–<![endif]–>