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


PHP Validate::uri方法代码示例

本文整理汇总了PHP中Validate::uri方法的典型用法代码示例。如果您正苦于以下问题:PHP Validate::uri方法的具体用法?PHP Validate::uri怎么用?PHP Validate::uri使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Validate的用法示例。


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

示例1: prepare

 /**
  * For initializing members of the class.
  *
  * @param array $args misc. arguments
  *
  * @return boolean true
  */
 function prepare($args)
 {
     parent::prepare($args);
     if (!$this->isPost()) {
         throw new ClientException(_('POST only'), 405);
     }
     $this->checkSessionToken();
     $this->url = $this->trimmed('url');
     if (empty($this->url)) {
         throw new ClientException(_('URL is required.'), 400);
     }
     if (!Validate::uri($this->url, array('allowed_schemes' => array('http', 'https')))) {
         throw new ClientException(_('Invalid URL.'), 400);
     }
     $f = File::staticGet('url', $this->url);
     if (empty($url)) {
         $f = File::processNew($this->url);
     }
     // How about now?
     if (!empty($f)) {
         $this->oembed = File_oembed::staticGet('file_id', $f->id);
         if (!empty($this->oembed)) {
             $this->title = $this->oembed->title;
         }
         $this->thumbnail = File_thumbnail::staticGet('file_id', $f->id);
     }
     return true;
 }
开发者ID:Grasia,项目名称:bolotweet,代码行数:35,代码来源:bookmarkforurl.php

示例2: getNotice

 /**
  * Look up a notice from an argument, by poster's name to get last post
  * or notice_id prefixed with #.
  *
  * @return Notice
  * @throws CommandException
  */
 function getNotice($arg)
 {
     $notice = null;
     if (Event::handle('StartCommandGetNotice', array($this, $arg, &$notice))) {
         if (substr($this->other, 0, 1) == '#') {
             // A specific notice_id #123
             $notice = Notice::staticGet(substr($arg, 1));
             if (!$notice) {
                 throw new CommandException(_('Notice with that id does not exist'));
             }
         }
         if (Validate::uri($this->other)) {
             // A specific notice by URI lookup
             $notice = Notice::staticGet('uri', $arg);
         }
         if (!$notice) {
             // Local or remote profile name to get their last notice.
             // May throw an exception and report 'no such user'
             $recipient = $this->getProfile($arg);
             $notice = $recipient->getCurrentNotice();
             if (!$notice) {
                 throw new CommandException(_('User has no last notice'));
             }
         }
     }
     Event::handle('EndCommandGetNotice', array($this, $arg, &$notice));
     if (!$notice) {
         throw new CommandException(_('Notice with that id does not exist'));
     }
     return $notice;
 }
开发者ID:sukhjindersingh,项目名称:PHInest-Solutions,代码行数:38,代码来源:command.php

示例3: authenticate

 /**
  * Eventually we should use OAuth here, since this is mainly
  * for API authentication.
  *
  * For now let's just verify that they passed in a valid
  * OpenID. The API layer verifies a valid API key later anyway,
  * so we don't duplicate that effort here.
  *
  * @param string $name     the user name
  * @param string $password the password for the above user name
  *
  * @return mixed false if no auth
  *               array( contactID, ufID, unique string ) if success
  * @access public
  * @static
  */
 static function authenticate($name, $password)
 {
     // check that we got a valid URL
     $options = array('domain_check' => false, 'allowed_schemes' => array('http', 'https'));
     require_once 'Validate.php';
     $validUrl = Validate::uri($name, $options);
     if (!$validUrl) {
         return false;
     }
     // we got a valid URL, see if it's allowed to login
     require_once 'CRM/Core/BAO/OpenID.php';
     $allowLogin = CRM_Core_BAO_OpenID::isAllowedToLogin($name);
     if (!$allowLogin) {
         return false;
     }
     // see if the password matches the API key
     require_once 'CRM/Contact/BAO/Contact.php';
     $dao = CRM_Contact_BAO_Contact::matchContactOnOpenId($name);
     require_once 'CRM/Core/DAO.php';
     $api_key = CRM_Core_DAO::getFieldValue('CRM_Contact_DAO_Contact', $dao->contact_id, 'api_key');
     if ($api_key != $password) {
         return false;
     }
     // everything looks good, setup the session and return
     require_once 'CRM/Standalone/User.php';
     $user = new CRM_Standalone_User($name);
     require_once 'CRM/Core/BAO/UFMatch.php';
     CRM_Core_BAO_UFMatch::synchronize($user, false, 'Standalone', 'Individual');
     require_once 'CRM/Core/Session.php';
     $session = CRM_Core_Session::singleton();
     $returnArray = array($session->get('userID'), $session->get('ufID'), mt_rand());
     return $returnArray;
 }
