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


PHP normalise_link函数代码示例

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


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

示例1: gprobe_run

function gprobe_run($argv, $argc)
{
    global $a, $db;
    if (is_null($a)) {
        $a = new App();
    }
    if (is_null($db)) {
        @(include ".htconfig.php");
        require_once "dba.php";
        $db = new dba($db_host, $db_user, $db_pass, $db_data);
        unset($db_host, $db_user, $db_pass, $db_data);
    }
    require_once 'include/session.php';
    require_once 'include/datetime.php';
    load_config('config');
    load_config('system');
    $a->set_baseurl(get_config('system', 'url'));
    load_hooks();
    if ($argc != 2) {
        return;
    }
    $url = hex2bin($argv[1]);
    $r = q("select * from gcontact where nurl = '%s' limit 1", dbesc(normalise_link($url)));
    if (!count($r)) {
        $arr = probe_url($url);
        if (count($arr) && x($arr, 'network') && $arr['network'] === NETWORK_DFRN) {
            q("insert into `gcontact` (`name`,`url`,`nurl`,`photo`)\n\t\t\t\tvalues ( '%s', '%s', '%s', '%s') ", dbesc($arr['name']), dbesc($arr['url']), dbesc(normalise_link($arr['url'])), dbesc($arr['photo']));
        }
        $r = q("select * from gcontact where nurl = '%s' limit 1", dbesc(normalise_link($url)));
    }
    if (count($r)) {
        poco_load(0, 0, $r[0]['id'], str_replace('/profile/', '/poco/', $r[0]['url']));
    }
    return;
}
开发者ID:robhell,项目名称:friendica,代码行数:35,代码来源:gprobe.php

示例2: create_user


//.........这里部分代码省略.........
        $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];
            $newuid = intval($r[0]['uid']);
        }
    } else {
        $result['message'] .= t('An error occurred during registration. Please try again.') . EOL;
        return $result;
    }
    /**
     * if somebody clicked submit twice very quickly, they could end up with two accounts
     * due to race condition. Remove this one.
     */
    $r = q("SELECT `uid` FROM `user`\n               \tWHERE `nickname` = '%s' ", dbesc($nickname));
    if (count($r) > 1 && $newuid) {
        $result['message'] .= t('Nickname is already registered. Please choose another.') . EOL;
        q("DELETE FROM `user` WHERE `uid` = %d", intval($newuid));
        return $result;
    }
    if (x($newuid) !== false) {
        $r = q("INSERT INTO `profile` ( `uid`, `profile-name`, `is-default`, `name`, `photo`, `thumb`, `publish`, `net-publish` )\n\t\t\tVALUES ( %d, '%s', %d, '%s', '%s', '%s', %d, %d ) ", intval($newuid), t('default'), 1, dbesc($username), dbesc($a->get_baseurl() . "/photo/profile/{$newuid}.jpg"), dbesc($a->get_baseurl() . "/photo/avatar/{$newuid}.jpg"), intval($publish), intval($netpublish));
        if ($r === false) {
            $result['message'] .= t('An error occurred creating your default profile. Please try again.') . EOL;
            // Start fresh next time.
            $r = q("DELETE FROM `user` WHERE `uid` = %d", intval($newuid));
            return $result;
        }
        $r = q("INSERT INTO `contact` ( `uid`, `created`, `self`, `name`, `nick`, `photo`, `thumb`, `micro`, `blocked`, `pending`, `url`, `nurl`,\n\t\t\t`request`, `notify`, `poll`, `confirm`, `poco`, `name-date`, `uri-date`, `avatar-date`, `closeness` )\n\t\t\tVALUES ( %d, '%s', 1, '%s', '%s', '%s', '%s', '%s', 0, 0, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', 0 ) ", intval($newuid), datetime_convert(), dbesc($username), dbesc($nickname), dbesc($a->get_baseurl() . "/photo/profile/{$newuid}.jpg"), dbesc($a->get_baseurl() . "/photo/avatar/{$newuid}.jpg"), dbesc($a->get_baseurl() . "/photo/micro/{$newuid}.jpg"), dbesc($a->get_baseurl() . "/profile/{$nickname}"), dbesc(normalise_link($a->get_baseurl() . "/profile/{$nickname}")), dbesc($a->get_baseurl() . "/dfrn_request/{$nickname}"), dbesc($a->get_baseurl() . "/dfrn_notify/{$nickname}"), dbesc($a->get_baseurl() . "/dfrn_poll/{$nickname}"), dbesc($a->get_baseurl() . "/dfrn_confirm/{$nickname}"), dbesc($a->get_baseurl() . "/poco/{$nickname}"), dbesc(datetime_convert()), dbesc(datetime_convert()), dbesc(datetime_convert()));
        // Create a group with no members. This allows somebody to use it
        // right away as a default group for new contacts.
        require_once 'include/group.php';
        group_add($newuid, t('Friends'));
        $r = q("SELECT id FROM `group` WHERE uid = %d AND name = '%s'", intval($newuid), dbesc(t('Friends')));
        if ($r && count($r)) {
            $def_gid = $r[0]['id'];
            q("UPDATE user SET def_gid = %d WHERE uid = %d", intval($r[0]['id']), intval($newuid));
        }
        if (get_config('system', 'newuser_private') && $def_gid) {
            q("UPDATE user SET allow_gid = '%s' WHERE uid = %d", dbesc("<" . $def_gid . ">"), intval($newuid));
        }
    }
    // if we have no OpenID photo try to look up an avatar
    if (!strlen($photo)) {
        $photo = avatar_img($email);
    }
    // unless there is no avatar-plugin loaded
    if (strlen($photo)) {
        require_once 'include/Photo.php';
        $photo_failure = false;
        $filename = basename($photo);
        $img_str = fetch_url($photo, true);
        // guess mimetype from headers or filename
        $type = guess_image_type($photo, true);
        $img = new Photo($img_str, $type);
        if ($img->is_valid()) {
            $img->scaleImageSquare(175);
            $hash = photo_new_resource();
            $r = $img->store($newuid, 0, $hash, $filename, t('Profile Photos'), 4);
            if ($r === false) {
                $photo_failure = true;
            }
            $img->scaleImage(80);
            $r = $img->store($newuid, 0, $hash, $filename, t('Profile Photos'), 5);
            if ($r === false) {
                $photo_failure = true;
            }
            $img->scaleImage(48);
            $r = $img->store($newuid, 0, $hash, $filename, t('Profile Photos'), 6);
            if ($r === false) {
                $photo_failure = true;
            }
            if (!$photo_failure) {
                q("UPDATE `photo` SET `profile` = 1 WHERE `resource-id` = '%s' ", dbesc($hash));
            }
        }
    }
    call_hooks('register_account', $newuid);
    $result['success'] = true;
    $result['user'] = $u;
    return $result;
}
开发者ID:rahmiyildiz,项目名称:friendica,代码行数:101,代码来源:user.php

