本文整理汇总了PHP中eZContentObjectTreeNode::createGroupBySQLStrings方法的典型用法代码示例。如果您正苦于以下问题:PHP eZContentObjectTreeNode::createGroupBySQLStrings方法的具体用法?PHP eZContentObjectTreeNode::createGroupBySQLStrings怎么用?PHP eZContentObjectTreeNode::createGroupBySQLStrings使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类eZContentObjectTreeNode
的用法示例。
在下文中一共展示了eZContentObjectTreeNode::createGroupBySQLStrings方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: calendar
static function calendar($params = false, $nodeID = 0)
{
if (!is_numeric($nodeID) and !is_array($nodeID)) {
return array();
}
if ($params === false) {
$params = array('Depth' => false, 'Offset' => false, 'Limit' => false, 'AttributeFilter' => false, 'ExtendedAttributeFilter' => false, 'ClassFilterType' => false, 'ClassFilterArray' => false, 'GroupBy' => false);
}
$offset = isset($params['Offset']) && is_numeric($params['Offset']) ? $params['Offset'] : false;
$limit = isset($params['Limit']) && is_numeric($params['Limit']) ? $params['Limit'] : false;
$depth = isset($params['Depth']) && is_numeric($params['Depth']) ? $params['Depth'] : false;
$depthOperator = isset($params['DepthOperator']) ? $params['DepthOperator'] : false;
$groupBy = isset($params['GroupBy']) ? $params['GroupBy'] : false;
$mainNodeOnly = isset($params['MainNodeOnly']) ? $params['MainNodeOnly'] : false;
$ignoreVisibility = isset($params['IgnoreVisibility']) ? $params['IgnoreVisibility'] : false;
if (!isset($params['ClassFilterType'])) {
$params['ClassFilterType'] = false;
}
$classCondition = eZContentObjectTreeNode::createClassFilteringSQLString($params['ClassFilterType'], $params['ClassFilterArray']);
$attributeFilter = eZContentObjectTreeNode::createAttributeFilterSQLStrings($params['AttributeFilter'], $sortingInfo);
$extendedAttributeFilter = eZContentObjectTreeNode::createExtendedAttributeFilterSQLStrings($params['ExtendedAttributeFilter']);
$mainNodeOnlyCond = eZContentObjectTreeNode::createMainNodeConditionSQLString($mainNodeOnly);
$pathStringCond = '';
$notEqParentString = '';
eZContentObjectTreeNode::createPathConditionAndNotEqParentSQLStrings($pathStringCond, $notEqParentString, $nodeID, $depth, $depthOperator);
$groupBySelectText = '';
$groupBySQL = $extendedAttributeFilter['group_by'];
if (!$groupBySQL) {
eZContentObjectTreeNode::createGroupBySQLStrings($groupBySelectText, $groupBySQL, $groupBy);
} else {
if ($groupBy) {
eZDebug::writeError("Cannot use group_by parameter together with extended attribute filter which sets group_by!", __METHOD__);
}
}
$limitation = isset($params['Limitation']) && is_array($params['Limitation']) ? $params['Limitation'] : false;
$limitationList = eZContentObjectTreeNode::getLimitationList($limitation);
$sqlPermissionChecking = eZContentObjectTreeNode::createPermissionCheckingSQL($limitationList);
// Determine whether we should show invisible nodes.
$showInvisibleNodesCond = eZContentObjectTreeNode::createShowInvisibleSQLString(!$ignoreVisibility);
$query = "SELECT DISTINCT\n ezcontentobject.published as published\n {$groupBySelectText}\n FROM\n ezcontentobject_tree\n INNER JOIN ezcontentobject ON (ezcontentobject.id = ezcontentobject_tree.contentobject_id)\n INNER JOIN ezcontentclass ON (ezcontentclass.id = ezcontentobject.contentclass_id)\n INNER JOIN ezcontentobject_name ON (\n ezcontentobject_name.contentobject_id = ezcontentobject_tree.contentobject_id AND\n ezcontentobject_name.content_version = ezcontentobject_tree.contentobject_version\n )\n\n {$attributeFilter['from']}\n {$extendedAttributeFilter['tables']}\n {$sqlPermissionChecking['from']}\n WHERE\n {$pathStringCond}\n {$extendedAttributeFilter['joins']}\n {$attributeFilter['where']}\n ezcontentclass.version = 0 AND\n {$notEqParentString}\n {$mainNodeOnlyCond}\n {$classCondition}\n " . eZContentLanguage::sqlFilter('ezcontentobject_name', 'ezcontentobject') . "\n {$showInvisibleNodesCond}\n {$sqlPermissionChecking['where']}\n {$groupBySQL}";
$db = eZDB::instance();
$server = count($sqlPermissionChecking['temp_tables']) > 0 ? eZDBInterface::SERVER_SLAVE : false;
if (!$offset && !$limit) {
$nodeListArray = $db->arrayQuery($query, array(), $server);
} else {
$nodeListArray = $db->arrayQuery($query, array('offset' => $offset, 'limit' => $limit), $server);
}
// cleanup temp tables
$db->dropTempTableList($sqlPermissionChecking['temp_tables']);
return $nodeListArray;
}
示例2: calendar
static function calendar( $params = false, $nodeID = 0 )
{
if ( !is_numeric( $nodeID ) and !is_array( $nodeID ) )
{
return array();
}
if ( $params === false )
{
$params = array( 'Depth' => false,
'Offset' => false,
'Limit' => false,
'AttributeFilter' => false,
'ExtendedAttributeFilter' => false,
'ClassFilterType' => false,
'ClassFilterArray' => false,
'GroupBy' => false );
}
$offset = ( isset( $params['Offset'] ) && is_numeric( $params['Offset'] ) ) ? $params['Offset'] : false;
$limit = ( isset( $params['Limit'] ) && is_numeric( $params['Limit'] ) ) ? $params['Limit'] : false;
$depth = ( isset( $params['Depth'] ) && is_numeric( $params['Depth'] ) ) ? $params['Depth'] : false;
$depthOperator = ( isset( $params['DepthOperator'] ) ) ? $params['DepthOperator'] : false;
$groupBy = ( isset( $params['GroupBy'] ) ) ? $params['GroupBy'] : false;
$mainNodeOnly = ( isset( $params['MainNodeOnly'] ) ) ? $params['MainNodeOnly'] : false;
$ignoreVisibility = ( isset( $params['IgnoreVisibility'] ) ) ? $params['IgnoreVisibility'] : false;
if ( !isset( $params['ClassFilterType'] ) )
$params['ClassFilterType'] = false;
$classCondition = eZContentObjectTreeNode::createClassFilteringSQLString( $params['ClassFilterType'], $params['ClassFilterArray'] );
$attributeFilter = eZContentObjectTreeNode::createAttributeFilterSQLStrings( $params['AttributeFilter'], $sortingInfo );
$extendedAttributeFilter = eZContentObjectTreeNode::createExtendedAttributeFilterSQLStrings( $params['ExtendedAttributeFilter'] );
$mainNodeOnlyCond = eZContentObjectTreeNode::createMainNodeConditionSQLString( $mainNodeOnly );
$pathStringCond = '';
$notEqParentString = '';
eZContentObjectTreeNode::createPathConditionAndNotEqParentSQLStrings( $pathStringCond, $notEqParentString, $nodeID, $depth, $depthOperator );
$groupBySelectText = '';
$groupBySQL = $extendedAttributeFilter['group_by'];
if ( !$groupBySQL )
{
eZContentObjectTreeNode::createGroupBySQLStrings( $groupBySelectText, $groupBySQL, $groupBy );
}
else if ( $groupBy )
{
eZDebug::writeError( "Cannot use group_by parameter together with extended attribute filter which sets group_by!", __METHOD__ );
}
$useVersionName = true;
$versionNameTables = eZContentObjectTreeNode::createVersionNameTablesSQLString( $useVersionName );
$versionNameJoins = eZContentObjectTreeNode::createVersionNameJoinsSQLString( $useVersionName, false );
$limitation = ( isset( $params['Limitation'] ) && is_array( $params['Limitation'] ) ) ? $params['Limitation']: false;
$limitationList = eZContentObjectTreeNode::getLimitationList( $limitation );
$sqlPermissionChecking = eZContentObjectTreeNode::createPermissionCheckingSQL( $limitationList );
// Determine whether we should show invisible nodes.
$showInvisibleNodesCond = eZContentObjectTreeNode::createShowInvisibleSQLString( !$ignoreVisibility );
$query = "SELECT DISTINCT
ezcontentobject.published as published
$groupBySelectText
FROM
ezcontentobject_tree,
ezcontentobject,ezcontentclass
$versionNameTables
$attributeFilter[from]
$extendedAttributeFilter[tables]
$sqlPermissionChecking[from]
WHERE
$pathStringCond
$extendedAttributeFilter[joins]
$attributeFilter[where]
ezcontentclass.version=0
AND
$notEqParentString
$mainNodeOnlyCond
ezcontentobject_tree.contentobject_id = ezcontentobject.id AND
ezcontentclass.id = ezcontentobject.contentclass_id AND
$classCondition
$versionNameJoins
$showInvisibleNodesCond
$sqlPermissionChecking[where]
$groupBySQL";
$db = eZDB::instance();
$server = count( $sqlPermissionChecking['temp_tables'] ) > 0 ? eZDBInterface::SERVER_SLAVE : false;
if ( !$offset && !$limit )
{
$nodeListArray = $db->arrayQuery( $query, array(), $server );
}
else
{
$nodeListArray = $db->arrayQuery( $query, array( 'offset' => $offset,
'limit' => $limit ),
$server );
//.........这里部分代码省略.........