本文整理汇总了PHP中jeedom::event方法的典型用法代码示例。如果您正苦于以下问题:PHP jeedom::event方法的具体用法?PHP jeedom::event怎么用?PHP jeedom::event使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类jeedom
的用法示例。
在下文中一共展示了jeedom::event方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: connect
/**
* Retourne un object utilisateur (si les information de connection sont valide)
* @param string $_login nom d'utilisateur
* @param string $_mdp motsz de passe en sha1
* @return user object user
*/
public static function connect($_login, $_mdp, $_passAlreadyEncode = false)
{
if ($_passAlreadyEncode) {
$sMdp = $_mdp;
} else {
$sMdp = sha1($_mdp);
}
if (config::byKey('ldap:enable') == '1') {
log::add("connection", "debug", __('Authentification par LDAP', __FILE__));
$ad = self::connectToLDAP();
if ($ad !== false) {
log::add("connection", "debug", __('Connection au LDAP OK', __FILE__));
$ad = ldap_connect(config::byKey('ldap:host'), config::byKey('ldap:port'));
ldap_set_option($ad, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($ad, LDAP_OPT_REFERRALS, 0);
if (!ldap_bind($ad, 'uid=' . $_login . ',' . config::byKey('ldap:basedn'), $_mdp)) {
log::add("connection", "info", __('Mot de passe erroné (', __FILE__) . $_login . ')');
return false;
}
log::add("connection", "debug", __('Bind user OK', __FILE__));
$result = ldap_search($ad, 'uid=' . $_login . ',' . config::byKey('ldap:basedn'), config::byKey('ldap:filter'));
log::add("connection", "info", __('Recherche LDAP (', __FILE__) . $_login . ')');
if ($result) {
$entries = ldap_get_entries($ad, $result);
if ($entries['count'] > 0) {
$user = self::byLogin($_login);
if (is_object($user)) {
$user->setPassword($sMdp);
$user->setOptions('lastConnection', date('Y-m-d H:i:s'));
$user->save();
return $user;
}
$user = new user();
$user->setLogin($_login);
$user->setPassword($sMdp);
$user->setOptions('lastConnection', date('Y-m-d H:i:s'));
$user->save();
log::add("connection", "info", __('Utilisateur créé depuis le LDAP : ', __FILE__) . $_login);
jeedom::event('user_connect');
log::add('event', 'event', __('Connexion de l\'utilisateur ', __FILE__) . $_login);
return $user;
} else {
$user = self::byLogin($_login);
if (is_object($user)) {
$user->remove();
}
log::add("connection", "info", __('Utilisateur non autorisé à accéder à Jeedom (', __FILE__) . $_login . ')');
return false;
}
} else {
$user = self::byLogin($_login);
if (is_object($user)) {
$user->remove();
}
log::add("connection", "info", __('Utilisateur non autorisé à accéder à Jeedom (', __FILE__) . $_login . ')');
return false;
}
return false;
} else {
log::add("connection", "info", __('Impossible de se connecter au LDAP', __FILE__));
}
}
$values = array('login' => $_login, 'password' => $sMdp);
$sql = 'SELECT ' . DB::buildField(__CLASS__) . '
FROM user
WHERE login=:login
AND password=:password';
$user = DB::Prepare($sql, $values, DB::FETCH_TYPE_ROW, PDO::FETCH_CLASS, __CLASS__);
if (is_object($user)) {
$user->setOptions('lastConnection', date('Y-m-d H:i:s'));
$user->save();
jeedom::event('user_connect');
log::add('event', 'event', __('Connexion de l\'utilisateur ', __FILE__) . $_login);
if ($user->getOptions('validity_limit') != '' && strtotime('now') > strtotime($user->getOptions('validity_limit'))) {
$user->remove();
return false;
}
}
return $user;
}
示例2: connect
/**
* Retourne un object utilisateur (si les information de connection sont valide)
* @param string $_login nom d'utilisateur
* @param string $_mdp motsz de passe en sha1
* @return user object user
*/
public static function connect($_login, $_mdp, $_hash = false)
{
if (!$_hash) {
$sMdp = sha1($_mdp);
}
if (config::byKey('ldap:enable') == '1' && !$_hash) {
log::add("connection", "debug", __('Authentification par LDAP', __FILE__));
$ad = self::connectToLDAP();
if ($ad !== false) {
log::add("connection", "debug", __('Connection au LDAP OK', __FILE__));
$ad = ldap_connect(config::byKey('ldap:host'), config::byKey('ldap:port'));
ldap_set_option($ad, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($ad, LDAP_OPT_REFERRALS, 0);
if (!ldap_bind($ad, 'uid=' . $_login . ',' . config::byKey('ldap:basedn'), $_mdp)) {
log::add("connection", "info", __('Mot de passe erroné (', __FILE__) . $_login . ')');
return false;
}
log::add("connection", "debug", __('Bind user OK', __FILE__));
$result = ldap_search($ad, 'uid=' . $_login . ',' . config::byKey('ldap:basedn'), config::byKey('ldap:filter'));
log::add("connection", "info", __('Recherche LDAP (', __FILE__) . $_login . ')');
if ($result) {
$entries = ldap_get_entries($ad, $result);
if ($entries['count'] > 0) {
$user = self::byLogin($_login);
if (is_object($user)) {
$user->setPassword($sMdp);
$user->setOptions('lastConnection', date('Y-m-d H:i:s'));
$user->save();
return $user;
}
$user = new user();
$user->setLogin($_login);
$user->setPassword($sMdp);
$user->setOptions('lastConnection', date('Y-m-d H:i:s'));
$user->save();
log::add("connection", "info", __('Utilisateur créé depuis le LDAP : ', __FILE__) . $_login);
jeedom::event('user_connect');
log::add('event', 'event', __('Connexion de l\'utilisateur ', __FILE__) . $_login);
return $user;
} else {
$user = self::byLogin($_login);
if (is_object($user)) {
$user->remove();
}
log::add("connection", "info", __('Utilisateur non autorisé à accéder à Jeedom (', __FILE__) . $_login . ')');
return false;
}
} else {
$user = self::byLogin($_login);
if (is_object($user)) {
$user->remove();
}
log::add("connection", "info", __('Utilisateur non autorisé à accéder à Jeedom (', __FILE__) . $_login . ')');
return false;
}
return false;
} else {
log::add("connection", "info", __('Impossible de se connecter au LDAP', __FILE__));
}
}
if (!$_hash) {
$user = user::byLoginAndPassword($_login, $sMdp);
} else {
$user = user::byLoginAndHash($_login, $_mdp);
}
if (is_object($user)) {
$user->getHash();
$user->setOptions('lastConnection', date('Y-m-d H:i:s'));
$user->save();
jeedom::event('user_connect');
log::add('event', 'event', __('Connexion de l\'utilisateur ', __FILE__) . $_login);
if ($user->getOptions('validity_limit') != '' && strtotime('now') > strtotime($user->getOptions('validity_limit'))) {
$user->remove();
return false;
}
}
return $user;
}