示例3: follow_content

function follow_content(&$a)
{
    if (!local_user()) {
        notice(t('Permission denied.') . EOL);
        goaway($_SESSION['return_url']);
        // NOTREACHED
    }
    $uid = local_user();
    $url = notags(trim($_REQUEST['url']));
    $r = q("SELECT `url` FROM `contact` WHERE `uid` = %d AND\n\t\t(`nurl` = '%s' OR `alias` = '%s' OR `alias` = '%s') AND\n\t\t`network` != '%s' LIMIT 1", intval(local_user()), dbesc(normalise_link($url)), dbesc(normalise_link($url)), dbesc($url), dbesc(NETWORK_STATUSNET));
    if ($r) {
        notice(t('You already added this contact.') . EOL);
        goaway($_SESSION['return_url']);
        // NOTREACHED
    }
    $ret = probe_url($url);
    if ($ret['network'] === NETWORK_DFRN) {
        $request = $ret["request"];
        $tpl = get_markup_template('dfrn_request.tpl');
    } else {
        $request = $a->get_baseurl() . "/follow";
        $tpl = get_markup_template('auto_request.tpl');
    }
    $r = q("SELECT `url` FROM `contact` WHERE `uid` = %d AND `self` LIMIT 1", intval($uid));
    if (!$r) {
        notice(t('Permission denied.') . EOL);
        goaway($_SESSION['return_url']);
        // NOTREACHED
    }
    $myaddr = $r[0]["url"];
    // Makes the connection request for friendica contacts easier
    $_SESSION["fastlane"] = $ret["url"];
    $o = replace_macros($tpl, array('$header' => $ret["name"] . " (" . $ret["addr"] . ")", '$photo' => $ret["photo"], '$desc' => "", '$pls_answer' => t('Please answer the following:'), '$does_know_you' => array('knowyou', sprintf(t('Does %s know you?'), $ret["name"]), false, '', array(t('No'), t('Yes'))), '$add_note' => t('Add a personal note:'), '$page_desc' => "", '$friendica' => "", '$statusnet' => "", '$diaspora' => "", '$diasnote' => "", '$your_address' => t('Your Identity Address:'), '$invite_desc' => "", '$emailnet' => "", '$submit' => t('Submit Request'), '$cancel' => t('Cancel'), '$nickname' => "", '$name' => $ret["name"], '$url' => $ret["url"], '$myaddr' => $myaddr, '$request' => $request));
    return $o;
}
开发者ID:rahmiyildiz,项目名称:friendica,代码行数:35,代码来源:follow.php

