当前位置: 首页>>代码示例>>PHP>>正文


PHP autoname函数代码示例

本文整理汇总了PHP中autoname函数的典型用法代码示例。如果您正苦于以下问题:PHP autoname函数的具体用法?PHP autoname怎么用?PHP autoname使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了autoname函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: create_user


//.........这里部分代码省略.........
    if (!allowed_email($email)) {
        $result['message'] .= t('Your email domain is not among those allowed on this site.') . EOL;
    }
    if (!valid_email($email) || !validate_email($email)) {
        $result['message'] .= t('Not a valid email address.') . EOL;
    }
    // Disallow somebody creating an account using openid that uses the admin email address,
    // since openid bypasses email verification. We'll allow it if there is not yet an admin account.
    $adminlist = explode(",", str_replace(" ", "", strtolower($a->config['admin_email'])));
    //if((x($a->config,'admin_email')) && (strcasecmp($email,$a->config['admin_email']) == 0) && strlen($openid_url)) {
    if (x($a->config, 'admin_email') && in_array(strtolower($email), $adminlist) && strlen($openid_url)) {
        $r = q("SELECT * FROM `user` WHERE `email` = '%s' LIMIT 1", dbesc($email));
        if (count($r)) {
            $result['message'] .= t('Cannot use that email.') . EOL;
        }
    }
    $nickname = $arr['nickname'] = strtolower($nickname);
    if (!preg_match("/^[a-z][a-z0-9\\-\\_]*\$/", $nickname)) {
        $result['message'] .= t('Your "nickname" can only contain "a-z", "0-9", "-", and "_", and must also begin with a letter.') . EOL;
    }
    $r = q("SELECT `uid` FROM `user`\n               \tWHERE `nickname` = '%s' LIMIT 1", dbesc($nickname));
    if (count($r)) {
        $result['message'] .= t('Nickname is already registered. Please choose another.') . EOL;
    }
    // Check deleted accounts that had this nickname. Doesn't matter to us,
    // but could be a security issue for federated platforms.
    $r = q("SELECT * FROM `userd`\n               \tWHERE `username` = '%s' LIMIT 1", dbesc($nickname));
    if (count($r)) {
        $result['message'] .= t('Nickname was once registered here and may not be re-used. Please choose another.') . EOL;
    }
    if (strlen($result['message'])) {
        return $result;
    }
    $new_password = strlen($password) ? $password : autoname(6) . mt_rand(100, 9999);
    $new_password_encoded = hash('whirlpool', $new_password);
    $result['password'] = $new_password;
    require_once 'include/crypto.php';
    $keys = new_keypair(4096);
    if ($keys === false) {
        $result['message'] .= t('SERIOUS ERROR: Generation of security keys failed.') . EOL;
        return $result;
    }
    $default_service_class = get_config('system', 'default_service_class');
    if (!$default_service_class) {
        $default_service_class = '';
    }
    $prvkey = $keys['prvkey'];
    $pubkey = $keys['pubkey'];
    /**
     *
     * Create another keypair for signing/verifying
     * salmon protocol messages. We have to use a slightly
     * less robust key because this won't be using openssl
     * but the phpseclib. Since it is PHP interpreted code
     * it is not nearly as efficient, and the larger keys
     * will take several minutes each to process.
     *
     */
    $sres = new_keypair(512);
    $sprvkey = $sres['prvkey'];
    $spubkey = $sres['pubkey'];
    $r = q("INSERT INTO `user` ( `guid`, `username`, `password`, `email`, `openid`, `nickname`,\n\t\t`pubkey`, `prvkey`, `spubkey`, `sprvkey`, `register_date`, `verified`, `blocked`, `timezone`, `service_class`, `default-location` )\n\t\tVALUES ( '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, 'UTC', '%s', '' )", dbesc(generate_user_guid()), dbesc($username), dbesc($new_password_encoded), dbesc($email), dbesc($openid_url), dbesc($nickname), dbesc($pubkey), dbesc($prvkey), dbesc($spubkey), dbesc($sprvkey), dbesc(datetime_convert()), intval($verified), intval($blocked), dbesc($default_service_class));
    if ($r) {
        $r = q("SELECT * FROM `user`\n\t\t\tWHERE `username` = '%s' AND `password` = '%s' LIMIT 1", dbesc($username), dbesc($new_password_encoded));
        if ($r !== false && count($r)) {
            $u = $r[0];
开发者ID:rahmiyildiz,项目名称:friendica,代码行数:67,代码来源:user.php

示例2: lostpass_content

function lostpass_content(&$a)
{
    if (x($_GET, 'verify')) {
        $verify = $_GET['verify'];
        $r = q("SELECT * FROM account WHERE account_reset = '%s' LIMIT 1", dbesc($verify));
        if (!$r) {
            notice(t("Request could not be verified. (You may have previously submitted it.) Password reset failed.") . EOL);
            goaway(z_root());
            return;
        }
        $aid = $r[0]['account_id'];
        $email = $r[0]['account_email'];
        $new_password = autoname(6) . mt_rand(100, 9999);
        $salt = random_string(32);
        $password_encoded = hash('whirlpool', $salt . $new_password);
        $r = q("UPDATE account SET account_salt = '%s', account_password = '%s', account_reset = '', account_flags = (account_flags & ~%d) where account_id = %d", dbesc($salt), dbesc($password_encoded), intval(ACCOUNT_UNVERIFIED), intval($aid));
        if ($r) {
            $tpl = get_markup_template('pwdreset.tpl');
            $o .= replace_macros($tpl, array('$lbl1' => t('Password Reset'), '$lbl2' => t('Your password has been reset as requested.'), '$lbl3' => t('Your new password is'), '$lbl4' => t('Save or copy your new password - and then'), '$lbl5' => '<a href="' . $a->get_baseurl() . '">' . t('click here to login') . '</a>.', '$lbl6' => t('Your password may be changed from the <em>Settings</em> page after successful login.'), '$newpass' => $new_password, '$baseurl' => $a->get_baseurl()));
            info("Your password has been reset." . EOL);
            $email_tpl = get_intltext_template("passchanged_eml.tpl");
            $message = replace_macros($email_tpl, array('$sitename' => $a->config['sitename'], '$siteurl' => $a->get_baseurl(), '$username' => sprintf(t('Site Member (%s)'), $email), '$email' => $email, '$new_password' => $new_password, '$uid' => $newuid));
            $subject = email_header_encode(sprintf(t('Your password has changed at %s'), get_config('system', 'sitename')), 'UTF-8');
            $res = mail($email, $subject, $message, 'From: ' . 'Administrator@' . $_SERVER['SERVER_NAME'] . "\n" . 'Content-type: text/plain; charset=UTF-8' . "\n" . 'Content-transfer-encoding: 8bit');
            return $o;
        }
    } else {
        $tpl = get_markup_template('lostpass.tpl');
        $o .= replace_macros($tpl, array('$title' => t('Forgot your Password?'), '$desc' => t('Enter your email address and submit to have your password reset. Then check your email for further instructions.'), '$name' => t('Email Address'), '$submit' => t('Reset')));
        return $o;
    }
}
开发者ID:TamirAl,项目名称:hubzilla,代码行数:32,代码来源:lostpass.php

示例3: lostpass_content

function lostpass_content(&$a)
{
    if (x($_GET, 'verify')) {
        $verify = $_GET['verify'];
        $hash = hash('whirlpool', $verify);
        $r = q("SELECT * FROM `user` WHERE `pwdreset` = '%s' LIMIT 1", dbesc($hash));
        if (!count($r)) {
            notice(t("Request could not be verified. (You may have previously submitted it.) Password reset failed.") . EOL);
            goaway(z_root());
            return;
        }
        $uid = $r[0]['uid'];
        $username = $r[0]['username'];
        $email = $r[0]['email'];
        $new_password = autoname(6) . mt_rand(100, 9999);
        $new_password_encoded = hash('whirlpool', $new_password);
        $r = q("UPDATE `user` SET `password` = '%s', `pwdreset` = ''  WHERE `uid` = %d LIMIT 1", dbesc($new_password_encoded), intval($uid));
        if ($r) {
            $tpl = get_markup_template('pwdreset.tpl');
            $o .= replace_macros($tpl, array('$lbl1' => t('Password Reset'), '$lbl2' => t('Your password has been reset as requested.'), '$lbl3' => t('Your new password is'), '$lbl4' => t('Save or copy your new password - and then'), '$lbl5' => '<a href="' . $a->get_baseurl() . '">' . t('click here to login') . '</a>.', '$lbl6' => t('Your password may be changed from the <em>Settings</em> page after successful login.'), '$newpass' => $new_password, '$baseurl' => $a->get_baseurl()));
            info("Your password has been reset." . EOL);
            $email_tpl = get_intltext_template("passchanged_eml.tpl");
            $email_tpl = replace_macros($email_tpl, array('$sitename' => $a->config['sitename'], '$siteurl' => $a->get_baseurl(), '$username' => $username, '$email' => $email, '$new_password' => $new_password, '$uid' => $newuid));
            $res = mail($email, "Your password has changed at {$a->config['sitename']}", $email_tpl, 'From: ' . t('Administrator') . '@' . $_SERVER['SERVER_NAME'] . "\n" . 'Content-type: text/plain; charset=UTF-8' . "\n" . 'Content-transfer-encoding: 8bit');
            return $o;
        }
    } else {
        $tpl = get_markup_template('lostpass.tpl');
        $o .= replace_macros($tpl, array('$title' => t('Forgot your Password?'), '$desc' => t('Enter your email address and submit to have your password reset. Then check your email for further instructions.'), '$name' => t('Nickname or Email: '), '$submit' => t('Reset')));
        return $o;
    }
}
开发者ID:nextgensh,项目名称:friendica,代码行数:32,代码来源:lostpass.php

示例4: testAutonameLength1

 /**
  * test with a length, that may be too short
  */
 public function testAutonameLength1()
 {
     $autoname1 = autoname(1);
     $this->assertEquals(1, count($autoname1));
     $autoname2 = autoname(1);
     $this->assertEquals(1, count($autoname2));
     // The following test is problematic, with only 26 possibilities
     // generating the same thing twice happens often aka
     // birthday paradox
     //		$this->assertFalse($autoname1==$autoname2);
 }
开发者ID:TamirAl,项目名称:hubzilla,代码行数:14,代码来源:autoname_test.php

示例5: lostpass_content

function lostpass_content(&$a)
{
    if (x($_GET, 'verify')) {
        $verify = $_GET['verify'];
        $hash = hash('whirlpool', $verify);
        $r = q("SELECT * FROM `user` WHERE `pwdreset` = '%s' LIMIT 1", dbesc($hash));
        if (!count($r)) {
            $o = t("Request could not be verified. (You may have previously submitted it.) Password reset failed.");
            return $o;
        }
        $uid = $r[0]['uid'];
        $username = $r[0]['username'];
        $email = $r[0]['email'];
        $new_password = autoname(6) . mt_rand(100, 9999);
        $new_password_encoded = hash('whirlpool', $new_password);
        $r = q("UPDATE `user` SET `password` = '%s', `pwdreset` = ''  WHERE `uid` = %d", dbesc($new_password_encoded), intval($uid));
        if ($r) {
            $tpl = get_markup_template('pwdreset.tpl');
            $o .= replace_macros($tpl, array('$lbl1' => t('Password Reset'), '$lbl2' => t('Your password has been reset as requested.'), '$lbl3' => t('Your new password is'), '$lbl4' => t('Save or copy your new password - and then'), '$lbl5' => '<a href="' . $a->get_baseurl() . '">' . t('click here to login') . '</a>.', '$lbl6' => t('Your password may be changed from the <em>Settings</em> page after successful login.'), '$newpass' => $new_password, '$baseurl' => $a->get_baseurl()));
            info("Your password has been reset." . EOL);
            $sitename = $a->config['sitename'];
            $siteurl = $a->get_baseurl();
            // $username, $email, $new_password
            $preamble = deindent(t('
				Dear %1$s,
					Your password has been changed as requested. Please retain this
				information for your records (or change your password immediately to
				something that you will remember).
			'));
            $body = deindent(t('
				Your login details are as follows:

				Site Location:	%1$s
				Login Name:	%2$s
				Password:	%3$s

				You may change that password from your account settings page after logging in.
			'));
            $preamble = sprintf($preamble, $username);
            $body = sprintf($body, $siteurl, $email, $new_password);
            notification(array('type' => "SYSTEM_EMAIL", 'to_email' => $email, 'subject' => sprintf(t('Your password has been changed at %s'), $sitename), 'preamble' => $preamble, 'body' => $body));
            return $o;
        }
    } else {
        $tpl = get_markup_template('lostpass.tpl');
        $o .= replace_macros($tpl, array('$title' => t('Forgot your Password?'), '$desc' => t('Enter your email address and submit to have your password reset. Then check your email for further instructions.'), '$name' => t('Nickname or Email: '), '$submit' => t('Reset')));
        return $o;
    }
}
开发者ID:ZerGabriel,项目名称:friendica,代码行数:49,代码来源:lostpass.php

示例6: invite_post

/**
 * module: invite.php
 *
 * send email invitations to join social network
 *
 */
function invite_post(&$a)
{
    if (!local_user()) {
        notice(t('Permission denied.') . EOL);
        return;
    }
    $recips = x($_POST, 'recipients') ? explode("\n", $_POST['recipients']) : array();
    $message = x($_POST, 'message') ? notags(trim($_POST['message'])) : '';
    $total = 0;
    if (get_config('system', 'invitation_only')) {
        $invonly = true;
        $x = get_pconfig(local_user(), 'system', 'invites_remaining');
        if (!$x && !is_site_admin()) {
            return;
        }
    }
    foreach ($recips as $recip) {
        $recip = trim($recip);
        if (!valid_email($recip)) {
            notice(sprintf(t('%s : Not a valid email address.'), $recip) . EOL);
            continue;
        }
        if ($invonly && ($x || is_site_admin())) {
            $code = autoname(8) . srand(1000, 9999);
            $nmessage = str_replace('$invite_code', $code, $message);
            $r = q("INSERT INTO `register` (`hash`,`created`) VALUES ('%s', '%s') ", dbesc($code), dbesc(datetime_convert()));
            if (!is_site_admin()) {
                $x--;
                if ($x >= 0) {
                    set_pconfig(local_user(), 'system', 'invites_remaining', $x);
                } else {
                    return;
                }
            }
        } else {
            $nmessage = $message;
        }
        $res = mail($recip, sprintf(t('Please join my network on %s'), $a->config['sitename']), $nmessage, "From: " . $a->user['email'] . "\n" . 'Content-type: text/plain; charset=UTF-8' . "\n" . 'Content-transfer-encoding: 8bit');
        if ($res) {
            $total++;
        } else {
            notice(sprintf(t('%s : Message delivery failed.'), $recip) . EOL);
        }
    }
    notice(sprintf(tt("%d message sent.", "%d messages sent.", $total), $total) . EOL);
    return;
}
开发者ID:nextgensh,项目名称:friendica,代码行数:53,代码来源:invite.php

示例7: get

 function get()
 {
     if (!local_channel()) {
         notice(t('Permission denied.') . EOL);
         return;
     }
     $tpl = get_markup_template('invite.tpl');
     $invonly = false;
     if (get_config('system', 'invitation_only')) {
         $invonly = true;
         $x = get_pconfig(local_channel(), 'system', 'invites_remaining');
         if (!$x && !is_site_admin()) {
             notice(t('You have no more invitations available') . EOL);
             return '';
         }
     }
     if ($invonly && ($x || is_site_admin())) {
         $invite_code = autoname(8) . rand(1000, 9999);
         $nmessage = str_replace('$invite_code', $invite_code, $message);
         $r = q("INSERT INTO `register` (`hash`,`created`) VALUES ('%s', '%s') ", dbesc($invite_code), dbesc(datetime_convert()));
         if (!is_site_admin()) {
             $x--;
             if ($x >= 0) {
                 set_pconfig(local_channel(), 'system', 'invites_remaining', $x);
             } else {
                 return;
             }
         }
     }
     $ob = \App::get_observer();
     if (!$ob) {
         return $o;
     }
     $channel = \App::get_channel();
     $o = replace_macros($tpl, array('$form_security_token' => get_form_security_token("send_invite"), '$invite' => t('Send invitations'), '$addr_text' => t('Enter email addresses, one per line:'), '$msg_text' => t('Your message:'), '$default_message' => t('Please join my community on $Projectname.') . "\r\n" . "\r\n" . $linktxt . ($invonly ? "\r\n" . "\r\n" . t('You will need to supply this invitation code:') . " " . $invite_code . "\r\n" . "\r\n" : '') . t('1. Register at any $Projectname location (they are all inter-connected)') . "\r\n" . "\r\n" . z_root() . '/register' . "\r\n" . "\r\n" . t('2. Enter my $Projectname network address into the site searchbar.') . "\r\n" . "\r\n" . $ob['xchan_addr'] . ' (' . t('or visit') . " " . z_root() . '/channel/' . $channel['channel_address'] . ')' . "\r\n" . "\r\n" . t('3. Click [Connect]') . "\r\n" . "\r\n", '$submit' => t('Submit')));
     return $o;
 }
开发者ID:BlaBlaNet,项目名称:hubzilla,代码行数:37,代码来源:Invite.php

示例8: check_php

function check_php(&$phpath, &$checks)
{
    $passed = $passed2 = $passed3 = false;
    if (strlen($phpath)) {
        $passed = file_exists($phpath);
    } else {
        $phpath = trim(shell_exec('which php'));
        $passed = strlen($phpath);
    }
    $help = "";
    if (!$passed) {
        $help .= t('Could not find a command line version of PHP in the web server PATH.') . EOL;
        $help .= t("If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron. See <a href='http://friendica.com/node/27'>'Activating scheduled tasks'</a>") . EOL;
        $help .= EOL . EOL;
        $tpl = get_markup_template('field_input.tpl');
        $help .= replace_macros($tpl, array('$field' => array('phpath', t('PHP executable path'), $phpath, t('Enter full path to php executable. You can leave this blank to continue the installation.'))));
        $phpath = "";
    }
    check_add($checks, t('Command line PHP') . ($passed ? " (<tt>{$phpath}</tt>)" : ""), $passed, false, $help);
    if ($passed) {
        $cmd = "{$phpath} -v";
        $result = trim(shell_exec($cmd));
        $passed2 = strpos($result, "(cli)") !== false;
        list($result) = explode("\n", $result);
        $help = "";
        if (!$passed2) {
            $help .= t('PHP executable is not the php cli binary (could be cgi-fgci version)') . EOL;
            $help .= t('Found PHP version: ') . "<tt>{$result}</tt>";
        }
        check_add($checks, t('PHP cli binary'), $passed2, true, $help);
    }
    if ($passed2) {
        $str = autoname(8);
        $cmd = "{$phpath} testargs.php {$str}";
        $result = trim(shell_exec($cmd));
        $passed3 = $result == $str;
        $help = "";
        if (!$passed3) {
            $help .= t('The command line version of PHP on your system does not have "register_argc_argv" enabled.') . EOL;
            $help .= t('This is required for message delivery to work.');
        }
        check_add($checks, t('PHP register_argc_argv'), $passed3, true, $help);
    }
}
开发者ID:ridcully,项目名称:friendica,代码行数:44,代码来源:install.php

示例9: check_php

/**
 * @brief Checks the PHP environment.
 *
 * @param[in,out] string &$phpath
 * @param[out] array &$checks
 */
function check_php(&$phpath, &$checks)
{
    $help = '';
    if (strlen($phpath)) {
        $passed = file_exists($phpath);
    } else {
        if (is_windows()) {
            $phpath = trim(shell_exec('where php'));
        } else {
            $phpath = trim(shell_exec('which php'));
        }
        $passed = strlen($phpath);
    }
    if (!$passed) {
        $help .= t('Could not find a command line version of PHP in the web server PATH.') . EOL;
        $help .= t('If you don\'t have a command line version of PHP installed on server, you will not be able to run background polling via cron.') . EOL;
        $help .= EOL . EOL;
        $tpl = get_markup_template('field_input.tpl');
        $help .= replace_macros($tpl, array('$field' => array('phpath', t('PHP executable path'), $phpath, t('Enter full path to php executable. You can leave this blank to continue the installation.'))));
        $phpath = '';
    }
    check_add($checks, t('Command line PHP') . ($passed ? " (<tt>{$phpath}</tt>)" : ""), $passed, false, $help);
    if ($passed) {
        $str = autoname(8);
        $cmd = "{$phpath} install/testargs.php {$str}";
        $result = trim(shell_exec($cmd));
        $passed2 = $result == $str;
        $help = '';
        if (!$passed2) {
            $help .= t('The command line version of PHP on your system does not have "register_argc_argv" enabled.') . EOL;
            $help .= t('This is required for message delivery to work.');
        }
        check_add($checks, t('PHP register_argc_argv'), $passed, true, $help);
    }
}
开发者ID:HaakonME,项目名称:redmatrix,代码行数:41,代码来源:setup.php

示例10: register_post


//.........这里部分代码省略.........
     $loose_reg = get_config('system', 'no_regfullname');
     if (!$loose_reg) {
         $username = mb_convert_case($username, MB_CASE_TITLE, 'UTF-8');
         if (!strpos($username, ' ')) {
             $err .= t("That doesn't appear to be your full (First Last) name.") . EOL;
         }
     }
     if (!allowed_email($email)) {
         $err .= t('Your email domain is not among those allowed on this site.') . EOL;
     }
     if (!valid_email($email) || !validate_email($email)) {
         $err .= t('Not a valid email address.') . EOL;
     }
     // Disallow somebody creating an account using openid that uses the admin email address,
     // since openid bypasses email verification. We'll allow it if there is not yet an admin account.
     if (x($a->config, 'admin_email') && strcasecmp($email, $a->config['admin_email']) == 0 && strlen($openid_url)) {
         $r = q("SELECT * FROM `user` WHERE `email` = '%s' LIMIT 1", dbesc($email));
         if (count($r)) {
             $err .= t('Cannot use that email.') . EOL;
         }
     }
     $nickname = $_POST['nickname'] = strtolower($nickname);
     if (!preg_match("/^[a-z][a-z0-9\\-\\_]*\$/", $nickname)) {
         $err .= t('Your "nickname" can only contain "a-z", "0-9", "-", and "_", and must also begin with a letter.') . EOL;
     }
     $r = q("SELECT `uid` FROM `user`\n               \tWHERE `nickname` = '%s' LIMIT 1", dbesc($nickname));
     if (count($r)) {
         $err .= t('Nickname is already registered. Please choose another.') . EOL;
     }
     if (strlen($err)) {
         notice($err);
         return;
     }
     $new_password = autoname(6) . mt_rand(100, 9999);
     $new_password_encoded = hash('whirlpool', $new_password);
     $res = openssl_pkey_new(array('digest_alg' => 'sha1', 'private_key_bits' => 4096, 'encrypt_key' => false));
     // Get private key
     if (empty($res)) {
         notice(t('SERIOUS ERROR: Generation of security keys failed.') . EOL);
         return;
     }
     $prvkey = '';
     openssl_pkey_export($res, $prvkey);
     // Get public key
     $pkey = openssl_pkey_get_details($res);
     $pubkey = $pkey["key"];
     /**
      *
      * Create another keypair for signing/verifying
      * salmon protocol messages. We have to use a slightly
      * less robust key because this won't be using openssl
      * but the phpseclib. Since it is PHP interpreted code
      * it is not nearly as efficient, and the larger keys
      * will take several minutes each to process.
      *
      */
     $sres = openssl_pkey_new(array('digest_alg' => 'sha1', 'private_key_bits' => 512, 'encrypt_key' => false));
     // Get private key
     $sprvkey = '';
     openssl_pkey_export($sres, $sprvkey);
     // Get public key
     $spkey = openssl_pkey_get_details($sres);
     $spubkey = $spkey["key"];
     $r = q("INSERT INTO `user` ( `guid`, `username`, `password`, `email`, `openid`, `nickname`,\n\t\t`pubkey`, `prvkey`, `spubkey`, `sprvkey`, `register_date`, `verified`, `blocked` )\n\t\tVALUES ( '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d )", dbesc(generate_user_guid()), dbesc($username), dbesc($new_password_encoded), dbesc($email), dbesc($openid_url), dbesc($nickname), dbesc($pubkey), dbesc($prvkey), dbesc($spubkey), dbesc($sprvkey), dbesc(datetime_convert()), intval($verified), intval($blocked));
     if ($r) {
         $r = q("SELECT `uid` FROM `user` \n\t\t\tWHERE `username` = '%s' AND `password` = '%s' LIMIT 1", dbesc($username), dbesc($new_password_encoded));
开发者ID:ryivhnn,项目名称:friendica,代码行数:67,代码来源:register.php

示例11: invite_post

/**
 * module: invite.php
 *
 * send email invitations to join social network
 *
 */
function invite_post(&$a)
{
    if (!local_channel()) {
        notice(t('Permission denied.') . EOL);
        return;
    }
    check_form_security_token_redirectOnErr('/', 'send_invite');
    $max_invites = intval(get_config('system', 'max_invites'));
    if (!$max_invites) {
        $max_invites = 50;
    }
    $current_invites = intval(get_pconfig(local_channel(), 'system', 'sent_invites'));
    if ($current_invites > $max_invites) {
        notice(t('Total invitation limit exceeded.') . EOL);
        return;
    }
    $recips = x($_POST, 'recipients') ? explode("\n", $_POST['recipients']) : array();
    $message = x($_POST, 'message') ? notags(trim($_POST['message'])) : '';
    $total = 0;
    if (get_config('system', 'invitation_only')) {
        $invonly = true;
        $x = get_pconfig(local_channel(), 'system', 'invites_remaining');
        if (!$x && !is_site_admin()) {
            return;
        }
    }
    foreach ($recips as $recip) {
        $recip = trim($recip);
        if (!$recip) {
            continue;
        }
        if (!valid_email($recip)) {
            notice(sprintf(t('%s : Not a valid email address.'), $recip) . EOL);
            continue;
        }
        if ($invonly && ($x || is_site_admin())) {
            $code = autoname(8) . srand(1000, 9999);
            $nmessage = str_replace('$invite_code', $code, $message);
            $r = q("INSERT INTO `register` (`hash`,`created`) VALUES ('%s', '%s') ", dbesc($code), dbesc(datetime_convert()));
            if (!is_site_admin()) {
                $x--;
                if ($x >= 0) {
                    set_pconfig(local_channel(), 'system', 'invites_remaining', $x);
                } else {
                    return;
                }
            }
        } else {
            $nmessage = $message;
        }
        $account = $a->get_account();
        $res = mail($recip, sprintf(t('Please join us on Red'), $a->config['sitename']), $nmessage, "From: " . $account['account_email'] . "\n" . 'Content-type: text/plain; charset=UTF-8' . "\n" . 'Content-transfer-encoding: 8bit');
        if ($res) {
            $total++;
            $current_invites++;
            set_pconfig(local_channel(), 'system', 'sent_invites', $current_invites);
            if ($current_invites > $max_invites) {
                notice(t('Invitation limit exceeded. Please contact your site administrator.') . EOL);
                return;
            }
        } else {
            notice(sprintf(t('%s : Message delivery failed.'), $recip) . EOL);
        }
    }
    notice(sprintf(tt("%d message sent.", "%d messages sent.", $total), $total) . EOL);
    return;
}
开发者ID:redmatrix,项目名称:red,代码行数:73,代码来源:invite.php

示例12: get

 function get()
 {
     $o = '';
     nav_set_selected('settings');
     if (!local_channel() || $_SESSION['delegate']) {
         notice(t('Permission denied.') . EOL);
         return login();
     }
     $channel = \App::get_channel();
     if ($channel) {
         head_set_icon($channel['xchan_photo_s']);
     }
     $yes_no = array(t('No'), t('Yes'));
     if (argc() > 1 && argv(1) === 'oauth') {
         if (argc() > 2 && argv(2) === 'add') {
             $tpl = get_markup_template("settings_oauth_edit.tpl");
             $o .= replace_macros($tpl, array('$form_security_token' => get_form_security_token("settings_oauth"), '$title' => t('Add application'), '$submit' => t('Submit'), '$cancel' => t('Cancel'), '$name' => array('name', t('Name'), '', t('Name of application')), '$key' => array('key', t('Consumer Key'), random_string(16), t('Automatically generated - change if desired. Max length 20')), '$secret' => array('secret', t('Consumer Secret'), random_string(16), t('Automatically generated - change if desired. Max length 20')), '$redirect' => array('redirect', t('Redirect'), '', t('Redirect URI - leave blank unless your application specifically requires this')), '$icon' => array('icon', t('Icon url'), '', t('Optional'))));
             return $o;
         }
         if (argc() > 3 && argv(2) === 'edit') {
             $r = q("SELECT * FROM clients WHERE client_id='%s' AND uid=%d", dbesc(argv(3)), local_channel());
             if (!count($r)) {
                 notice(t('Application not found.'));
                 return;
             }
             $app = $r[0];
             $tpl = get_markup_template("settings_oauth_edit.tpl");
             $o .= replace_macros($tpl, array('$form_security_token' => get_form_security_token("settings_oauth"), '$title' => t('Add application'), '$submit' => t('Update'), '$cancel' => t('Cancel'), '$name' => array('name', t('Name'), $app['clname'], ''), '$key' => array('key', t('Consumer Key'), $app['client_id'], ''), '$secret' => array('secret', t('Consumer Secret'), $app['pw'], ''), '$redirect' => array('redirect', t('Redirect'), $app['redirect_uri'], ''), '$icon' => array('icon', t('Icon url'), $app['icon'], '')));
             return $o;
         }
         if (argc() > 3 && argv(2) === 'delete') {
             check_form_security_token_redirectOnErr('/settings/oauth', 'settings_oauth', 't');
             $r = q("DELETE FROM clients WHERE client_id='%s' AND uid=%d", dbesc(argv(3)), local_channel());
             goaway(z_root() . "/settings/oauth/");
             return;
         }
         $r = q("SELECT clients.*, tokens.id as oauth_token, (clients.uid=%d) AS my \n\t\t\t\t\tFROM clients\n\t\t\t\t\tLEFT JOIN tokens ON clients.client_id=tokens.client_id\n\t\t\t\t\tWHERE clients.uid IN (%d,0)", local_channel(), local_channel());
         $tpl = get_markup_template("settings_oauth.tpl");
         $o .= replace_macros($tpl, array('$form_security_token' => get_form_security_token("settings_oauth"), '$baseurl' => z_root(), '$title' => t('Connected Apps'), '$add' => t('Add application'), '$edit' => t('Edit'), '$delete' => t('Delete'), '$consumerkey' => t('Client key starts with'), '$noname' => t('No name'), '$remove' => t('Remove authorization'), '$apps' => $r));
         return $o;
     }
     if (argc() > 1 && argv(1) === 'featured') {
         $settings_addons = "";
         $o = '';
         $r = q("SELECT * FROM `hook` WHERE `hook` = 'feature_settings' ");
         if (!$r) {
             $settings_addons = t('No feature settings configured');
         }
         call_hooks('feature_settings', $settings_addons);
         $tpl = get_markup_template("settings_addons.tpl");
         $o .= replace_macros($tpl, array('$form_security_token' => get_form_security_token("settings_featured"), '$title' => t('Feature/Addon Settings'), '$settings_addons' => $settings_addons));
         return $o;
     }
     /*
      * ACCOUNT SETTINGS
      */
     if (argc() > 1 && argv(1) === 'account') {
         $account_settings = "";
         call_hooks('account_settings', $account_settings);
         $email = \App::$account['account_email'];
         $tpl = get_markup_template("settings_account.tpl");
         $o .= replace_macros($tpl, array('$form_security_token' => get_form_security_token("settings_account"), '$title' => t('Account Settings'), '$origpass' => array('origpass', t('Current Password'), ' ', ''), '$password1' => array('npassword', t('Enter New Password'), '', ''), '$password2' => array('confirm', t('Confirm New Password'), '', t('Leave password fields blank unless changing')), '$submit' => t('Submit'), '$email' => array('email', t('Email Address:'), $email, ''), '$removeme' => t('Remove Account'), '$removeaccount' => t('Remove this account including all its channels'), '$account_settings' => $account_settings));
         return $o;
     }
     if (argc() > 1 && argv(1) === 'tokens') {
         $atoken = null;
         if (argc() > 2) {
             $id = argv(2);
             $atoken = q("select * from atoken where atoken_id = %d and atoken_uid = %d", intval($id), intval(local_channel()));
             if ($atoken) {
                 $atoken = $atoken[0];
             }
             if ($atoken && argc() > 3 && argv(3) === 'drop') {
                 $r = q("delete from atoken where atoken_id = %d", intval($id));
             }
         }
         $t = q("select * from atoken where atoken_uid = %d", intval(local_channel()));
         $desc = t('Use this form to create temporary access identifiers to share things with non-members. These identities may be used in Access Control Lists and visitors may login using these credentials to access the private content.');
         $desc2 = t('You may also provide <em>dropbox</em> style access links to friends and associates by adding the Login Password to any specific site URL as shown. Examples:');
         $tpl = get_markup_template("settings_tokens.tpl");
         $o .= replace_macros($tpl, array('$form_security_token' => get_form_security_token("settings_tokens"), '$title' => t('Guest Access Tokens'), '$desc' => $desc, '$desc2' => $desc2, '$tokens' => $t, '$atoken' => $atoken, '$url1' => z_root() . '/channel/' . $channel['channel_address'], '$url2' => z_root() . '/photos/' . $channel['channel_address'], '$name' => array('name', t('Login Name') . ' <span class="required">*</span>', $atoken ? $atoken['atoken_name'] : '', ''), '$token' => array('token', t('Login Password') . ' <span class="required">*</span>', $atoken ? $atoken['atoken_token'] : autoname(8), ''), '$expires' => array('expires', t('Expires (yyyy-mm-dd)'), $atoken['atoken_expires'] && $atoken['atoken_expires'] != NULL_DATE ? datetime_convert('UTC', date_default_timezone_get(), $atoken['atoken_expires']) : '', ''), '$submit' => t('Submit')));
         return $o;
     }
     if (argc() > 1 && argv(1) === 'features') {
         $arr = array();
         $features = get_features();
         foreach ($features as $fname => $fdata) {
             $arr[$fname] = array();
             $arr[$fname][0] = $fdata[0];
             foreach (array_slice($fdata, 1) as $f) {
                 $arr[$fname][1][] = array('feature_' . $f[0], $f[1], intval(feature_enabled(local_channel(), $f[0])) ? "1" : '', $f[2], array(t('Off'), t('On')));
             }
         }
         $tpl = get_markup_template("settings_features.tpl");
         $o .= replace_macros($tpl, array('$form_security_token' => get_form_security_token("settings_features"), '$title' => t('Additional Features'), '$features' => $arr, '$submit' => t('Submit')));
         return $o;
     }
     if (argc() > 1 && argv(1) === 'connectors') {
         $settings_connectors = "";
         call_hooks('connector_settings', $settings_connectors);
//.........这里部分代码省略.........
开发者ID:einervonvielen,项目名称:hubzilla,代码行数:101,代码来源:Settings.php

示例13: get

 function get()
 {
     $channel = \App::get_channel();
     $atoken = null;
     $atoken_xchan = '';
     if (argc() > 2) {
         $id = argv(2);
         $atoken = q("select * from atoken where atoken_id = %d and atoken_uid = %d", intval($id), intval(local_channel()));
         if ($atoken) {
             $atoken = $atoken[0];
             $atoken_xchan = substr($channel['channel_hash'], 0, 16) . '.' . $atoken['atoken_name'];
         }
         if ($atoken && argc() > 3 && argv(3) === 'drop') {
             atoken_delete($id);
             $atoken = null;
             $atoken_xchan = '';
         }
     }
     $t = q("select * from atoken where atoken_uid = %d", intval(local_channel()));
     $desc = t('Use this form to create temporary access identifiers to share things with non-members. These identities may be used in Access Control Lists and visitors may login using these credentials to access private content.');
     $desc2 = t('You may also provide <em>dropbox</em> style access links to friends and associates by adding the Login Password to any specific site URL as shown. Examples:');
     $global_perms = \Zotlabs\Access\Permissions::Perms();
     $existing = get_all_perms(local_channel(), $atoken_xchan ? $atoken_xchan : '');
     if ($atoken_xchan) {
         $theirs = q("select * from abconfig where chan = %d and xchan = '%s' and cat = 'their_perms'", intval(local_channel()), dbesc($atoken_xchan));
         $their_perms = array();
         if ($theirs) {
             foreach ($theirs as $t) {
                 $their_perms[$t['k']] = $t['v'];
             }
         }
     }
     foreach ($global_perms as $k => $v) {
         $thisperm = get_abconfig(local_channel(), $contact['abook_xchan'], 'my_perms', $k);
         //fixme
         $checkinherited = \Zotlabs\Access\PermissionLimits::Get(local_channel(), $k);
         if ($existing[$k]) {
             $thisperm = "1";
         }
         $perms[] = array('perms_' . $k, $v, array_key_exists($k, $their_perms) ? intval($their_perms[$k]) : '', $thisperm, 1, $checkinherited & PERMS_SPECIFIC ? '' : '1', '', $checkinherited);
     }
     $tpl = get_markup_template("settings_tokens.tpl");
     $o .= replace_macros($tpl, array('$form_security_token' => get_form_security_token("settings_tokens"), '$title' => t('Guest Access Tokens'), '$desc' => $desc, '$desc2' => $desc2, '$tokens' => $t, '$atoken' => $atoken, '$url1' => z_root() . '/channel/' . $channel['channel_address'], '$url2' => z_root() . '/photos/' . $channel['channel_address'], '$name' => array('name', t('Login Name') . ' <span class="required">*</span>', $atoken ? $atoken['atoken_name'] : '', ''), '$token' => array('token', t('Login Password') . ' <span class="required">*</span>', $atoken ? $atoken['atoken_token'] : autoname(8), ''), '$expires' => array('expires', t('Expires (yyyy-mm-dd)'), $atoken['atoken_expires'] && $atoken['atoken_expires'] > NULL_DATE ? datetime_convert('UTC', date_default_timezone_get(), $atoken['atoken_expires']) : '', ''), '$them' => t('Their Settings'), '$me' => t('My Settings'), '$perms' => $perms, '$inherited' => t('inherited'), '$notself' => '1', '$permlbl' => t('Individual Permissions'), '$permnote' => t('Some permissions may be inherited from your channel\'s <a href="settings"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can <strong>not</strong> change those settings here.'), '$submit' => t('Submit')));
     return $o;
 }
开发者ID:phellmes,项目名称:hubzilla,代码行数:45,代码来源:Tokens.php

示例14: check_php

function check_php(&$phpath, &$checks)
{
    if (strlen($phpath)) {
        $passed = file_exists($phpath);
    } else {
        $phpath = trim(shell_exec('which php'));
        $passed = strlen($phpath);
    }
    $help = "";
    if (!$passed) {
        $help .= t('Could not find a command line version of PHP in the web server PATH.') . EOL;
        $tpl = get_markup_template('field_input.tpl');
        $help .= replace_macros($tpl, array('$field' => array('phppath', t('PHP executable path'), $phpath, t('Enter full path to php executable'))));
        $phpath = "";
    }
    check_add($checks, t('Command line PHP'), $passed, true, $help);
    if ($passed) {
        $str = autoname(8);
        $cmd = "{$phpath} testargs.php {$str}";
        $result = trim(shell_exec($cmd));
        $passed2 = $result == $str;
        $help = "";
        if (!$passed2) {
            $help .= t('The command line version of PHP on your system does not have "register_argc_argv" enabled.') . EOL;
            $help .= t('This is required for message delivery to work.');
        }
        check_add($checks, t('PHP "register_argc_argv"'), $passed, true, $help);
    }
}
开发者ID:nphyx,项目名称:friendica,代码行数:29,代码来源:install.php

示例15: check_php

function check_php(&$phpath)
{
    $o = '';
    $phpath = trim(shell_exec('which php'));
    if (!strlen($phpath)) {
        $o .= t('Could not find a command line version of PHP in the web server PATH.') . EOL;
        $o .= t('This is required. Please adjust the configuration file .htconfig.php accordingly.') . EOL;
    }
    if (strlen($phpath)) {
        $str = autoname(8);
        $cmd = "{$phpath} testargs.php {$str}";
        $result = trim(shell_exec($cmd));
        if ($result != $str) {
            $o .= t('The command line version of PHP on your system does not have "register_argc_argv" enabled.') . EOL;
            $o .= t('This is required for message delivery to work.') . EOL;
        }
    }
    return $o;
}
开发者ID:ryivhnn,项目名称:friendica,代码行数:19,代码来源:install.php


注:本文中的autoname函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。