开发者ID:ksecor,项目名称:civicrm,代码行数:49,代码来源:Standalone.php

示例4: __construct

 /**
  * Constructor for OMB_Profile
  *
  * Initializes the OMB_Profile object with an identifier uri.
  *
  * @param string $identifier_uri The profile URI as defined by the OMB. A unique
  *                               and unchanging identifier for a profile.
  *
  * @access public
  */
 public function __construct($identifier_uri)
 {
     if (!Validate::uri($identifier_uri)) {
         throw new OMB_InvalidParameterException($identifier_uri, 'profile', 'omb_listenee or omb_listener');
     }
     $this->identifier_uri = $identifier_uri;
     $this->param_array = false;
 }
开发者ID:sukhjindersingh,项目名称:PHInest-Solutions,代码行数:18,代码来源:profile.php

示例5: testCreateThenExpand

 /**
  * Test creating and then expanding a URL
  *
  * @param string $service The service to test
  *
  * @dataProvider allServices
  * @return void
  */
 public function testCreateThenExpand($service)
 {
     $api = Services_ShortURL::factory($service);
     // Create a short URL and do some sanity checking
     $small = $api->shorten($this->testURL);
     $this->assertType('string', $small);
     $this->assertTrue(Validate::uri($small), 'Invalid URL: ' . $small);
     // Expand the short URL and do some sanity checking
     $big = $api->expand($small);
     $this->assertEquals($this->testURL, $big);
 }
开发者ID:joestump,项目名称:services_shorturl,代码行数:19,代码来源:ShortURLTest.php

示例6: __construct

 /**
  * Constructor for OMB_Notice
  *
  * Initializes the OMB_Notice object with author, uri and content.
  * These parameters are mandatory for postNotice.
  *
  * @param object $author  An OMB_Profile object representing the author of the
  *                        notice.
  * @param string $uri     The notice URI as defined by the OMB. A unique and
  *                        unchanging identifier for a notice.
  * @param string $content The content of the notice. 140 chars recommended,
  *                        but there is no limit.
  *
  * @access public
  */
 public function __construct($author, $uri, $content)
 {
     $this->content = $content;
     if (is_null($author)) {
         throw new OMB_InvalidParameterException('', 'notice', 'omb_listenee');
     }
     $this->author = $author;
     if (!Validate::uri($uri)) {
         throw new OMB_InvalidParameterException($uri, 'notice', 'omb_notice');
     }
     $this->uri = $uri;
     $this->param_array = false;
 }
开发者ID:sukhjindersingh,项目名称:PHInest-Solutions,代码行数:28,代码来源:notice.php

示例7: save_notice

 function save_notice(&$req, &$consumer, &$token)
 {
     $version = $req->get_parameter('omb_version');
     if ($version != OMB_VERSION_01) {
         $this->clientError(_('Unsupported OMB version'), 400);
         return false;
     }
     # First, check to see
     $listenee = $req->get_parameter('omb_listenee');
     $remote_profile = Remote_profile::staticGet('uri', $listenee);
     if (!$remote_profile) {
         $this->clientError(_('Profile unknown'), 403);
         return false;
     }
     $sub = Subscription::staticGet('token', $token->key);
     if (!$sub) {
         $this->clientError(_('No such subscription'), 403);
         return false;
     }
     $content = $req->get_parameter('omb_notice_content');
     $content_shortened = common_shorten_links($content);
     if (mb_strlen($content_shortened) > 140) {
         $this->clientError(_('Invalid notice content'), 400);
         return false;
     }
     $notice_uri = $req->get_parameter('omb_notice');
     if (!Validate::uri($notice_uri) && !common_valid_tag($notice_uri)) {
         $this->clientError(_('Invalid notice uri'), 400);
         return false;
     }
     $notice_url = $req->get_parameter('omb_notice_url');
     if ($notice_url && !common_valid_http_url($notice_url)) {
         $this->clientError(_('Invalid notice url'), 400);
         return false;
     }
     $notice = Notice::staticGet('uri', $notice_uri);
     if (!$notice) {
         $notice = Notice::saveNew($remote_profile->id, $content, 'omb', false, null, $notice_uri);
         if (is_string($notice)) {
             common_server_serror($notice, 500);
             return false;
         }
         common_broadcast_notice($notice, true);
     }
     return true;
 }