示例4: match_content

/**
 * @brief Controller for /match.
 *
 * It takes keywords from your profile and queries the directory server for
 * matching keywords from other profiles.
 *
 * @param App &$a
 * @return void|string
 */
function match_content(&$a)
{
    $o = '';
    if (!local_user()) {
        return;
    }
    $a->page['aside'] .= findpeople_widget();
    $a->page['aside'] .= follow_widget();
    $_SESSION['return_url'] = $a->get_baseurl() . '/' . $a->cmd;
    $r = q("SELECT `pub_keywords`, `prv_keywords` FROM `profile` WHERE `is-default` = 1 AND `uid` = %d LIMIT 1", intval(local_user()));
    if (!count($r)) {
        return;
    }
    if (!$r[0]['pub_keywords'] && !$r[0]['prv_keywords']) {
        notice(t('No keywords to match. Please add keywords to your default profile.') . EOL);
        return;
    }
    $params = array();
    $tags = trim($r[0]['pub_keywords'] . ' ' . $r[0]['prv_keywords']);
    if ($tags) {
        $params['s'] = $tags;
        if ($a->pager['page'] != 1) {
            $params['p'] = $a->pager['page'];
        }
        if (strlen(get_config('system', 'directory'))) {
            $x = post_url(get_server() . '/msearch', $params);
        } else {
            $x = post_url($a->get_baseurl() . '/msearch', $params);
        }
        $j = json_decode($x);
        if ($j->total) {
            $a->set_pager_total($j->total);
            $a->set_pager_itemspage($j->items_page);
        }
        if (count($j->results)) {
            $id = 0;
            foreach ($j->results as $jj) {
                $match_nurl = normalise_link($jj->url);
                $match = q("SELECT `nurl` FROM `contact` WHERE `uid` = '%d' AND nurl='%s' LIMIT 1", intval(local_user()), dbesc($match_nurl));
                if (!count($match)) {
                    $jj->photo = str_replace("http:///photo/", get_server() . "/photo/", $jj->photo);
                    $connlnk = $a->get_baseurl() . '/follow/?url=' . $jj->url;
                    $photo_menu = array(array(t("View Profile"), zrl($jj->url)));
                    $photo_menu[] = array(t("Connect/Follow"), $connlnk);
                    $contact_details = get_contact_details_by_url($jj->url, local_user());
                    $entry = array('url' => zrl($jj->url), 'itemurl' => $contact_details['addr'] != "" ? $contact_details['addr'] : $jj->url, 'name' => $jj->name, 'details' => $contact_details['location'], 'tags' => $contact_details['keywords'], 'about' => $contact_details['about'], 'account_type' => $contact_details['community'] ? t('Forum') : '', 'thumb' => proxy_url($jj->photo, false, PROXY_SIZE_THUMB), 'inttxt' => ' ' . t('is interested in:'), 'conntxt' => t('Connect'), 'connlnk' => $connlnk, 'img_hover' => $jj->tags, 'photo_menu' => $photo_menu, 'id' => ++$id);
                    $entries[] = $entry;
                }
            }
            $tpl = get_markup_template('viewcontact_template.tpl');
            $o .= replace_macros($tpl, array('$title' => t('Profile Match'), '$contacts' => $entries, '$paginate' => paginate($a)));
        } else {
            info(t('No matches') . EOL);
        }
    }
    return $o;
}
开发者ID:vinzv,项目名称:friendica,代码行数:66,代码来源:match.php

示例5: auto_redir

