本文整理汇总了PHP中eZUser::create方法的典型用法代码示例。如果您正苦于以下问题:PHP eZUser::create方法的具体用法?PHP eZUser::create怎么用?PHP eZUser::create使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类eZUser
的用法示例。
在下文中一共展示了eZUser::create方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: createNeweZUser
private function createNeweZUser()
{
$user = eZUser::create( $this->userObject->attribute( 'id' ) );
$user->setAttribute( 'login', $this->userLogin );
$user->setAttribute( 'email', $this->userEmail );
$user->setAttribute( 'password_hash', self::USER_PASSWORD_HASH );
$user->setAttribute( 'password_hash_type', eZUser::passwordHashTypeID( self::USER_PASSWORD_HASH_ID ) );
$user->store();
if( !$user instanceof eZUser )
{
die( 'FAIL : not an eZUser' );
}
}
示例2: unserializeContentObjectAttribute
function unserializeContentObjectAttribute($package, $objectAttribute, $attributeNode)
{
$userNode = $attributeNode->getElementsByTagName('account')->item(0);
if (is_object($userNode)) {
$userID = $objectAttribute->attribute('contentobject_id');
$user = eZUser::fetch($userID);
if (!is_object($user)) {
$user = eZUser::create($userID);
}
$user->setAttribute('login', $userNode->getAttribute('login'));
$user->setAttribute('email', $userNode->getAttribute('email'));
$user->setAttribute('password_hash', $userNode->getAttribute('password_hash'));
$user->setAttribute('password_hash_type', eZUser::passwordHashTypeID($userNode->getAttribute('password_hash_type')));
$user->store();
}
}
示例3: createContentObject
function createContentObject( $objectInformation )
{
$db = eZDB::instance();
$contentObjectVersion = false;
if ( $objectInformation['ownerID'] )
{
$userID = $objectInformation['ownerID'];
}
else
{
$user = eZUser::currentUser();
$userID = $user->attribute( 'contentobject_id' );
}
if ( $objectInformation['remoteID'] )
{
$contentObject = eZContentObject::fetchByRemoteId( $objectInformation['remoteID'] );
if ( $contentObject )
{
$this->writeMessage( "\t[".$objectInformation['remoteID']."] Object exists: " . $contentObject->attribute("name") . ". Creating new version.", 'notice' );
$contentObjectVersion = $contentObject->createNewVersion();
}
}
elseif ( $objectInformation['objectID'] )
{
$contentObject = eZContentObject::fetch( $objectInformation['objectID'] );
if ( $contentObject )
{
$this->writeMessage( "\t[".$objectInformation['remoteID']."] Object exists: " . $contentObject->attribute("name") . ". Creating new version.", 'notice' );
$contentObjectVersion = $contentObject->createNewVersion();
}
}
if ( !$contentObjectVersion )
{
if ( is_numeric( $objectInformation['classID'] ) )
{
$contentClass = eZContentClass::fetch( $objectInformation['classID'] );
}
elseif ( is_string( $objectInformation['classID'] ) && $objectInformation['classID'] != "" )
{
$contentClass = eZContentClass::fetchByIdentifier( $objectInformation['classID'] );
}
else
{
$this->writeMessage( "\tNo class defined. Using class article.", 'warning' );
$contentClass = eZContentClass::fetchByIdentifier( 'article' );
}
if ( !$contentClass )
{
$this->writeMessage( "\tCannot instantiate class '". $objectInformation['classID'] ."'." , 'error' );
return false;
}
$contentObject = $contentClass->instantiate( $userID );
$contentObject->setAttribute( 'remote_id', $objectInformation['remoteID'] );
if ( $contentObject )
{
$contentObjectVersion = $contentObject->currentVersion();
}
}
if ( $contentObjectVersion )
{
$db->begin();
$versionNumber = $contentObjectVersion->attribute( 'version' );
$sortField = intval( eZContentObjectTreeNode::sortFieldID( $objectInformation['sort_field'] ) );
$sortOrder = strtolower( $objectInformation['sort_order'] ) == 'desc' ? eZContentObjectTreeNode::SORT_ORDER_DESC : eZContentObjectTreeNode::SORT_ORDER_ASC;
$nodeAssignment = eZNodeAssignment::create(
array( 'contentobject_id' => $contentObject->attribute( 'id' ),
'contentobject_version' => $versionNumber,
'parent_node' => $objectInformation['parentNode'],
'is_main' => 1,
'sort_field' => $sortField,
'sort_order' => $sortOrder,
)
);
$nodeAssignment->store();
$dataMap = $contentObjectVersion->dataMap();
foreach ( $objectInformation['attributes'] as $attributeName => $attributesContent )
{
if ( array_key_exists( $attributeName, $dataMap ) )
{
$attribute = $dataMap[$attributeName];
$classAttributeID = $attribute->attribute( 'contentclassattribute_id' );
$dataType = $attribute->attribute( 'data_type_string' );
switch ( $dataType )
{
case 'ezstring':
case 'eztext':
case 'ezselection':
case 'ezemail':
{
if ( array_key_exists( 'parseReferences', $attributesContent ) && $attributesContent['parseReferences'] == "true" )
{
$attribute->setAttribute( 'data_text', $this->parseAndReplaceStringReferences( $attributesContent['content'] ) );
}
else
{
$attribute->setAttribute( 'data_text', $attributesContent['content'] );
}
//.........这里部分代码省略.........
示例4: loginUser
static function loginUser($login, $password, $authenticationMatch = false)
{
$http = eZHTTPTool::instance();
$db = eZDB::instance();
if ($authenticationMatch === false) {
$authenticationMatch = eZUser::authenticationMatch();
}
$loginEscaped = $db->escapeString($login);
$passwordEscaped = $db->escapeString($password);
$loginArray = array();
if ($authenticationMatch & eZUser::AUTHENTICATE_LOGIN) {
$loginArray[] = "login='{$loginEscaped}'";
}
if ($authenticationMatch & eZUser::AUTHENTICATE_EMAIL) {
$loginArray[] = "email='{$loginEscaped}'";
}
if (count($loginArray) == 0) {
$loginArray[] = "login='{$loginEscaped}'";
}
$loginText = implode(' OR ', $loginArray);
$contentObjectStatus = eZContentObject::STATUS_PUBLISHED;
$ini = eZINI::instance();
$textFileIni = eZINI::instance('textfile.ini');
$databaseName = $db->databaseName();
// if mysql
if ($databaseName === 'mysql') {
$query = "SELECT contentobject_id, password_hash, password_hash_type, email, login\n FROM ezuser, ezcontentobject\n WHERE ( {$loginText} ) AND\n ezcontentobject.status='{$contentObjectStatus}' AND\n ( ezcontentobject.id=contentobject_id OR ( password_hash_type=4 AND ( {$loginText} ) AND password_hash=PASSWORD('{$passwordEscaped}') ) )";
} else {
$query = "SELECT contentobject_id, password_hash, password_hash_type, email, login\n FROM ezuser, ezcontentobject\n WHERE ( {$loginText} ) AND\n ezcontentobject.status='{$contentObjectStatus}' AND\n ezcontentobject.id=contentobject_id";
}
$users = $db->arrayQuery($query);
$exists = false;
if (count($users) >= 1) {
foreach ($users as $userRow) {
$userID = $userRow['contentobject_id'];
$hashType = $userRow['password_hash_type'];
$hash = $userRow['password_hash'];
$exists = eZUser::authenticateHash($userRow['login'], $password, eZUser::site(), $hashType, $hash);
// If hash type is MySql
if ($hashType == eZUser::PASSWORD_HASH_MYSQL and $databaseName === 'mysql') {
$queryMysqlUser = "SELECT contentobject_id, password_hash, password_hash_type, email, login\n FROM ezuser, ezcontentobject\n WHERE ezcontentobject.status='{$contentObjectStatus}' AND\n password_hash_type=4 AND ( {$loginText} ) AND password_hash=PASSWORD('{$passwordEscaped}') ";
$mysqlUsers = $db->arrayQuery($queryMysqlUser);
if (count($mysqlUsers) >= 1) {
$exists = true;
}
}
eZDebugSetting::writeDebug('kernel-user', eZUser::createHash($userRow['login'], $password, eZUser::site(), $hashType), "check hash");
eZDebugSetting::writeDebug('kernel-user', $hash, "stored hash");
// If current user has been disabled after a few failed login attempts.
$canLogin = eZUser::isEnabledAfterFailedLogin($userID);
if ($exists) {
// We should store userID for warning message.
$GLOBALS['eZFailedLoginAttemptUserID'] = $userID;
$userSetting = eZUserSetting::fetch($userID);
$isEnabled = $userSetting->attribute("is_enabled");
if ($hashType != eZUser::hashType() and strtolower($ini->variable('UserSettings', 'UpdateHash')) == 'true') {
$hashType = eZUser::hashType();
$hash = eZUser::createHash($login, $password, eZUser::site(), $hashType);
$db->query("UPDATE ezuser SET password_hash='{$hash}', password_hash_type='{$hashType}' WHERE contentobject_id='{$userID}'");
}
break;
}
}
}
if ($exists and $isEnabled and $canLogin) {
eZDebugSetting::writeDebug('kernel-user', $userRow, 'user row');
$user = new eZUser($userRow);
eZDebugSetting::writeDebug('kernel-user', $user, 'user');
$userID = $user->attribute('contentobject_id');
eZUser::updateLastVisit($userID);
eZUser::setCurrentlyLoggedInUser($user, $userID);
// Reset number of failed login attempts
eZUser::setFailedLoginAttempts($userID, 0);
return $user;
} else {
if ($textFileIni->variable('TextFileSettings', 'TextFileEnabled') == "true") {
$fileName = $textFileIni->variable('TextFileSettings', 'FileName');
$filePath = $textFileIni->variable('TextFileSettings', 'FilePath');
$defaultUserPlacement = $ini->variable("UserSettings", "DefaultUserPlacement");
$separator = $textFileIni->variable("TextFileSettings", "FileFieldSeparator");
$loginColumnNr = $textFileIni->variable("TextFileSettings", "LoginAttribute");
$passwordColumnNr = $textFileIni->variable("TextFileSettings", "PasswordAttribute");
$emailColumnNr = $textFileIni->variable("TextFileSettings", "EmailAttribute");
$lastNameColumnNr = $textFileIni->variable("TextFileSettings", "LastNameAttribute");
$firstNameColumnNr = $textFileIni->variable("TextFileSettings", "FirstNameAttribute");
if ($textFileIni->hasVariable('TextFileSettings', 'DefaultUserGroupType')) {
$UserGroupType = $textFileIni->variable('TextFileSettings', 'DefaultUserGroupType');
$UserGroup = $textFileIni->variable('TextFileSettings', 'DefaultUserGroup');
}
if ($UserGroupType != null) {
if ($UserGroupType == "name") {
$groupName = $UserGroup;
$groupQuery = "SELECT ezcontentobject_tree.node_id\n FROM ezcontentobject, ezcontentobject_tree\n WHERE ezcontentobject.name='{$groupName}'\n AND ezcontentobject.id=ezcontentobject_tree.contentobject_id";
$groupObject = $db->arrayQuery($groupQuery);
if (count($groupObject) > 0) {
$defaultUserPlacement = $groupObject[0]['node_id'];
}
} else {
if ($UserGroupType == "id") {
$groupID = $UserGroup;
//.........这里部分代码省略.........
示例5: updateContentObjectAttributes
//.........这里部分代码省略.........
' <section>'."\n";
{
$xml .= ' <paragraph>';
$numSentences = mt_rand( ( int ) $attributeParameters['min_sentences'], ( int ) $attributeParameters['max_sentences'] );
for( $sentence = 0; $sentence < $numSentences; $sentence++ )
{
if( $sentence != 0 )
{
$xml .= ' ';
}
}
$xml .= "</paragraph>\n";
}
$xml .= " </section>\n</section>\n";
$attribute->setAttribute( 'data_text', $xml );
} break;
case 'eztext':
{
$attribute->setAttribute( 'data_text', $attrData['DataText'] );
} break;
case 'ezmatrix':
{
$columnsCount = count( $attrData["MatrixDefinition"]->attribute( 'columns' ) );
if( $columnsCount > 0 )
{
$rowsCount = count( $attrData["MatrixCells"] ) / $columnsCount;
$tempMatrix = new eZMatrix( $attrData["MatrixTitle"], $rowsCount, $attrData["MatrixDefinition"] );
$tempMatrix->Cells = $attrData["MatrixCells"];
$attribute->setAttribute( 'data_text', $tempMatrix->xmlString() );
$tempMatrix->decodeXML( $attribute->attribute( 'data_text' ) );
$attribute->setContent( $tempMatrix );
}
else
{
$this->reportError( "Number of columns in 'ezmatrix' should be greater then zero",
'eZSiteInstaller::updateContentObjectAttributes',
eZSiteInstaller::ERR_CONTINUE );
}
} break;
case 'ezboolean':
{
$attribute->setAttribute( 'data_int', $attrData['DataInt'] );
} break;
case 'ezinteger':
{
$attribute->setAttribute( 'data_int', $attrData['DataInt'] );
} break;
case 'ezfloat':
{
$power = 100;
$float = mt_rand( $power * ( int ) $attrData['Min'], $power * ( int ) $attrData['Max'] );
$float = $float / $power;
$attribute->setAttribute( 'data_float', $float );
} break;
case 'ezprice':
{
$power = 10;
$price = mt_rand( $power * ( int ) $attrData['Min'], $power * ( int ) $attrData['Max'] );
$price = $price / $power;
$attribute->setAttribute( 'data_float', $price );
} break;
case 'ezurl':
{
$attribute->setContent( $attrData['Content'] );
$attribute->setAttribute( "data_text", $attrData['DataText']);
} break;
case 'ezuser':
{
$user = $attribute->content();
if( $user === null )
{
$user = eZUser::create( $objectID );
}
$user->setInformation( $objectID,
md5( time() . '-' . mt_rand() ),
md5( time() . '-' . mt_rand() ) . '@ez.no',
'publish',
'publish' );
$user->store();
} break;
}
$attribute->store();
}
$contentObject->store();
}
示例6: editContentObject
function editContentObject( $objectInformation )
{
$db = eZDB::instance();
$contentObjectVersion = false;
$contentObject = $objectInformation['object'];
if ( $objectInformation['ownerID'] )
{
$userID = $objectInformation['ownerID'];
}
else
{
$userID = $contentObject->attribute( 'owner_id' );
}
if ( $contentObject )
{
$contentObjectVersion = $contentObject->createNewVersion();
}
if ( $contentObjectVersion )
{
$db->begin();
$versionNumber = $contentObjectVersion->attribute( 'version' );
$dataMap = $contentObjectVersion->dataMap();
foreach ( $objectInformation['attributes'] as $attributeName => $attributesContent )
{
if ( array_key_exists( $attributeName, $dataMap ) )
{
$attribute = $dataMap[$attributeName];
$classAttributeID = $attribute->attribute( 'contentclassattribute_id' );
$dataType = $attribute->attribute( 'data_type_string' );
switch ( $dataType )
{
case 'ezstring':
case 'eztext':
case 'ezselection':
case 'ezemail':
{
if ( array_key_exists( 'parseReferences', $attributesContent ) && $attributesContent['parseReferences'] == "true" )
{
$attribute->setAttribute( 'data_text', $this->parseAndReplaceStringReferences( $attributesContent['content'] ) );
}
else
{
$attribute->setAttribute( 'data_text', $attributesContent['content'] );
}
} break;
case 'ezboolean':
case 'ezinteger':
{
$attribute->setAttribute( 'data_int', (int)$attributesContent['content'] );
} break;
case 'ezxmltext':
{
if ( array_key_exists( 'parseReferences', $attributesContent ) && $attributesContent['parseReferences'] == "true" )
{
$attributesContent['content'] = $this->parseAndReplaceStringReferences( $attributesContent['content'] );
}
if ( array_key_exists( 'htmlDecode', $attributesContent ) && $attributesContent['htmlDecode'] == "true" )
{
$content = html_entity_decode( $attributesContent['content'] );
}
else
{
$content = $attributesContent['content'];
}
$xml = '<?xml version="1.0" encoding="utf-8"?>'."\n".
'<section xmlns:image="http://ez.no/namespaces/ezpublish3/image/"'."\n".
' xmlns:xhtml="http://ez.no/namespaces/ezpublish3/xhtml/"'."\n".
' xmlns:custom="http://ez.no/namespaces/ezpublish3/custom/">'."\n".
' <section>'."\n";
$xml .= ' <paragraph>' . $content . "</paragraph>\n";
$xml .= " </section>\n</section>\n";
$attribute->setAttribute( 'data_text', $xml );
} break;
case 'ezprice':
case 'ezfloat':
{
$attribute->setAttribute( 'data_float', (float)$attributesContent['content'] );
} break;
case 'ezimage':
{
$imagePath = $this->setting( 'data_source' ) . '/' . $attributesContent['src'];
$imageName = $attributesContent['title'];
$path = realpath( $imagePath );
if ( file_exists( $path ) )
{
$content = $attribute->content();
$content->initializeFromFile( $path, $imageName, basename( $attributesContent['src'] ) );
$content->store( $attribute );
}
else
{
$this->writeMessage( "\tFile " . $path . " not found.", 'warning' );
//.........这里部分代码省略.........