示例#1
0
<?php

include_once 'Pinyin.php';
echo Pinyin::getPinyin("早上好");
echo Pinyin::getShortPinyin("早上好");
示例#2
0
<?php

/**
 * Created by PhpStorm.
 * User: jifei
 * Date: 15/6/25
 */
include_once 'Pinyin.php';
echo Pinyin::getPinyin("ну╔¤║├", 'gb2312');
echo Pinyin::getShortPinyin("ну╔¤║├", 'gb2312');
示例#3
0
 /**
  * 新 注册接口
  *
  * @request int    $phone     用户注册手机号码
  * @request int    $code      用户注册手机验证码
  * @request string $username  用户名
  * @request string $password  用户密码
  * @request string $intro     User intro.
  * @request int    $sex       用户性别,1:男,2:女,default:1
  * @request string $location  格式化的地区地址,format:“省 市 区/县”
  * @request int    $province  地区-县/直辖市 areaId
  * @request int    $city      地区-市/直辖市区县 areaID
  * @request int    $area      地区-区/县/直辖市村
  * @request string $avatarUrl 用户头像URL
  * @request int    $avatarW   用户头像宽度
  * @request int    $avatarH   用户头像宽度
  * @return array
  * @author Seven Du <*****@*****.**>
  **/
 public function signIn()
 {
     $phone = floatval($this->data['phone']);
     // 手机号码
     $code = intval($this->data['code']);
     // 验证码
     $username = t($this->data['username']);
     // 用户名
     $password = $this->data['password'];
     // 密码
     $intro = $this->data['intro'] ? formatEmoji(true, t($this->data['intro'])) : '';
     // 用户简介
     $sex = intval($this->data['sex']);
     in_array($sex, array(1, 2)) or $sex = 1;
     // 默认 男 1.男,2女
     $location = t($this->data['location']);
     // 地区文字
     $province = intval($this->data['province']);
     // 地区 - 省
     $city = intval($this->data['city']);
     // 地区 - 市
     $area = intval($this->data['area']);
     // 地区 - 区/县
     $avatarUrl = t($this->data['avatarUrl']);
     // 用户头像URL
     $avatarW = intval($this->data['avatarW']);
     // 用户头像宽度
     $avatarH = intval($this->data['avatarH']);
     // 用户头像高度
     $register = model('Register');
     $config = model('Xdata')->get('admin_Config:register');
     // 配置
     /* 判断用户手机号码可用性 */
     if (!$register->isValidPhone($phone)) {
         return array('status' => 0, 'message' => $register->getLastError());
         /* 判断用户名是否可用 */
     } elseif (!$register->isValidName($username)) {
         return array('status' => 0, 'message' => $register->getLastError());
         /* 判断验证码是否正确 */
     } elseif (!$register->isValidRegCode($code, $phone)) {
         return array('status' => 0, 'message' => $register->getLastError());
         /* 判断头像传递信息是否完整 */
     } elseif (!$avatarUrl or !$avatarW or !$avatarH) {
         return array('status' => 0, 'message' => '用户头像上传不完整');
         /* 密码判断 */
     } elseif (!$register->isValidPasswordNoRepeat($password)) {
         return array('status' => 0, 'message' => $register->getLastError());
         /* 格式化地区地址判断 */
     } elseif (!$location) {
         return array('status' => 0, 'message' => '格式化地区地址不能为空');
         /* 地区判断 */
     } elseif (!$province or !$city) {
         return array('status' => 0, 'message' => '请完整的选择地区');
     }
     $userData = array('login_salt' => rand(10000, 99999));
     // 用户基本资料数组
     $userData['password'] = model('User')->encryptPassword($password, $userData['login_salt']);
     // 用户密码
     $userData['uname'] = $username;
     // 用户名
     $userData['phone'] = $phone;
     // 用户手机号码
     $userData['sex'] = $sex;
     // 用户性别
     $userData['location'] = $location;
     // 格式化地址
     $userData['province'] = $province;
     // 省
     $userData['city'] = $city;
     $userData['area'] = $area;
     // 地区
     $userData['intro'] = $intro;
     // 用户简介
     $userData['ctime'] = time();
     // 注册时间
     $userData['reg_ip'] = get_client_ip();
     // 注册IP
     /* 用户是否默认审核 */
     $userData['is_audit'] = 1;
     $config['register_audit'] and $userData['is_audit'] = 0;
     $userData['is_active'] = 1;
     // 默认激活
     $userData['is_init'] = 1;
     // 默认初始化
     $userData['first_letter'] = getFirstLetter($username);
     // 用户首字母
     /* 用户搜索 */
     $userData['search_key'] = $username . ' ' . $userData['first_letter'];
     preg_match('/[\\x7f-\\xff]+/', $username) and $userData['search_key'] .= ' ' . Pinyin::getShortPinyin($username, 'utf-8');
     $uid = model('User')->add($userData);
     // 添加用户数据
     if (!$uid) {
         return array('status' => 0, 'message' => '注册失败');
     }
     // 注册失败的提示
     /* 添加默认用户组 */
     $userGroup = $config['default_user_group'];
     empty($userGroup) and $userGroup = C('DEFAULT_GROUP_ID');
     is_array($userGroup) and $userGroup = implode(',', $userGroup);
     model('UserGroupLink')->domoveUsergroup($uid, $userGroup);
     /* 添加双向关注用户 */
     if (!empty($config['each_follow'])) {
         model('Follow')->eachDoFollow($uid, $config['each_follow']);
     }
     /* 添加默认关注用户 */
     $defaultFollow = $config['default_follow'];
     $defaultFollow = explode(',', $defaultFollow);
     $defaultFollow = array_diff($defaultFollow, explode(',', $config['each_follow']));
     empty($defaultFollow) or model('Follow')->bulkDoFollow($uid, $defaultFollow);
     /* 保存用户头像 */
     $avatarData = array('picurl' => $avatarUrl, 'picwidth' => $avatarW);
     $scaling = 5;
     // 未知参数
     $avatarData['w'] = $avatarW * $scaling;
     $avatarData['h'] = $avatarH * $scaling;
     $avatarData['x1'] = 0;
     $avatarData['y1'] = 0;
     $avatarData['x2'] = $avatarData['w'];
     $avatarData['y2'] = $avatarData['h'];
     model('Avatar')->init($uid)->dosave($avatarData, true);
     if ($userData['is_audit'] == 1) {
         $_POST['login'] = $phone;
         $_POST['password'] = $password;
         return $this->authorize();
     }
     return array('status' => 2, 'message' => '注册成功,请等待审核');
 }