function auto_redir(&$a, $contact_nick)
{
    // prevent looping
    if (x($_REQUEST, 'redir') && intval($_REQUEST['redir'])) {
        return;
    }
    if (!$contact_nick || $contact_nick === $a->user['nickname']) {
        return;
    }
    if (local_user()) {
        // We need to find out if $contact_nick is a user on this hub, and if so, if I
        // am a contact of that user. However, that user may have other contacts with the
        // same nickname as me on other hubs or other networks. Exclude these by requiring
        // that the contact have a local URL. I will be the only person with my nickname at
        // this URL, so if a result is found, then I am a contact of the $contact_nick user.
        //
        // We also have to make sure that I'm a legitimate contact--I'm not blocked or pending.
        $baseurl = $a->get_baseurl();
        $domain_st = strpos($baseurl, "://");
        if ($domain_st === false) {
            return;
        }
        $baseurl = substr($baseurl, $domain_st + 3);
        $nurl = normalise_link($baseurl);
        $r = q("SELECT id FROM contact WHERE uid = ( SELECT uid FROM user WHERE nickname = '%s' LIMIT 1 )\n\t\t        AND nick = '%s' AND self = 0 AND ( url LIKE '%%%s%%' or nurl LIKE '%%%s%%' ) AND blocked = 0 AND pending = 0 LIMIT 1", dbesc($contact_nick), dbesc($a->user['nickname']), dbesc($baseurl), dbesc($nurl));
        if (!$r || !count($r) || $r[0]['id'] == remote_user()) {
            return;
        }
        $r = q("SELECT * FROM contact WHERE nick = '%s'\n\t\t        AND network = '%s' AND uid = %d  AND url LIKE '%%%s%%' LIMIT 1", dbesc($contact_nick), dbesc(NETWORK_DFRN), intval(local_user()), dbesc($baseurl));
        if (!($r && count($r))) {
            return;
        }
        $cid = $r[0]['id'];
        $dfrn_id = $orig_id = $r[0]['issued-id'] ? $r[0]['issued-id'] : $r[0]['dfrn-id'];
        if ($r[0]['duplex'] && $r[0]['issued-id']) {
            $orig_id = $r[0]['issued-id'];
            $dfrn_id = '1:' . $orig_id;
        }
        if ($r[0]['duplex'] && $r[0]['dfrn-id']) {
            $orig_id = $r[0]['dfrn-id'];
            $dfrn_id = '0:' . $orig_id;
        }
        // ensure that we've got a valid ID. There may be some edge cases with forums and non-duplex mode
        // that may have triggered some of the "went to {profile/intro} and got an RSS feed" issues
        if (strlen($dfrn_id) < 3) {
            return;
        }
        $sec = random_string();
        q("INSERT INTO `profile_check` ( `uid`, `cid`, `dfrn_id`, `sec`, `expire`)\n\t\t\tVALUES( %d, %s, '%s', '%s', %d )", intval(local_user()), intval($cid), dbesc($dfrn_id), dbesc($sec), intval(time() + 45));
        $url = curPageURL();
        logger('auto_redir: ' . $r[0]['name'] . ' ' . $sec, LOGGER_DEBUG);
        $dest = $url ? '&destination_url=' . $url : '';
        goaway($r[0]['poll'] . '?dfrn_id=' . $dfrn_id . '&dfrn_version=' . DFRN_PROTOCOL_VERSION . '&type=profile&sec=' . $sec . $dest);
    }
    return;
}
开发者ID:ZerGabriel,项目名称:friendica,代码行数:56,代码来源:redir.php

示例6: privacy_image_cache_is_local_image

/**
 * @param $url string
 * @return boolean
 */
function privacy_image_cache_is_local_image($url)
{
    if ($url[0] == '/') {
        return true;
    }
    // links normalised - bug #431
    $baseurl = normalise_link(get_app()->get_baseurl());
    $url = normalise_link($url);
    return substr($url, 0, strlen($baseurl)) == $baseurl;
}
开发者ID:robhell,项目名称:friendica-addons,代码行数:14,代码来源:privacy_image_cache.php

示例7: match_content

