Thứ Bảy, 30 tháng 11, 2013

Joomla 1.5- K2 replace Recapchar comment .js library

K2 Comment joomla 1.5 sử dụng http://api.recaptcha.net/js/recaptcha_ajax.js thư viện này ko còn hỗ trợ nữa. Nên khi sử dụng recapchar ko hiển thị.
Cách thực hiện: replace thư viện vào: components\com_k2\views\item\view.html.php
Thay đoạn  http://api.recaptcha.net/js/recaptcha_ajax.js bằng
http://google.com/recaptcha/api/js/recaptcha_ajax.js

Lưu ý: cần vào http://www.google.com/recaptcha để lấy public key và private key vào Admin: component->k2 chọn option -> comments điền key vào và bật lên.

Joomla 1.5 - k2 comment notify email to admin

K2 component joomla 1.5 không hỗ trợ việc gửi mail báo cho admin khi có comment mới.
Vì vậy cần viết thêm đoạn code này.
File location cần hiệu chỉnh: components\com_k2\models\item.php
Sử dụng thư viện Utilities của joomla: thêm vào đoạn: jimport('joomla.utilities.utility');
Tìm chức năng: function comment()
Thêm đoạn : có thể thêm ở dòng 753 (trong function comment)
//sendmail            $linkitemcomment=JURI::base().$item->link=urldecode(JRoute::_(K2HelperRoute::getItemRoute($item->id.':'.$item->alias,
            $item->catid.':'.urlencode($item->category->alias))));                   
            $emailadmin=$mainframe->getCfg('mailfrom');
            $bodymail='Nội dung bình luận:'.$commentText.'<br/><a href="'.$linkitemcomment.'">'.$linkitemcomment.'</a>';
           
            JUtility::sendMail($commentEmail, $userName, $emailadmin, 'Có bình luận mới',$bodymail,1);


Thứ Năm, 28 tháng 11, 2013

Joomla 15 Media manage not view Browser file selection

Đối với joomla 1.5 - Media manage ko xuất hiện input có browser để chọn file up lên có thể thử cách sau:

Thứ Ba, 26 tháng 11, 2013

SAFARI iframe session issue

Trình duyệt SAFARI không cho load session của IFRAME.
Nguyên nhân: trình duyệt safari chống các tự động popup.
Ảnh hưởng: đây là suy nghĩ tốt của SAFARI nhưng ảnh hưởng đối với website load iframe có sử dụng cần session.
Mục tiêu cần đạt được: Mở được session của host (là link IFRAME).
Muốn mở được session sẽ gặp trở ngại CROSS Browser Session. Theo nguyên tắc bảo mật thì host nào được mở session ở host đó. Không có quyền mở session ở host khác.
Vì vậy: cần phải có quyền truy cập ở cả 2 host. Hoặc 1 số website như facebook có hỗ trợ mở session. (cái này tìm hiểu facebook nhé).

Ví dụ đây: file index.php có chứa iframe
<iframe  id="blockrandom" name="contentframe" src="http://example_target.com" width="100%" height="1850"/>

Cách xử lý 1: Dùng trình duyệt safari mở 1 example_target.com, sau đó load file có chưa iframe. Thì mọi việc sẽ chạy bình thường. Nguyên nhân là session đã mở ít nhất 1 lần, sau đó safari sẽ tự nhận. BAD

Cách xử lý 2: Dùng trình duyệt safari viết thêm vào file index.php để tự động mở 1 new tab hoặc new window. Cách này suy nghĩ thì đúng nhưng ko làm được mặc dù nguyên lý gần giống cách 1 là mở example_target.com, nguyên nhân Safari chặn ko cho tự động popup.SO BAD

Cách xử lý 3: Redirect trực tiếp. GOOD
HOST 1: file index.php kiểm tra là browser safari thì redirect đến HOST 2 và open session.
HOST 2: open session: tạo mới file InitSession.php thì phải dùng PHP để open, sau khi open thì redirect lại HOST 1. (phải làm như vậy thì session mới mở được).
HOST 1 kiểm tra và họat động bình thường.

Chi tiết cách 3:
HOST 1 file index.php
<?php if ( ! count($_COOKIE) > 0 && strpos($_SERVER['HTTP_USER_AGENT'], 'Safari')&& $_GET['session']!='open') { ?>
<script type="text/javascript">
    window.top.location.href = 'http://example_target.com/InitSession.php';
</script>
<?php
}
?>
Start iframe<br/>
<iframe  id="blockrandom" name="contentframe" src="http://example_target.com" width="100%" height="600px"/>
End iframe<br/>

HOST 2 file InitSession.php
<?php
//inside setcookie.php
header('P3P: CP="CAO PSA OUR"');
session_start();
echo
'<script>
top.location = "http://host1.com/index.php?session=open";
</script>';
?>


Thứ Sáu, 1 tháng 11, 2013

Xem version PHP và đường dẫn tuyệt đối trên host

Một vài trường hợp cần xem đường dẫn tuyệt đối trên host
Và xem version PHP
Download file sau: phpinfo.php
Link dự phòng:
https://drive.google.com/file/d/0B785Epf6q5XlVENZeFpJTUJIc0k/edit?usp=sharing