示例#4
0
 /**
  * 认证方法 --using
  * @param varchar oauth_token
  * @param varchar oauth_token_secret
  * @return array 状态+提示
  */
 public function register()
 {
     $phone = floatval($this->data['phone']);
     // 手机号码
     $username = '******' . t($this->data['username']);
     // 用户名
     $password = $this->data['password'];
     // 密码
     $sex = intval($this->data['sex']);
     in_array($sex, array(1, 2)) or $sex = 1;
     // 默认 男 1.男,2女
     $register = model('Register');
     $config = model('Xdata')->get('admin_Config:register');
     // 配置
     /* 判断用户手机号码可用性 */
     if (!$register->isValidPhone($phone)) {
         return array('status' => 0, 'msg' => $register->getLastError());
         /* 判断用户名是否可用 */
     } elseif (!$register->isValidName($username)) {
         return array('status' => 0, 'msg' => $register->getLastError());
         /* 密码判断 */
     } elseif (!$register->isValidPasswordNoRepeat($password)) {
         return array('status' => 0, 'msg' => $register->getLastError());
     }
     $userData = array('login_salt' => rand(10000, 99999));
     // 用户基本资料数组
     $userData['password'] = model('User')->encryptPassword($password, $userData['login_salt']);
     // 用户密码
     $userData['uname'] = $username;
     // 用户名
     $userData['phone'] = $phone;
     // 用户手机号码
     $userData['sex'] = $sex;
     // 用户性别
     $userData['ctime'] = time();
     // 注册时间
     $userData['reg_ip'] = get_client_ip();
     // 注册IP
     /* 用户是否默认审核 */
     $userData['is_audit'] = 1;
     $config['register_audit'] and $userData['is_audit'] = 0;
     $userData['is_active'] = 1;
     // 默认激活
     $userData['is_init'] = 1;
     // 默认初始化
     $userData['first_letter'] = getFirstLetter($username);
     // 用户首字母
     /* 用户搜索 */
     $userData['search_key'] = $username . ' ' . $userData['first_letter'];
     preg_match('/[\\x7f-\\xff]+/', $username) and $userData['search_key'] .= ' ' . Pinyin::getShortPinyin($username, 'utf-8');
     $uid = model('User')->add($userData);
     // 添加用户数据
     if (!$uid) {
         return array('status' => 0, 'msg' => '注册失败');
     }
     // 注册失败的提示
     /* 添加默认用户组 */
     $userGroup = $config['default_user_group'];
     empty($userGroup) and $userGroup = C('DEFAULT_GROUP_ID');
     is_array($userGroup) and $userGroup = implode(',', $userGroup);
     model('UserGroupLink')->domoveUsergroup($uid, $userGroup);
     /* 添加双向关注用户 */
     if (!empty($config['each_follow'])) {
         model('Follow')->eachDoFollow($uid, $config['each_follow']);
     }
     /* 添加默认关注用户 */
     $defaultFollow = $config['default_follow'];
     $defaultFollow = explode(',', $defaultFollow);
     $defaultFollow = array_diff($defaultFollow, explode(',', $config['each_follow']));
     empty($defaultFollow) or model('Follow')->bulkDoFollow($uid, $defaultFollow);
     return array('status' => 1, 'msg' => '注册成功');
 }
示例#5
0
/**
 * 截取一段话首字母
 *
 * @param  string $string 截取的字符串
 * @param  string $encode 编码,默认 utf-8
 * @param  string $unknow 不知道的字符返回什么,默认返回第一个字
 * @return string
 * @author Seven Du <*****@*****.**>
 **/
function getShortPinyin($string, $encode = 'utf-8', $unknow = null)
{
    $pre = $unknow !== null ? $unknow : mb_substr($string, 0, 1, $encode);
    $string = Pinyin::getShortPinyin($string, $encode);
    $string = mb_substr($string, 0, 1);
    $string = strtoupper($string);
    /* 转为大写 */
    if (!in_array($string, explode(',', 'Q,W,E,R,T,Y,U,I,O,P,A,S,D,F,G,H,J,K,L,M,N,B,V,C,X,Z'))) {
        $string = $pre;
    }
    return $string;
}