function match_content(&$a)
{
    $o = '';
    if (!local_user()) {
        return;
    }
    $a->page['aside'] .= follow_widget();
    $a->page['aside'] .= findpeople_widget();
    $_SESSION['return_url'] = $a->get_baseurl() . '/' . $a->cmd;
    $o .= replace_macros(get_markup_template("section_title.tpl"), array('$title' => t('Profile Match')));
    $r = q("SELECT `pub_keywords`, `prv_keywords` FROM `profile` WHERE `is-default` = 1 AND `uid` = %d LIMIT 1", intval(local_user()));
    if (!count($r)) {
        return;
    }
    if (!$r[0]['pub_keywords'] && !$r[0]['prv_keywords']) {
        notice(t('No keywords to match. Please add keywords to your default profile.') . EOL);
        return;
    }
    $params = array();
    $tags = trim($r[0]['pub_keywords'] . ' ' . $r[0]['prv_keywords']);
    if ($tags) {
        $params['s'] = $tags;
        if ($a->pager['page'] != 1) {
            $params['p'] = $a->pager['page'];
        }
        if (strlen(get_config('system', 'directory'))) {
            $x = post_url(get_server() . '/msearch', $params);
        } else {
            $x = post_url($a->get_baseurl() . '/msearch', $params);
        }
        $j = json_decode($x);
        if ($j->total) {
            $a->set_pager_total($j->total);
            $a->set_pager_itemspage($j->items_page);
        }
        if (count($j->results)) {
            $tpl = get_markup_template('match.tpl');
            foreach ($j->results as $jj) {
                $match_nurl = normalise_link($jj->url);
                $match = q("SELECT `nurl` FROM `contact` WHERE `uid` = '%d' AND nurl='%s' LIMIT 1", intval(local_user()), dbesc($match_nurl));
                if (!count($match)) {
                    $jj->photo = str_replace("http:///photo/", get_server() . "/photo/", $jj->photo);
                    $connlnk = $a->get_baseurl() . '/follow/?url=' . $jj->url;
                    $o .= replace_macros($tpl, array('$url' => zrl($jj->url), '$name' => $jj->name, '$photo' => proxy_url($jj->photo), '$inttxt' => ' ' . t('is interested in:'), '$conntxt' => t('Connect'), '$connlnk' => $connlnk, '$tags' => $jj->tags));
                }
            }
        } else {
            info(t('No matches') . EOL);
        }
    }
    $o .= cleardiv();
    $o .= paginate($a);
    return $o;
}
开发者ID:ZerGabriel,项目名称:friendica,代码行数:54,代码来源:match.php

示例8: update_threads_mention

function update_threads_mention()
{
    $a = get_app();
    $users = q("SELECT `uid`, `nickname` FROM `user` ORDER BY `uid`");
    foreach ($users as $user) {
        $self = normalise_link($a->get_baseurl() . '/profile/' . $user['nickname']);
        $selfhttps = str_replace("http://", "https://", $self);
        $parents = q("SELECT DISTINCT(`parent`) FROM `item` WHERE `uid` = %d AND\n\t\t\t\t((`owner-link` IN ('%s', '%s')) OR (`author-link` IN ('%s', '%s')))", $user["uid"], $self, $selfhttps, $self, $selfhttps);
        foreach ($parents as $parent) {
            q("UPDATE `thread` SET `mention` = 1 WHERE `iid` = %d", $parent["parent"]);
        }
    }
}
开发者ID:jzacman,项目名称:friendica,代码行数:13,代码来源:threads.php

示例9: gprobe_run

function gprobe_run(&$argv, &$argc)
{
    global $a, $db;
    if (is_null($a)) {
        $a = new App();
    }
    if (is_null($db)) {
        @(include ".htconfig.php");
        require_once "include/dba.php";
        $db = new dba($db_host, $db_user, $db_pass, $db_data);
        unset($db_host, $db_user, $db_pass, $db_data);
    }
    require_once 'include/session.php';
    require_once 'include/datetime.php';
    load_config('config');
    load_config('system');
    $a->set_baseurl(get_config('system', 'url'));
    load_hooks();
    if ($argc != 2) {
        return;
    }
    $url = hex2bin($argv[1]);
    $r = q("select * from gcontact where nurl = '%s' limit 1", dbesc(normalise_link($url)));
    logger("gprobe start for " . normalise_link($url), LOGGER_DEBUG);
    if (!count($r)) {
        // Is it a DDoS attempt?
        $urlparts = parse_url($url);
        $result = Cache::get("gprobe:" . $urlparts["host"]);
        if (!is_null($result)) {
            $result = unserialize($result);
            if ($result["network"] == NETWORK_FEED) {
                logger("DDoS attempt detected for " . $urlparts["host"] . " by " . $_SERVER["REMOTE_ADDR"] . ". server data: " . print_r($_SERVER, true), LOGGER_DEBUG);
                return;
            }
        }
        $arr = probe_url($url);
        if (is_null($result)) {
            Cache::set("gprobe:" . $urlparts["host"], serialize($arr));
        }
        if (count($arr) && x($arr, 'network') && $arr['network'] === NETWORK_DFRN) {
            q("insert into `gcontact` (`name`,`url`,`nurl`,`photo`)\n\t\t\t\tvalues ( '%s', '%s', '%s', '%s') ", dbesc($arr['name']), dbesc($arr['url']), dbesc(normalise_link($arr['url'])), dbesc($arr['photo']));
        }
        $r = q("select * from gcontact where nurl = '%s' limit 1", dbesc(normalise_link($url)));
    }
    if (count($r)) {
        poco_load(0, 0, $r[0]['id'], str_replace('/profile/', '/poco/', $r[0]['url']));
    }
    logger("gprobe end for " . normalise_link($url), LOGGER_DEBUG);
    return;
}
开发者ID:ZerGabriel,项目名称:friendica,代码行数:50,代码来源:gprobe.php

