本文整理匯總了PHP中CRM_Utils_String::createRandom方法的典型用法代碼示例。如果您正苦於以下問題:PHP CRM_Utils_String::createRandom方法的具體用法?PHP CRM_Utils_String::createRandom怎麽用?PHP CRM_Utils_String::createRandom使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類CRM_Utils_String
的用法示例。
在下文中一共展示了CRM_Utils_String::createRandom方法的10個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: getFilePrefix
/**
* @return string
*/
public static function getFilePrefix()
{
if (!self::$filePrefix) {
self::$filePrefix = "test_" . CRM_Utils_String::createRandom(5, CRM_Utils_String::ALPHANUMERIC) . '_';
}
return self::$filePrefix;
}
示例2: id
/**
* Get a unique ID for the request.
*
* This unique ID is assigned to mysql when the connection is opened and is
* available in PHP.
*
* The intent is that it is available for logging purposes and for triggers.
*
* The resulting string is 17 characters long. This consists of 13 characters of uniqid
* and 4 more random characters.
*
* Uniqid is unique to the microsecond - to make it more unique we add 4 more characters
* but stop short of the full 23 character string that a prefix would generate.
*
* It is intended that this string will be saved to log tables so striking a balance between
* uniqueness and length is important. Note that I did check & lining up with byte values
* (e.g 16 characters) does not confer any benefits. Using a CHAR field rather than VARCHAR
* may improve speed, if indexed.
*
* @return string
*/
public static function id()
{
if (!isset(\Civi::$statics[__CLASS__]['id'])) {
\Civi::$statics[__CLASS__]['id'] = uniqid() . CRM_Utils_String::createRandom(CRM_Utils_String::ALPHANUMERIC, 4);
}
return \Civi::$statics[__CLASS__]['id'];
}
示例3: __construct
/**
* Instantiate a signature-processor
*
* @param $secret string, private
* @param $paramNames array, fields which should be part of the signature
*/
function __construct($secret, $paramNames)
{
sort($paramNames);
// ensure consistent serialization of payloads
$this->secret = $secret;
$this->paramNames = $paramNames;
$this->signDelim = "_";
// chosen to be valid in URLs but not in salt or md5
$this->defaultSalt = CRM_Utils_String::createRandom(self::SALT_LEN, CRM_Utils_String::ALPHANUMERIC);
}
示例4: testRandom
public function testRandom()
{
for ($i = 0; $i < 4; $i++) {
$actual = CRM_Utils_String::createRandom(4, 'abc');
$this->assertEquals(4, strlen($actual));
$this->assertRegExp('/^[abc]+$/', $actual);
$actual = CRM_Utils_String::createRandom(6, '12345678');
$this->assertEquals(6, strlen($actual));
$this->assertRegExp('/^[12345678]+$/', $actual);
}
}
示例5: resetCacheCode
/**
* @return CRM_Core_Resources
*/
public function resetCacheCode()
{
$this->setCacheCode(CRM_Utils_String::createRandom(5, CRM_Utils_String::ALPHANUMERIC));
// Also flush cms resource cache if needed
CRM_Core_Config::singleton()->userSystem->clearResourceCache();
return $this;
}
示例6: isDirAccessible
/**
* Determine whether $url is a public version of $dir in which files
* are remotely accessible.
*
* @param string $dir
* Local dir path.
* @param string $url
* Public URL.
* @return bool
*/
public function isDirAccessible($dir, $url)
{
$dir = rtrim($dir, '/');
$url = rtrim($url, '/');
if (empty($dir) || empty($url) || !is_dir($dir)) {
return FALSE;
}
$result = FALSE;
$file = 'delete-this-' . CRM_Utils_String::createRandom(10, CRM_Utils_String::ALPHANUMERIC);
// this could be a new system with no uploads (yet) -- so we'll make a file
file_put_contents("{$dir}/{$file}", "delete me");
$headers = @get_headers("{$url}/{$file}");
if (stripos($headers[0], '200')) {
$content = @file_get_contents("{$url}/{$file}");
if (preg_match('/delete me/', $content)) {
$result = TRUE;
}
}
unlink("{$dir}/{$file}");
return $result;
}
示例7: testCustomFileField
/**
* Test setting and getting a custom file field value.
*
* Uses the "attachment" api for setting value.
*/
public function testCustomFileField()
{
$customGroup = $this->customGroupCreate(array('title' => 'attachment_test_group'));
$params = array('custom_group_id' => $customGroup['id'], 'name' => 'test_file_attachment', 'label' => 'test_file_attachment', 'html_type' => 'File', 'data_type' => 'File', 'is_active' => 1);
$customField = $this->callAPISuccess('custom_field', 'create', $params);
$cfId = 'custom_' . $customField['id'];
$cid = $this->individualCreate();
$attachment = $this->callAPISuccess('attachment', 'create', array('name' => CRM_Utils_String::createRandom(5, CRM_Utils_String::ALPHANUMERIC) . '_testCustomFileField.txt', 'mime_type' => 'text/plain', 'content' => 'My test content', 'field_name' => $cfId, 'entity_id' => $cid));
$this->assertAttachmentExistence(TRUE, $attachment);
$result = $this->callAPISuccess('contact', 'getsingle', array('id' => $cid, 'return' => $cfId));
$this->assertEquals($attachment['id'], $result[$cfId]);
}
示例8: resetNavigation
/**
* Reset navigation for all contacts or a specified contact.
*
* @param int $contactID
* Reset only entries belonging to that contact ID.
*
* @return string
*/
public static function resetNavigation($contactID = NULL)
{
$newKey = CRM_Utils_String::createRandom(self::CACHE_KEY_STRLEN, CRM_Utils_String::ALPHANUMERIC);
if (!$contactID) {
$query = "UPDATE civicrm_setting SET value = '{$newKey}' WHERE name='navigation' AND contact_id IS NOT NULL";
CRM_Core_DAO::executeQuery($query);
CRM_Core_BAO_Cache::deleteGroup('navigation');
} else {
// before inserting check if contact id exists in db
// this is to handle weird case when contact id is in session but not in db
$contact = new CRM_Contact_DAO_Contact();
$contact->id = $contactID;
if ($contact->find(TRUE)) {
CRM_Core_BAO_Setting::setItem($newKey, CRM_Core_BAO_Setting::PERSONAL_PREFERENCES_NAME, 'navigation', NULL, $contactID, $contactID);
}
}
// also reset the dashlet cache in case permissions have changed etc
// FIXME: decouple this
CRM_Core_BAO_Dashboard::resetDashletCache($contactID);
return $newKey;
}
示例9: resetCacheCode
public function resetCacheCode()
{
$this->setCacheCode(CRM_Utils_String::createRandom(5, CRM_Utils_String::ALPHANUMERIC));
}
示例10: isBrowsable
/**
* Determine whether $url is a public, browsable listing for $dir
*
* @param string $dir local dir path
* @param string $url public URL
* @return bool
*/
public function isBrowsable($dir, $url)
{
if (empty($dir) || empty($url) || !is_dir($dir)) {
return FALSE;
}
$result = FALSE;
$file = 'delete-this-' . CRM_Utils_String::createRandom(10, CRM_Utils_String::ALPHANUMERIC);
// this could be a new system with no uploads (yet) -- so we'll make a file
file_put_contents("{$dir}/{$file}", "delete me");
$content = @file_get_contents("{$url}");
if (stristr($content, $file)) {
$result = TRUE;
}
unlink("{$dir}/{$file}");
return $result;
}