开发者ID:Br3nda,项目名称:laconica,代码行数:46,代码来源:postnotice.php

示例8: checkInput

 protected function checkInput()
 {
     if (!$this->request->getParam('URL') && (!isset($_FILES['File']) || $_FILES['File']['tmp_name'] == '')) {
         throw new binarypool_exception(109, 400, "No file uploaded.");
     }
     $type = $this->request->getParam('Type');
     if (!$type) {
         throw new binarypool_exception(110, 400, "Type param not given.");
     }
     if (!in_array($type, self::$UPLOAD_TYPES)) {
         throw new binarypool_exception(111, 400, "Invalid upload type: " . $this->request->getParam('Type'));
     }
     $url = $this->request->getParam('URL');
     if ($url) {
         if (!Validate::uri($url, array('allowed_schemes' => array('http', 'https')))) {
             throw new binarypool_exception(120, 400, "Invalid URL for download: " . $url);
         }
     }
 }
开发者ID:pneff,项目名称:binarypool,代码行数:19,代码来源:create.php

示例9: trySave

 function trySave()
 {
     $cur = common_current_user();
     if (!$cur->isAdmin($this->group)) {
         // TRANS: Client error displayed trying to edit a group while not being a group admin.
         $this->clientError(_('You must be an admin to edit the group.'), 403);
         return;
     }
     if (Event::handle('StartGroupSaveForm', array($this))) {
         $nickname = Nickname::normalize($this->trimmed('newnickname'));
         $fullname = $this->trimmed('fullname');
         $homepage = $this->trimmed('homepage');
         $description = $this->trimmed('description');
         $location = $this->trimmed('location');
         $aliasstring = $this->trimmed('aliases');
         $private = $this->boolean('private');
         if ($private) {
             $force_scope = 1;
             $join_policy = User_group::JOIN_POLICY_MODERATE;
         } else {
             $force_scope = 0;
             $join_policy = User_group::JOIN_POLICY_OPEN;
         }
         if ($this->nicknameExists($nickname)) {
             // TRANS: Group edit form validation error.
             $this->showForm(_('Nickname already in use. Try another one.'));
             return;
         } else {
             if (!User_group::allowedNickname($nickname)) {
                 // TRANS: Group edit form validation error.
                 $this->showForm(_('Not a valid nickname.'));
                 return;
             } else {
                 if (!is_null($homepage) && strlen($homepage) > 0 && !Validate::uri($homepage, array('allowed_schemes' => array('http', 'https')))) {
                     // TRANS: Group edit form validation error.
                     $this->showForm(_('Homepage is not a valid URL.'));
                     return;
                 } else {
                     if (!is_null($fullname) && mb_strlen($fullname) > 255) {
                         // TRANS: Group edit form validation error.
                         $this->showForm(_('Full name is too long (maximum 255 characters).'));
                         return;
                     } else {
                         if (User_group::descriptionTooLong($description)) {
                             $this->showForm(sprintf(_m('Description is too long (maximum %d character).', 'Description is too long (maximum %d characters).', User_group::maxDescription()), User_group::maxDescription()));
                             return;
                         } else {
                             if (!is_null($location) && mb_strlen($location) > 255) {
                                 // TRANS: Group edit form validation error.
                                 $this->showForm(_('Location is too long (maximum 255 characters).'));
                                 return;
                             }
                         }
                     }
                 }
             }
         }
         if (!empty($aliasstring)) {
             $aliases = array_map('common_canonical_nickname', array_unique(preg_split('/[\\s,]+/', $aliasstring)));
         } else {
             $aliases = array();
         }
         if (count($aliases) > common_config('group', 'maxaliases')) {
             // TRANS: Group edit form validation error.
             // TRANS: %d is the maximum number of allowed aliases.
             $this->showForm(sprintf(_m('Too many aliases! Maximum %d allowed.', 'Too many aliases! Maximum %d allowed.', common_config('group', 'maxaliases')), common_config('group', 'maxaliases')));
             return;
         }
         foreach ($aliases as $alias) {
             if (!Nickname::isValid($alias)) {
                 // TRANS: Group edit form validation error.
                 $this->showForm(sprintf(_('Invalid alias: "%s"'), $alias));
                 return;
             }
             if ($this->nicknameExists($alias)) {
                 // TRANS: Group edit form validation error.
                 $this->showForm(sprintf(_('Alias "%s" already in use. Try another one.'), $alias));
                 return;
             }
             // XXX assumes alphanum nicknames
             if (strcmp($alias, $nickname) == 0) {
                 // TRANS: Group edit form validation error.
                 $this->showForm(_('Alias can\'t be the same as nickname.'));
                 return;
             }
         }
         // Comprobamos si hay algo que actualizar, o si no ha cambiado nada el usuario.
         $part1 = false;
         if ($this->group->nickname == $nickname && $this->group->fullname == $fullname && $this->group->homepage == $homepage && $this->group->description == $description && $this->group->location == $location && $this->group->mainpage == common_local_url('showgroup', array('nickname' => $nickname)) && $this->group->join_policy == $join_policy && $this->group->force_scope == $force_scope) {
             $part1 = true;
         } else {
             $this->group->query('BEGIN');
             $orig = clone $this->group;
             $this->group->nickname = $nickname;
             $this->group->fullname = $fullname;
             $this->group->homepage = $homepage;
             $this->group->description = $description;
             $this->group->location = $location;
             $this->group->mainpage = common_local_url('showgroup', array('nickname' => $nickname));
             $this->group->join_policy = $join_policy;
//.........这里部分代码省略.........
开发者ID:Grasia,项目名称:bolotweet,代码行数:101,代码来源:editgroup.php

示例10: realpath

 */
define('INSTALLDIR', realpath(dirname(__FILE__) . '/../../..'));
$longoptions = array('skip=', 'count=');
$helptext = <<<END_OF_HELP
testfeed.php [options] http://example.com/atom-feed-url
Pull an Atom feed and run items in it as though they were live PuSH updates.
Mainly intended for testing funky feed formats.

     --skip=N   Ignore the first N items in the feed.
     --count=N  Only process up to N items from the feed, after skipping.


END_OF_HELP;
require_once INSTALLDIR . '/scripts/commandline.inc';
$validate = new Validate();
if (empty($args[0]) || !$validate->uri($args[0])) {
    print "{$helptext}";
    exit(1);
}
$feedurl = $args[0];
$skip = have_option('skip') ? intval(get_option_value('skip')) : 0;
$count = have_option('count') ? intval(get_option_value('count')) : 0;
$sub = FeedSub::getKV('uri', $feedurl);
if (!$sub) {
    print "Feed {$feedurl} is not subscribed.\n";
    exit(1);
}
// Fetch the URL
try {
    $xml = HTTPClient::quickGet($feedurl, 'text/html,application/xhtml+xml');
} catch (Exception $e) {
开发者ID:bashrc,项目名称:gnusocial-debian,代码行数:31,代码来源:testfeed.php

示例11: url

 static function url($url, $checkDomain = false)
 {
     $options = array('domain_check' => $checkDomain, 'allowed_schemes' => array('http', 'https', 'mailto', 'ftp'));
     require_once 'Validate.php';
     return Validate::uri($url, $options);
 }
开发者ID:hampelm,项目名称:Ginsberg-CiviDemo,代码行数:6,代码来源:Rule.php

示例12: setAPI

 /**
  * Set API
  * 
  * @param mixed $api Api url to set
  *
  * @return void
  */
 public function setAPI($api)
 {
     if (!Validate::uri($api)) {
         throw new Services_Facebook('Invalid API: ' . $api);
     }
     $this->api = $api;
 }
开发者ID:voitto,项目名称:facebook_stream,代码行数:14,代码来源:Common.php

示例13: handlePost

 /**
  * Handle a post
  *
  * Validate input and save changes. Reload the form with a success
  * or error message.
  *
  * @return void
  */
 function handlePost()
 {
     // CSRF protection
     $token = $this->trimmed('token');
     if (!$token || $token != common_session_token()) {
         // TRANS: Form validation error.
         $this->showForm(_('There was a problem with your session token. ' . 'Try again, please.'));
         return;
     }
     if (Event::handle('StartProfileSaveForm', array($this))) {
         try {
             $nickname = Nickname::normalize($this->trimmed('nickname'));
         } catch (NicknameException $e) {
             $this->showForm($e->getMessage());
             return;
         }
         $fullname = $this->trimmed('fullname');
         $homepage = $this->trimmed('homepage');
         $bio = $this->trimmed('bio');
         $location = $this->trimmed('location');
         $autosubscribe = $this->boolean('autosubscribe');
         $subscribe_policy = $this->trimmed('subscribe_policy');
         $private_stream = $this->boolean('private_stream');
         $language = $this->trimmed('language');
         $timezone = $this->trimmed('timezone');
         $tagstring = $this->trimmed('tags');
         // Some validation
         if (!User::allowed_nickname($nickname)) {
             // TRANS: Validation error in form for profile settings.
             $this->showForm(_('Not a valid nickname.'));
             return;
         } else {
             if (!is_null($homepage) && strlen($homepage) > 0 && !Validate::uri($homepage, array('allowed_schemes' => array('http', 'https')))) {
                 // TRANS: Validation error in form for profile settings.
                 $this->showForm(_('Homepage is not a valid URL.'));
                 return;
             } else {
                 if (!is_null($fullname) && mb_strlen($fullname) > 255) {
                     // TRANS: Validation error in form for profile settings.
                     $this->showForm(_('Full name is too long (maximum 255 characters).'));
                     return;
                 } else {
                     if (Profile::bioTooLong($bio)) {
                         // TRANS: Validation error in form for profile settings.
                         // TRANS: Plural form is used based on the maximum number of allowed
                         // TRANS: characters for the biography (%d).
                         $this->showForm(sprintf(_m('Bio is too long (maximum %d character).', 'Bio is too long (maximum %d characters).', Profile::maxBio()), Profile::maxBio()));
                         return;
                     } else {
                         if (!is_null($location) && mb_strlen($location) > 255) {
                             // TRANS: Validation error in form for profile settings.
                             $this->showForm(_('Location is too long (maximum 255 characters).'));
                             return;
                         } else {
                             if (is_null($timezone) || !in_array($timezone, DateTimeZone::listIdentifiers())) {
                                 // TRANS: Validation error in form for profile settings.
                                 $this->showForm(_('Timezone not selected.'));
                                 return;
                             } else {
                                 if ($this->nicknameExists($nickname)) {
                                     // TRANS: Validation error in form for profile settings.
                                     $this->showForm(_('Nickname already in use. Try another one.'));
                                     return;
                                 } else {
                                     if (!is_null($language) && strlen($language) > 50) {
                                         // TRANS: Validation error in form for profile settings.
                                         $this->showForm(_('Language is too long (maximum 50 characters).'));
                                         return;
                                     }
                                 }
                             }
                         }
                     }
                 }
             }
         }
         $tags = array();
         $tag_priv = array();
         if (is_string($tagstring) && strlen($tagstring) > 0) {
             $tags = preg_split('/[\\s,]+/', $tagstring);
             foreach ($tags as &$tag) {
                 $private = @$tag[0] === '.';
                 $tag = common_canonical_tag($tag);
                 if (!common_valid_profile_tag($tag)) {
                     // TRANS: Validation error in form for profile settings.
                     // TRANS: %s is an invalid tag.
                     $this->showForm(sprintf(_('Invalid tag: "%s".'), $tag));
                     return;
                 }
                 $tag_priv[$tag] = $private;
             }
         }
//.........这里部分代码省略.........
开发者ID:Grasia,项目名称:bolotweet,代码行数:101,代码来源:profilesettings.php

示例14: define

 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
define('INSTALLDIR', realpath(dirname(__FILE__) . '/../../..'));
$longoptions = array('skip=', 'count=');
$helptext = <<<END_OF_HELP
testfeed.php [options] http://example.com/atom-feed-url
Pull an Atom feed and run items in it as though they were live PuSH updates.
Mainly intended for testing funky feed formats.

     --skip=N   Ignore the first N items in the feed.
     --count=N  Only process up to N items from the feed, after skipping.


END_OF_HELP;
require_once INSTALLDIR . '/scripts/commandline.inc';
if (empty($args[0]) || !Validate::uri($args[0])) {
    print "{$helptext}";
    exit(1);
}
$feedurl = $args[0];
$skip = have_option('skip') ? intval(get_option_value('skip')) : 0;
$count = have_option('count') ? intval(get_option_value('count')) : 0;
$sub = FeedSub::staticGet('topic', $feedurl);
if (!$sub) {
    print "Feed {$feedurl} is not subscribed.\n";
    exit(1);
}
$xml = file_get_contents($feedurl);
if ($xml === false) {
    print "Bad fetch.\n";
    exit(1);
开发者ID:sukhjindersingh,项目名称:PHInest-Solutions,代码行数:31,代码来源:testfeed.php

示例15: pullOstatusProfile

function pullOstatusProfile($uri)
{
    $oprofile = null;
    if (Validate::email($uri)) {
        $oprofile = LooseOstatusProfile::updateWebfinger($uri);
    } else {
        if (Validate::uri($uri)) {
            $oprofile = LooseOstatusProfile::updateProfileURL($uri);
        } else {
            print "Sorry, we could not reach the address: {$uri}\n";
            return false;
        }
    }
    return $oprofile;
}
开发者ID:Grasia,项目名称:bolotweet,代码行数:15,代码来源:update_ostatus_profiles.php


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