示例10: bookmarklet_content

function bookmarklet_content(&$a)
{
    if (!local_user()) {
        $o = '<h2>' . t('Login') . '</h2>';
        $o .= login($a->config['register_policy'] == REGISTER_CLOSED ? false : true);
        return $o;
    }
    $referer = normalise_link($_SERVER["HTTP_REFERER"]);
    $page = normalise_link($a->get_baseurl() . "/bookmarklet");
    if (!strstr($referer, $page)) {
        $content = add_page_info($_REQUEST["url"]);
        $x = array('is_owner' => true, 'allow_location' => $a->user['allow_location'], 'default_location' => $a->user['default-location'], 'nickname' => $a->user['nickname'], 'lockstate' => is_array($a->user) && (strlen($a->user['allow_cid']) || strlen($a->user['allow_gid']) || strlen($a->user['deny_cid']) || strlen($a->user['deny_gid'])) ? 'lock' : 'unlock', 'default_perms' => get_acl_permissions($a->user), 'acl' => populate_acl($a->user, true), 'bang' => '', 'visitor' => 'block', 'profile_uid' => local_user(), 'acl_data' => construct_acl_data($a, $a->user), 'title' => trim($_REQUEST["title"], "*"), 'content' => $content);
        $o = status_editor($a, $x, 0, false);
        $o .= "<script>window.resizeTo(800,550);</script>";
    } else {
        $o = '<h2>' . t('The post was created') . '</h2>';
        $o .= "<script>window.close()</script>";
    }
    return $o;
}
开发者ID:ZerGabriel,项目名称:friendica,代码行数:20,代码来源:bookmarklet.php

示例11: crepair_post

function crepair_post(&$a)
{
    if (!local_user()) {
        return;
    }
    $cid = $a->argc > 1 ? intval($a->argv[1]) : 0;
    if ($cid) {
        $r = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1", intval($cid), intval(local_user()));
    }
    if (!count($r)) {
        return;
    }
    $contact = $r[0];
    $name = x($_POST, 'name') ? $_POST['name'] : $contact['name'];
    $nick = x($_POST, 'nick') ? $_POST['nick'] : '';
    $url = x($_POST, 'url') ? $_POST['url'] : '';
    $request = x($_POST, 'request') ? $_POST['request'] : '';
    $confirm = x($_POST, 'confirm') ? $_POST['confirm'] : '';
    $notify = x($_POST, 'notify') ? $_POST['notify'] : '';
    $poll = x($_POST, 'poll') ? $_POST['poll'] : '';
    $attag = x($_POST, 'attag') ? $_POST['attag'] : '';
    $photo = x($_POST, 'photo') ? $_POST['photo'] : '';
    $remote_self = x($_POST, 'remote_self') ? $_POST['remote_self'] : false;
    $nurl = normalise_link($url);
    $r = q("UPDATE `contact` SET `name` = '%s', `nick` = '%s', `url` = '%s', `nurl` = '%s', `request` = '%s', `confirm` = '%s', `notify` = '%s', `poll` = '%s', `attag` = '%s' , `remote_self` = %d\n\t\tWHERE `id` = %d AND `uid` = %d", dbesc($name), dbesc($nick), dbesc($url), dbesc($nurl), dbesc($request), dbesc($confirm), dbesc($notify), dbesc($poll), dbesc($attag), intval($remote_self), intval($contact['id']), local_user());
    if ($photo) {
        logger('mod-crepair: updating photo from ' . $photo);
        require_once "include/Photo.php";
        $photos = import_profile_photo($photo, local_user(), $contact['id']);
        $x = q("UPDATE `contact` SET `photo` = '%s',\n\t\t\t`thumb` = '%s',\n\t\t\t`micro` = '%s',\n\t\t\t`name-date` = '%s',\n\t\t\t`uri-date` = '%s',\n\t\t\t`avatar-date` = '%s'\n\t\t\tWHERE `id` = %d\n\t\t\t", dbesc($photos[0]), dbesc($photos[1]), dbesc($photos[2]), dbesc(datetime_convert()), dbesc(datetime_convert()), dbesc(datetime_convert()), intval($contact['id']));
    }
    if ($r) {
        info(t('Contact settings applied.') . EOL);
    } else {
        notice(t('Contact update failed.') . EOL);
    }
    return;
}
开发者ID:strk,项目名称:friendica,代码行数:38,代码来源:crepair.php

