本文整理汇总了PHP中eZContentObjectStateGroup类的典型用法代码示例。如果您正苦于以下问题:PHP eZContentObjectStateGroup类的具体用法?PHP eZContentObjectStateGroup怎么用?PHP eZContentObjectStateGroup使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了eZContentObjectStateGroup类的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testCreateWithvalidIdentifier
/**
* @dataProvider providerCreateWithValidIdentifier
*/
public function testCreateWithvalidIdentifier($identifier)
{
$row = array('identifier' => $identifier);
$stateGroup = new eZContentObjectStateGroup($row);
$trans = $stateGroup->translationByLocale('eng-GB');
$trans->setAttribute('name', $identifier);
$messages = array();
$this->assertTrue($stateGroup->isValid($messages), "Valid state group identifier '{$identifier}' was refused, " . var_export($messages, true));
}
示例2: attribute
function attribute($attr)
{
switch ($attr) {
case 'state_group':
return eZContentObjectStateGroup::fetchByOffset();
default:
return eZWorkflowEventType::attribute($attr);
}
}
示例3: setParameters
function setParameters($parm_array)
{
// Make sure no unsupported parameters are specified
$supported_parameters = array('state_group', 'state');
$parm_keys = array_keys($parm_array);
$unsupported_list = array_diff($parm_keys, $supported_parameters);
if (isset($unsupported_list[0])) {
return "Unsupported parameter '{$unsupported_list[0]}' in operation";
}
// Fetch state id's from the identifiers
$state_group = eZContentObjectStateGroup::fetchByIdentifier($parm_array['state_group']);
if ($state_group === false) {
return 'Missing or illegal state group identifier';
}
$state_group_id = $state_group->attribute('id');
$state = eZContentObjectState::fetchByIdentifier($parm_array['state'], $state_group_id);
if ($state === false) {
return 'Missing or illegal state identifier';
}
$this->state_id = $state->attribute('id');
return true;
}
示例4: array
<?php
/**
* @copyright Copyright (C) 1999-2012 eZ Systems AS. All rights reserved.
* @license http://www.gnu.org/licenses/gpl-2.0.txt GNU General Public License v2
* @version 2012.8
* @package kernel
*/
$Module = $Params['Module'];
$GroupIdentifier = $Params['GroupIdentifier'];
$StateIdentifier = $Params['StateIdentifier'];
$LanguageCode = $Params['Language'];
$group = eZContentObjectStateGroup::fetchByIdentifier($GroupIdentifier);
if (!is_object($group)) {
return $Module->handleError(eZError::KERNEL_NOT_FOUND, 'kernel');
}
$state = $group->stateByIdentifier($StateIdentifier);
if (!is_object($state)) {
return $Module->handleError(eZError::KERNEL_NOT_FOUND, 'kernel');
}
$currentAction = $Module->currentAction();
if ($currentAction == 'Edit') {
return $Module->redirectTo("state/edit/{$GroupIdentifier}/{$StateIdentifier}");
}
if ($LanguageCode) {
$state->setCurrentLanguage($LanguageCode);
}
$tpl = eZTemplate::factory();
$tpl->setVariable('group', $group);
$tpl->setVariable('state', $state);
$Result = array('content' => $tpl->fetch('design:state/view.tpl'), 'path' => array(array('url' => false, 'text' => ezpI18n::tr('kernel/state', 'State')), array('url' => 'state/group/' . $group->attribute('identifier'), 'text' => $group->attribute('identifier')), array('url' => false, 'text' => $state->attribute('identifier'))));
示例5: array
<?php
/**
* @copyright Copyright (C) 1999-2013 eZ Systems AS. All rights reserved.
* @license http://www.gnu.org/licenses/gpl-2.0.txt GNU General Public License v2
* @version 2013.11
* @package kernel
*/
$Module = array('name' => 'eZContentObjectState', 'variable_params' => false);
$ViewList = array();
$ViewList['assign'] = array('default_navigation_part' => 'ezsetupnavigationpart', 'script' => 'assign.php', 'params' => array('ObjectID', 'SelectedStateID'), 'functions' => array('assign'), 'single_post_actions' => array('AssignButton' => 'Assign'), 'post_action_parameters' => array('Assign' => array('ObjectID' => 'ObjectID', 'SelectedStateIDList' => 'SelectedStateIDList', 'RedirectRelativeURI' => 'RedirectRelativeURI')));
$ViewList['groups'] = array('default_navigation_part' => 'ezsetupnavigationpart', 'script' => 'groups.php', 'params' => array(), 'functions' => array('administrate'), 'unordered_params' => array('offset' => 'Offset'), 'single_post_actions' => array('CreateButton' => 'Create', 'RemoveButton' => 'Remove'), 'post_action_parameters' => array('Remove' => array('RemoveIDList' => 'RemoveIDList')));
$ViewList['group'] = array('default_navigation_part' => 'ezsetupnavigationpart', 'script' => 'group.php', 'params' => array('GroupIdentifier', 'Language'), 'functions' => array('administrate'), 'single_post_actions' => array('CreateButton' => 'Create', 'UpdateOrderButton' => 'UpdateOrder', 'EditButton' => 'Edit', 'RemoveButton' => 'Remove'), 'post_action_parameters' => array('UpdateOrder' => array('Order' => 'Order'), 'Remove' => array('RemoveIDList' => 'RemoveIDList')));
$ViewList['group_edit'] = array('default_navigation_part' => 'ezsetupnavigationpart', 'script' => 'group_edit.php', 'ui_context' => 'edit', 'params' => array('GroupIdentifier'), 'functions' => array('administrate'), 'single_post_actions' => array('StoreButton' => 'Store', 'CancelButton' => 'Cancel'));
$ViewList['view'] = array('default_navigation_part' => 'ezsetupnavigationpart', 'script' => 'view.php', 'params' => array('GroupIdentifier', 'StateIdentifier', 'Language'), 'functions' => array('administrate'), 'single_post_actions' => array('EditButton' => 'Edit'));
$ViewList['edit'] = array('default_navigation_part' => 'ezsetupnavigationpart', 'script' => 'edit.php', 'ui_context' => 'edit', 'params' => array('GroupIdentifier', 'StateIdentifier'), 'functions' => array('administrate'), 'single_post_actions' => array('StoreButton' => 'Store', 'CancelButton' => 'Cancel'));
$ClassID = array('name' => 'Class', 'values' => array(), 'class' => 'eZContentClass', 'function' => 'fetchList', 'parameter' => array(0, false, false, array('name' => 'asc')));
$SectionID = array('name' => 'Section', 'values' => array(), 'class' => 'eZSection', 'function' => 'fetchList', 'parameter' => array(false));
$Assigned = array('name' => 'Owner', 'values' => array(array('Name' => 'Self', 'value' => '1')));
$AssignedGroup = array('name' => 'Group', 'single_select' => true, 'values' => array(array('Name' => 'Self', 'value' => '1')));
$Node = array('name' => 'Node', 'values' => array());
$Subtree = array('name' => 'Subtree', 'values' => array());
$stateLimitations = eZContentObjectStateGroup::limitations();
$NewState = array('name' => 'NewState', 'values' => array(), 'class' => 'eZContentObjectState', 'function' => 'limitationList', 'parameter' => array());
$FunctionList = array();
$FunctionList['administrate'] = array();
$FunctionList['assign'] = array('Class' => $ClassID, 'Section' => $SectionID, 'Owner' => $Assigned, 'Group' => $AssignedGroup, 'Node' => $Node, 'Subtree' => $Subtree);
$FunctionList['assign'] = array_merge($FunctionList['assign'], $stateLimitations, array('NewState' => $NewState));
示例6: group
public function group()
{
return eZContentObjectStateGroup::fetchById($this->GroupID);
}
示例7: eZContentObjectStateGroup
<?php
/**
* @copyright Copyright (C) 1999-2012 eZ Systems AS. All rights reserved.
* @license http://www.gnu.org/licenses/gpl-2.0.txt GNU General Public License v2
* @version 2012.6
* @package kernel
*/
$GroupIdentifier = $Params['GroupIdentifier'];
$Module = $Params['Module'];
$group = $GroupIdentifier === null ? new eZContentObjectStateGroup() : eZContentObjectStateGroup::fetchByIdentifier($GroupIdentifier);
if (!is_object($group)) {
return $Module->handleError(eZError::KERNEL_NOT_FOUND, 'kernel');
}
if ($group->isInternal()) {
return $Module->handleError(eZError::KERNEL_ACCESS_DENIED, 'kernel');
}
$tpl = eZTemplate::factory();
$currentAction = $Module->currentAction();
if ($currentAction == 'Cancel') {
return $Module->redirectTo('state/groups');
} else {
if ($currentAction == 'Store') {
$group->fetchHTTPPersistentVariables();
$messages = array();
$isValid = $group->isValid($messages);
if ($isValid) {
$group->store();
if ($GroupIdentifier === null) {
return $Module->redirectTo('state/group/' . $group->attribute('identifier'));
} else {
示例8: removeByID
/**
*
*
* @param integer $id
*/
public static function removeByID($id)
{
$db = eZDB::instance();
$db->begin();
$states = eZContentObjectState::fetchByGroup($id);
foreach ($states as $state) {
eZContentObjectState::removeByID($state->attribute('id'));
}
eZPersistentObject::removeObject(eZContentObjectStateGroupLanguage::definition(), array('contentobject_state_group_id' => $id));
eZPersistentObject::removeObject(eZContentObjectStateGroup::definition(), array('id' => $id));
$db->commit();
}
示例9: createSortingSQLStrings
//.........这里部分代码省略.........
case 'class_identifier':
$sortingFields .= 'ezcontentclass.identifier';
break;
case 'class_name':
$classNameFilter = eZContentClassName::sqlFilter();
$sortingFields .= 'contentclass_name';
$datatypeSortingTargetSQL .= ", {$classNameFilter['nameField']} AS contentclass_name";
$attributeFromSQL .= " INNER JOIN {$classNameFilter['from']} ON ({$classNameFilter['where']})";
break;
case 'priority':
$sortingFields .= $treeTableName . '.priority';
break;
case 'name':
$sortingFields .= 'ezcontentobject_name.name';
break;
case 'attribute':
$classAttributeID = $sortBy[2];
if (!is_numeric($classAttributeID)) {
$classAttributeID = eZContentObjectTreeNode::classAttributeIDByIdentifier($classAttributeID);
}
$contentAttributeTableAlias = "a{$attributeJoinCount}";
$datatypeFromSQL = "ezcontentobject_attribute {$contentAttributeTableAlias}";
$datatypeWhereSQL = "\n {$contentAttributeTableAlias}.contentobject_id = ezcontentobject.id AND\n {$contentAttributeTableAlias}.contentclassattribute_id = {$classAttributeID} AND\n {$contentAttributeTableAlias}.version = ezcontentobject.current_version AND";
$datatypeWhereSQL .= eZContentLanguage::sqlFilter($contentAttributeTableAlias, 'ezcontentobject');
$dataType = eZDataType::create(eZContentObjectTreeNode::dataTypeByClassAttributeID($classAttributeID));
if (is_object($dataType) && $dataType->customSorting()) {
$params = array();
$params['contentobject_attr_id'] = "{$contentAttributeTableAlias}.id";
$params['contentobject_attr_version'] = "{$contentAttributeTableAlias}.version";
$params['table_alias_suffix'] = "{$attributeJoinCount}";
$sql = $dataType->customSortingSQL($params);
$datatypeFromSQL .= " INNER JOIN {$sql['from']} ON ({$sql['where']})";
$datatypeSortingFieldSQL = $sql['sorting_field'];
$datatypeSortingTargetSQL .= ', ' . $sql['sorting_field'];
} else {
// Look up datatype for standard sorting
$sortKeyType = eZContentObjectTreeNode::sortKeyByClassAttributeID($classAttributeID);
switch ($sortKeyType) {
case 'string':
$sortKey = 'sort_key_string';
break;
case 'int':
default:
$sortKey = 'sort_key_int';
break;
}
$datatypeSortingFieldSQL = "a{$attributeJoinCount}.{$sortKey}";
$datatypeSortingTargetSQL .= ', ' . $datatypeSortingFieldSQL;
}
$sortingFields .= "{$datatypeSortingFieldSQL}";
$attributeFromSQL .= " INNER JOIN {$datatypeFromSQL} ON ({$datatypeWhereSQL})";
$attributeJoinCount++;
break;
case 'state':
$stateGroupID = $sortBy[2];
if (!is_numeric($stateGroupID)) {
$stateGroup = eZContentObjectStateGroup::fetchByIdentifier($stateGroupID);
if ($stateGroup) {
$stateGroupID = $stateGroup->attribute('id');
} else {
eZDebug::writeError("Unknown content object state group '{$stateGroupID}'");
continue 2;
}
}
$stateAlias = "s{$stateJoinCount}";
$stateLinkAlias = "sl{$stateJoinCount}";
$sortingFields .= "{$stateAlias}.priority";
$datatypeSortingTargetSQL .= ", {$stateAlias}.priority";
$attributeFromSQL .= " INNER JOIN ezcobj_state {$stateAlias} ON ({$stateAlias}.group_id = {$stateGroupID})" . " INNER JOIN ezcobj_state_link {$stateLinkAlias}" . " ON ({$stateLinkAlias}.contentobject_id = ezcontentobject.id AND {$stateLinkAlias}.contentobject_state_id = {$stateAlias}.id)";
break;
default:
if ($allowCustomColumns) {
$sortingFields .= $sortField;
} else {
eZDebug::writeWarning('Unknown sort field: ' . $sortField, __METHOD__);
continue;
}
}
$sortOrder = true;
// true is ascending
if (isset($sortBy[1])) {
$sortOrder = $sortBy[1];
}
$sortingFields .= $sortOrder ? " ASC" : " DESC";
++$sortCount;
}
}
$sortingInfo['sortCount'] = $sortCount;
$sortingInfo['sortingFields'] = $sortingFields;
$sortingInfo['attributeTargetSQL'] = $datatypeSortingTargetSQL;
$sortingInfo['attributeJoinCount'] = $attributeJoinCount;
$sortingInfo['attributeFromSQL'] = $attributeFromSQL;
$sortingInfo['attributeWhereSQL'] = $attributeWhereSQL;
} else {
if ($sortList === array()) {
$sortingInfo['sortingFields'] = '';
}
}
return $sortingInfo;
}
示例10: array
$localeToUse = false;
$localeIDToUse = false;
// this script inserts English names, so preferably use an English locale
$preferredLocales = array('eng-GB', 'eng-US');
foreach ($preferredLocales as $preferredLocale) {
if (in_array($preferredLocale, $locales)) {
$localeToUse = $preferredLocale;
break;
}
}
// when none of the preferred locales are in use, then use the top priority language
if ($localeToUse === false) {
$prioritizedLanguage = eZContentLanguage::topPriorityLanguage();
$localeToUse = $prioritizedLanguage->attribute('locale');
}
$lockGroup = new eZContentObjectStateGroup(array('identifier' => 'ez_lock'));
$trans = $lockGroup->translationByLocale($localeToUse);
$trans->setAttribute('name', 'Lock');
$trans->setAttribute('description', 'Lock group');
$messages = array();
if ($lockGroup->isValid($messages)) {
$cli->output('storing state group ez_lock');
$lockGroup->store();
} else {
eZDebug::writeDebug($messages);
$db->rollback();
$script->shutdown(2);
}
$notLockedState = $lockGroup->newState('not_locked');
$trans = $notLockedState->translationByLocale($localeToUse);
$trans->setAttribute('name', 'Not locked');
示例11: allowedAssignStateList
/**
* @param eZUser|null $user
* @return array
*/
function allowedAssignStateList( eZUser $user = null )
{
$allowedStateIDList = $this->allowedAssignStateIDList( $user );
// retrieve state groups, and for each state group the allowed states (including the current state)
$groups = eZContentObjectStateGroup::fetchByOffset( false, false );
$allowedAssignList = array();
foreach ( $groups as $group )
{
// we do not return any internal state
// all internal states are prepended with the string : "ez_"
if( strpos( $group->attribute( 'identifier' ), 'ez' ) === 0 )
continue;
$states = array();
$groupStates = $group->attribute( 'states' );
$currentStateIDArray = $this->attribute( 'state_id_array' );
$current = false;
foreach ( $groupStates as $groupState )
{
$stateID = $groupState->attribute( 'id' );
if ( in_array( $stateID, $allowedStateIDList ) )
{
$states[] = $groupState;
}
if ( in_array( $stateID, $currentStateIDArray ) )
{
$current = $groupState;
}
}
$allowedAssignList[] = array( 'group' => $group, 'states' => $states, 'current' => $current );
}
return $allowedAssignList;
}
示例12: array
);
$options = $script->getOptions( '', '', array( '-q' => 'Quiet mode' ) );
$cli = eZCLI::instance();
$script->initialize();
$script->startup();
$db = eZDB::instance();
$limit = 50;
$offset = 0;
while ( true )
{
$groups = eZContentObjectStateGroup::fetchByOffset( $limit, $offset );
if ( empty( $groups ) )
{
break;
}
foreach ( $groups as $group )
{
$cli->output( 'Fixing translations for group ' . $group->attribute( 'identifier' ), false );
$groupId = $group->attribute( 'id' );
$defaultLangId = $group->attribute( 'default_language_id' );
// for the default language id, the correct record is the one with
// the always available bit, so we delete records without it
// ie language_id = real_language_id = $defaultLangId
$queryDefaultLang = "DELETE FROM ezcobj_state_group_language
WHERE contentobject_state_group_id={$groupId}
示例13: foreach
default:
$limit = 10;
break;
}
$languages = eZContentLanguage::fetchList();
$tpl = eZTemplate::factory();
eZDebug::writeDebug($Module->currentAction());
if ($Module->isCurrentAction('Remove') && $Module->hasActionParameter('RemoveIDList')) {
$removeIDList = $Module->actionParameter('RemoveIDList');
foreach ($removeIDList as $removeID) {
$group = eZContentObjectStateGroup::fetchById($removeID);
if ($group && !$group->isInternal()) {
eZContentObjectStateGroup::removeByID($removeID);
}
}
} else {
if ($Module->isCurrentAction('Create')) {
return $Module->redirectTo('state/group_edit');
}
}
$groups = eZContentObjectStateGroup::fetchByOffset($limit, $offset);
$groupCount = eZPersistentObject::count(eZContentObjectStateGroup::definition());
$viewParameters = array('offset' => $offset);
$tpl->setVariable('limit', $limit);
$tpl->setVariable('list_limit_preference_name', $listLimitPreferenceName);
$tpl->setVariable('list_limit_preference_value', $listLimitPreferenceValue);
$tpl->setVariable('groups', $groups);
$tpl->setVariable('group_count', $groupCount);
$tpl->setVariable('view_parameters', $viewParameters);
$tpl->setVariable('languages', $languages);
$Result = array('content' => $tpl->fetch('design:state/groups.tpl'), 'path' => array(array('url' => false, 'text' => ezpI18n::tr('kernel/state', 'State')), array('url' => false, 'text' => ezpI18n::tr('kernel/state', 'Groups'))));