Đăng Nhập

Vui lòng khai báo chính xác tên truy cập và mật khẩu!

Quên mật khẩu?

    Code kích hoạt tài khoản trên Joomla bằng SMS - 0.0.1 Alpha

      Admin
      Admin

      Giới tính : Nam

      Đến từ : TPHCM

      Ngày Tham gia : 03/04/2011

      Tổng số bài gửi : 2292

      #1

       Mon Sep 12, 2011 9:33 pm

      Tên ứng dụng: SMS Register User
      Tác giả: tct
      Mô tả: Đăng kí nhanh thành viên trong Joomla bằng hệ thống SMS Gateway
      Phiên bản: 0.0.1-ALPHA
      Đã thử nghiệm trên phiên bản Joomla: 1.5
      Thời gian cài đặt: ~1 phút
      Phạm vi cài đặt:
      Thêm file vào thư mục chính
      Cài đặt:
      Tạo một file sms_reg.php trên thư mục chính của joomla với nội dung
      PHP Code:
      Code:

      <?php
      /**
      *
      * @package SMS Active User
      * @version $Id: sms_active.php 0000 2009-10-16 2:30:54Z tctshare $
      * @copyright (c) 2009 TCT
      * @license http://opensource.org/licenses/gpl-license.php GNU Public License
      *
      */

      /**
      * @Thiet lap
      */
      $dauso="0"; //dat gia tri la 0 de bo qua chuc nang kiem tra dau so. Ex: 8017,...
      $keyword="FIBO TCT";
      $ip="0"; //dat gia tri la 0 de bo qua chuc nang kiem tra ip. Ex: 112.78.7.18


      /**
      * @ignore
      */
      function tinnhan($noidung) {
          global $_REQUEST;
          $phone=$_REQUEST['phone'];
          $service=$_REQUEST['service'];
          die ("<ClientResponse>
              <Message>
                <PhoneNumber>$phone</PhoneNumber>
                <Message>$noidung</Message>
                <SMSID> -1</SMSID>
                <ServiceNo>$service</ServiceNo>
              </Message>
              </ClientResponse>"); 
      }
      $phone=$_REQUEST['phone'];
      $service=$_REQUEST['service'];
      if (($dauso!=0&&$_REQUEST['port']!=$dauso)||($ip!=0&&$_SERVER["REMOTE_ADDR"]!=$ip)) {
          tinnhan("Dau so hoac ip khong duoc chap nhan. Xem lai cau hinh.");
      }
      $tmp=explode($keyword.' ',strtoupper($_REQUEST['message']));
      if (!is_numeric($tmp[1])) {
          tinnhan("Sai cu phap. Vui long kiem tra lai"); //Co the sua doi noi dung
      }
      include("configuration.php");
      $config=get_class_vars(JConfig);
      $link=mysql_connect($config['host'],$config['user'],$config['password']) or tinnhan("Khong the ket noi den database");
      $db=mysql_select_db($config['db'], $link) or tinnhan("Khong the chon ban du lieu");
      define('USERS_TABLE',$config['dbprefix'] . 'users');
      $user_id=$tmp[1];
      $sql = "SELECT `id`,`block` FROM ". USERS_TABLE ." WHERE `id` = $user_id";
      $result = mysql_query($sql);
      if (mysql_num_rows($result)) {
          $sql = 'UPDATE '. USERS_TABLE .' SET `block` = 0 WHERE `id` = '.$user_id;
          if (mysql_query($sql)) {
              tinnhan("Kich hoat thanh cong."); //Co the sua doi noi dung
          }
      } else {
          tinnhan("Khong the thuc hien. Ma thanh vien yeu cau kich hoat khong ton tai.");  //Co the sua doi noi dung
      }
      tinnhan("Co loi xay ra. Vui long lien he voi nguoi quan tri");  //Co the sua doi noi dung
      ?>

      Sau đó thực hiện cấu hình một số biến như $dauso, $keyword, $ip cho phù hợp với dịch vụ của bạn.

      Ví dụ bạn dùng keyword FIBO TCT của đầu số 8017 và ip hiện tại của hệ thống sms gateway là 112.78.7.18 thì bạn cấu hình lại
      PHP Code:
      Code:

      $dauso="8017";
      $keyword="FIBO TCT";
      $ip="112.78.7.18"; 

      Mở file \components\com_user\controller.php tìm dòng
      PHP Code:
      Code:

      $message  = JText::_( 'REG_COMPLETE_ACTIVATE' ); 
      thay thế bằng
      PHP Code:
      Code:
      [code]
      $message  = sprintf ( JText::_( 'Để đăng kí hoàn tất, vui lòng soạn tin nhắn <b>FIBO TCT %s<b> gửi đến <b>8117<b>' ),$user->get('id'));[/code] //Co the sua doi
      noi dung
      Típ tục tìm
      PHP Code:
      Code:

      $message = sprintf ( JText::_( 'SEND_MSG_ACTIVATE' ), $name, $sitename, $siteURL."index.php?option=com_user&task=activate&activation=".$user->get('activation'), $siteURL, $username, $password);

      thay thế bằng
      PHP Code:
      Code:
      $message = sprintf ( JText::_( 'Chào %s,\n\nCảm ơn đã đăng ký ở  %s. Tài khoản của bạn đã được tạo và phải được kích hoạt trước khi sử dụng.\nĐể kích hoạt tài khoản, bạn soạn tin nhắn: TCT FIBO %s gửi đến 8117\nSau khi kích hoạt bạn có thể đăng nhập vào %s bằng username và password :\n\nUsername - %s\nPassword - %s' ), $name, $sitename, $user->get('id'), $siteURL, $username, $password); //Co the sua doi noi dung 
      Bạn sửa đổi các phần văn bản mà phía sau có dòng "//Co the sua doi noi dung" thành nội dung phù hợp với diễn đàn của bạn.

      Vì chỉ là bản alpha nên có thể sẽ có lỗi xảy ra. Rất mong nhận được phản hồi từ các bạn

      Bạn có thể tải sẵn file sms_active.php đính kèm dưới bài viết.

      Chúc các bạn triển khai hiệu quả.
      Attachments
       Code kích hoạt tài khoản trên Joomla bằng SMS - 0.0.1 Alpha Attachmentsms_reg.zip
      You don't have permission to download attachments.
      (2 Kb) Downloaded 0 times