示例12: bb_ShareAttributes

function bb_ShareAttributes($share, $simplehtml)
{
    $attributes = $share[2];
    $author = "";
    preg_match("/author='(.*?)'/ism", $attributes, $matches);
    if ($matches[1] != "") {
        $author = html_entity_decode($matches[1], ENT_QUOTES, 'UTF-8');
    }
    preg_match('/author="(.*?)"/ism', $attributes, $matches);
    if ($matches[1] != "") {
        $author = $matches[1];
    }
    $profile = "";
    preg_match("/profile='(.*?)'/ism", $attributes, $matches);
    if ($matches[1] != "") {
        $profile = $matches[1];
    }
    preg_match('/profile="(.*?)"/ism', $attributes, $matches);
    if ($matches[1] != "") {
        $profile = $matches[1];
    }
    $avatar = "";
    preg_match("/avatar='(.*?)'/ism", $attributes, $matches);
    if ($matches[1] != "") {
        $avatar = $matches[1];
    }
    preg_match('/avatar="(.*?)"/ism', $attributes, $matches);
    if ($matches[1] != "") {
        $avatar = $matches[1];
    }
    $link = "";
    preg_match("/link='(.*?)'/ism", $attributes, $matches);
    if ($matches[1] != "") {
        $link = $matches[1];
    }
    preg_match('/link="(.*?)"/ism', $attributes, $matches);
    if ($matches[1] != "") {
        $link = $matches[1];
    }
    $posted = "";
    $itemcache = get_itemcachepath();
    // relative dates only make sense when they aren't cached
    if ($itemcache == "") {
        preg_match("/posted='(.*?)'/ism", $attributes, $matches);
        if ($matches[1] != "") {
            $posted = $matches[1];
        }
        preg_match('/posted="(.*?)"/ism', $attributes, $matches);
        if ($matches[1] != "") {
            $posted = $matches[1];
        }
        $reldate = $posted ? " " . relative_date($posted) : '';
    }
    $userid = GetProfileUsername($profile, $author, false);
    $userid_compact = GetProfileUsername($profile, $author, true);
    $preshare = trim($share[1]);
    if ($preshare != "") {
        $preshare .= "<br /><br />";
    }
    switch ($simplehtml) {
        case 1:
            $text = $preshare . html_entity_decode("&#x2672; ", ENT_QUOTES, 'UTF-8') . ' <a href="' . $profile . '">' . $userid . "</a>: <br />»" . $share[3] . "«";
            break;
        case 2:
            $text = $preshare . html_entity_decode("&#x2672; ", ENT_QUOTES, 'UTF-8') . ' ' . $userid_compact . ": <br />" . $share[3];
            break;
        case 3:
            // Diaspora
            $headline .= '<b>' . html_entity_decode("&#x2672; ", ENT_QUOTES, 'UTF-8') . $userid . ':</b><br />';
            $text = trim($share[1]);
            if ($text != "") {
                $text .= "<hr />";
            }
            if (substr(normalise_link($link), 0, 19) != "http://twitter.com/") {
                $text .= $headline . '<blockquote>' . trim($share[3]) . "</blockquote><br />";
                if ($link != "") {
                    $text .= '<br /><a href="' . $link . '">[l]</a>';
                }
            } else {
                $text .= '<br /><a href="' . $link . '">' . $link . '</a>';
            }
            break;
        case 4:
            $headline = '<div class="shared_header">';
            $headline .= '<span><b>' . html_entity_decode("&#x2672; ", ENT_QUOTES, 'UTF-8');
            $headline .= sprintf(t('<a href="%1$s" target="_blank">%2$s</a> %3$s'), $link, $userid, $posted);
            $headline .= ":</b></span></div>";
            $text = trim($share[1]);
            if ($text != "") {
                $text .= "<hr />";
            }
            $text .= $headline . '<blockquote class="shared_content">' . trim($share[3]) . "</blockquote><br />";
            break;
        case 5:
            $text = $preshare . html_entity_decode("&#x2672; ", ENT_QUOTES, 'UTF-8') . ' ' . $userid_compact . ": <br />" . $share[3];
            break;
        case 6:
            // app.net
            $text = $preshare . "&gt;&gt; @" . $userid_compact . ": <br />" . $share[3];
            break;
//.........这里部分代码省略.........
开发者ID:vinzv,项目名称:friendica,代码行数:101,代码来源:bbcode.php

示例13: api_get_nick

function api_get_nick($profile)
{
    /* To-Do:
     - remove trailing jung from profile url
     - pump.io check has to check the website
    */
    $nick = "";
    $friendica = preg_replace("=https?://(.*)/profile/(.*)=ism", "\$2", $profile);
    if ($friendica != $profile) {
        $nick = $friendica;
    }
    if (!$nick == "") {
        $diaspora = preg_replace("=https?://(.*)/u/(.*)=ism", "\$2", $profile);
        if ($diaspora != $profile) {
            $nick = $diaspora;
        }
    }
    if (!$nick == "") {
        $twitter = preg_replace("=https?://twitter.com/(.*)=ism", "\$1", $profile);
        if ($twitter != $profile) {
            $nick = $twitter;
        }
    }
    if (!$nick == "") {
        $StatusnetHost = preg_replace("=https?://(.*)/user/(.*)=ism", "\$1", $profile);
        if ($StatusnetHost != $profile) {
            $StatusnetUser = preg_replace("=https?://(.*)/user/(.*)=ism", "\$2", $profile);
            if ($StatusnetUser != $profile) {
                $UserData = fetch_url("http://" . $StatusnetHost . "/api/users/show.json?user_id=" . $StatusnetUser);
                $user = json_decode($UserData);
                if ($user) {
                    $nick = $user->screen_name;
                }
            }
        }
    }
    // To-Do: look at the page if its really a pumpio site
    //if (!$nick == "") {
    //	$pumpio = preg_replace("=https?://(.*)/(.*)/=ism", "$2", $profile."/");
    //	if ($pumpio != $profile)
    //		$nick = $pumpio;
    //      <div class="media" id="profile-block" data-profile-id="acct:kabniel@microca.st">
    //}
    if ($nick != "") {
        q("UPDATE unique_contacts SET nick = '%s' WHERE url = '%s'", dbesc($nick), dbesc(normalise_link($profile)));
        return $nick;
    }
    return false;
}
开发者ID:ZerGabriel,项目名称:friendica,代码行数:49,代码来源:api.php

示例14: best_link_url

function best_link_url($item, &$sparkle)
{
    $a = get_app();
    $best_url = '';
    $sparkle = false;
    $clean_url = normalise_link($item['author-link']);
    if (local_user() && local_user() == $item['uid']) {
        if (isset($a->contacts) && x($a->contacts, $clean_url)) {
            if ($a->contacts[$clean_url]['network'] === NETWORK_DFRN) {
                $best_url = $a->get_baseurl() . '/redir/' . $a->contacts[$clean_url]['id'];
                $sparkle = true;
            } else {
                $best_url = $a->contacts[$clean_url]['url'];
            }
        }
    }
    if (!$best_url) {
        if (strlen($item['author-link'])) {
            $best_url = $item['author-link'];
        } else {
            $best_url = $item['url'];
        }
    }
    return $best_url;
}
开发者ID:nphyx,项目名称:friendica,代码行数:25,代码来源:conversation.php

示例15: check_htaccess

function check_htaccess(&$checks)
{
    $a = get_app();
    $status = true;
    $help = "";
    if (function_exists('curl_init')) {
        $test = fetch_url($a->get_baseurl() . "/install/testrewrite");
        if ($test != "ok") {
            $test = fetch_url(normalise_link($a->get_baseurl() . "/install/testrewrite"));
        }
        if ($test != "ok") {
            $status = false;
            $help = t('Url rewrite in .htaccess is not working. Check your server configuration.');
        }
        check_add($checks, t('Url rewrite is working'), $status, true, $help);
    } else {
        // cannot check modrewrite if libcurl is not installed
    }
}
开发者ID:rahmiyildiz,项目名称:friendica,代码行数:19,代码来源:install.php


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