本文整理汇总了PHP中ModUtil::initOOModule方法的典型用法代码示例。如果您正苦于以下问题:PHP ModUtil::initOOModule方法的具体用法?PHP ModUtil::initOOModule怎么用?PHP ModUtil::initOOModule使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ModUtil
的用法示例。
在下文中一共展示了ModUtil::initOOModule方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: display
/**
* Display the block.
*
* @param array $blockinfo the blockinfo structure
*
* @return string output of the rendered block
*/
public function display($blockinfo)
{
// only show block content if the user has the required permissions
if (!SecurityUtil::checkPermission('Reviews:ModerationBlock:', "{$blockinfo['title']}::", ACCESS_OVERVIEW)) {
return false;
}
// check if the module is available at all
if (!ModUtil::available('Reviews')) {
return false;
}
if (!UserUtil::isLoggedIn()) {
return false;
}
ModUtil::initOOModule('Reviews');
$this->view->setCaching(Zikula_View::CACHE_DISABLED);
$template = $this->getDisplayTemplate($vars);
$workflowHelper = new Reviews_Util_Workflow($this->serviceManager);
$amounts = $workflowHelper->collectAmountOfModerationItems();
// assign block vars and fetched data
$this->view->assign('moderationObjects', $amounts);
// set a block title
if (empty($blockinfo['title'])) {
$blockinfo['title'] = $this->__('Moderation');
}
$blockinfo['content'] = $this->view->fetch($template);
// return the block to the theme
return BlockUtil::themeBlock($blockinfo);
}
示例2: delete
/**
* Listener for the `user.account.delete` event.
*
* Occurs after a user is deleted from the system.
* All handlers are notified.
* The full user record deleted is available as the subject.
* This is a storage-level event, not a UI event. It should not be used for UI-level actions such as redirects.
* The subject of the event is set to the user record that is being deleted.
*
* @param Zikula_Event $event The event instance.
*/
public static function delete(Zikula_Event $event)
{
ModUtil::initOOModule('Reviews');
$userRecord = $event->getSubject();
$uid = $userRecord['uid'];
$serviceManager = ServiceUtil::getManager();
$entityManager = $serviceManager->getService('doctrine.entitymanager');
$repo = $entityManager->getRepository('Reviews_Entity_Review');
// delete all reviews created by this user
$repo->deleteCreator($uid);
// note you could also do: $repo->updateCreator($uid, 2);
// set last editor to admin (2) for all reviews updated by this user
$repo->updateLastEditor($uid, 2);
// note you could also do: $repo->deleteLastEditor($uid);
}
示例3: display
public function display()
{
$dom = ZLanguage::getModuleDomain('MUBoard');
ModUtil::initOOModule('MUBoard');
$serviceManager = ServiceUtil::getManager();
$entityManager = $serviceManager->getService('doctrine.entitymanager');
$repository = $entityManager->getRepository('MUBoard_Entity_' . ucfirst($this->objectType));
$idFields = ModUtil::apiFunc('MUBoard', 'selection', 'getIdFields', array('ot' => $objectType));
$sortParam = '';
if ($this->sorting == 'random') {
$sortParam = 'RAND()';
} elseif ($this->sorting == 'newest') {
if (count($idFields) == 1) {
$sortParam = $idFields[0] . ' DESC';
} else {
foreach ($idFields as $idField) {
if (!empty($sortParam)) {
$sortParam .= ', ';
}
$sortParam .= $idField . ' ASC';
}
}
} elseif ($this->sorting == 'default') {
$sortParam = $repository->getDefaultSortingField() . ' ASC';
}
$resultsPerPage = $this->amount ? $this->amount : 1;
// get objects from database
$selectionArgs = array('ot' => $objectType, 'where' => $this->filter, 'orderBy' => $sortParam, 'currentPage' => 1, 'resultsPerPage' => $resultsPerPage);
list($entities, $objectCount) = ModUtil::apiFunc('MUBoard', 'selection', 'getEntitiesPaginated', $selectionArgs);
$this->view->setCaching(true);
$data = array('objectType' => $this->objectType, 'sorting' => $this->sorting, 'amount' => $this->amount, 'filter' => $this->filter, 'template' => $this->template);
// assign block vars and fetched data
$this->view->assign('vars', $data)->assign('objectType', $this->objectType)->assign('items', $entities)->assign($repository->getAdditionalTemplateParameters('contentType'));
$output = '';
if (!empty($this->template) && $this->view->template_exists('contenttype/' . $this->template)) {
$output = $this->view->fetch('contenttype/' . $this->template);
}
$templateForObjectType = str_replace('itemlist_', 'itemlist_' . ucwords($this->objectType) . '_', $this->template);
if ($this->view->template_exists('contenttype/' . $templateForObjectType)) {
$output = $this->view->fetch('contenttype/' . $templateForObjectType);
} elseif ($this->view->template_exists('contenttype/' . $this->template)) {
$output = $this->view->fetch('contenttype/' . $this->template);
} else {
$output = $this->view->fetch('contenttype/itemlist_display.tpl');
}
return $output;
}
示例4: delete
/**
* Listener for the `user.account.delete` event.
*
* Occurs after a user is deleted from the system.
* All handlers are notified.
* The full user record deleted is available as the subject.
* This is a storage-level event, not a UI event. It should not be used for UI-level actions such as redirects.
* The subject of the event is set to the user record that is being deleted.
*
* @param Zikula_Event $event The event instance.
*/
public static function delete(Zikula_Event $event)
{
ModUtil::initOOModule('MUVideo');
$userRecord = $event->getSubject();
$uid = $userRecord['uid'];
$serviceManager = ServiceUtil::getManager();
$entityManager = $serviceManager->getService('doctrine.entitymanager');
$repo = $entityManager->getRepository('MUVideo_Entity_Collection');
// set creator to admin (2) for all collections created by this user
$repo->updateCreator($uid, 2);
// set last editor to admin (2) for all collections updated by this user
$repo->updateLastEditor($uid, 2);
$repo = $entityManager->getRepository('MUVideo_Entity_Movie');
// set creator to admin (2) for all movies created by this user
$repo->updateCreator($uid, 2);
// set last editor to admin (2) for all movies updated by this user
$repo->updateLastEditor($uid, 2);
}
示例5: getContent
/**
* Returns the content for a given Mailz plugin.
*
* @param array $args List of arguments.
* @param int $args['pluginid'] id number of plugin (internal id for this module, see getPlugins method).
* @param string $args['params'] optional, show specific one or all otherwise.
* @param int $args['uid'] optional, user id for user specific content.
* @param string $args['contenttype'] h or t for html or text.
* @param datetime $args['last'] timestamp of last newsletter.
*
* @return string output of plugin template.
*/
public function getContent(array $args = array())
{
ModUtil::initOOModule('Reviews');
// $args is something like:
// Array ( [uid] => 5 [contenttype] => h [pluginid] => 1 [nid] => 1 [last] => 0000-00-00 00:00:00 [params] => Array ( [] => ) ) 1
$objectType = 'review';
$entityClass = 'Reviews_Entity_' . ucwords($objectType);
$serviceManager = ServiceUtil::getManager();
$entityManager = $serviceManager->getService('doctrine.entitymanager');
$repository = $entityManager->getRepository($entityClass);
$idFields = ModUtil::apiFunc('Reviews', 'selection', 'getIdFields', array('ot' => $objectType));
$sortParam = '';
if ($args['pluginid'] == 2) {
$sortParam = 'RAND()';
} elseif ($args['pluginid'] == 1) {
if (count($idFields) == 1) {
$sortParam = $idFields[0] . ' DESC';
} else {
foreach ($idFields as $idField) {
if (!empty($sortParam)) {
$sortParam .= ', ';
}
$sortParam .= $idField . ' ASC';
}
}
}
$where = '';
$resultsPerPage = 3;
// get objects from database
$selectionArgs = array('ot' => $objectType, 'where' => $where, 'orderBy' => $sortParam, 'currentPage' => 1, 'resultsPerPage' => $resultsPerPage);
list($entities, $objectCount) = ModUtil::apiFunc('Reviews', 'selection', 'getEntitiesPaginated', $selectionArgs);
$view = Zikula_View::getInstance('Reviews', true);
//$data = array('sorting' => $this->sorting, 'amount' => $this->amount, 'filter' => $this->filter, 'template' => $this->template);
//$view->assign('vars', $data);
$view->assign('objectType', $objectType)->assign('items', $entities)->assign($repository->getAdditionalTemplateParameters('api', array('name' => 'mailz')));
if ($args['contenttype'] == 't') {
/* text */
return $view->fetch('mailz/itemlist_review_text.tpl');
} else {
//return $view->fetch('contenttype/itemlist_display.html');
return $view->fetch('mailz/itemlist_review_html.tpl');
}
}
示例6: display
/**
* Displays the data.
*
* @return string The returned output.
*/
public function display()
{
$dom = ZLanguage::getModuleDomain('MUVideo');
ModUtil::initOOModule('MUVideo');
$entityClass = 'MUVideo_Entity_' . ucfirst($this->objectType);
$serviceManager = ServiceUtil::getManager();
$entityManager = $serviceManager->getService('doctrine.entitymanager');
$repository = $entityManager->getRepository($entityClass);
// ensure that the view does not look for templates in the Content module (#218)
$this->view->toplevelmodule = 'MUVideo';
$this->view->setCaching(Zikula_View::CACHE_ENABLED);
// set cache id
$component = 'MUVideo:' . ucfirst($this->objectType) . ':';
$instance = '::';
$accessLevel = ACCESS_READ;
if (SecurityUtil::checkPermission($component, $instance, ACCESS_COMMENT)) {
$accessLevel = ACCESS_COMMENT;
}
if (SecurityUtil::checkPermission($component, $instance, ACCESS_EDIT)) {
$accessLevel = ACCESS_EDIT;
}
$this->view->setCacheId('view|ot_' . $this->objectType . '_sort_' . $this->sorting . '_amount_' . $this->amount . '_' . $accessLevel);
$template = $this->getDisplayTemplate();
// if page is cached return cached content
if ($this->view->is_cached($template)) {
return $this->view->fetch($template);
}
// create query
$where = $this->filter;
$orderBy = $this->getSortParam($repository);
$qb = $repository->genericBaseQuery($where, $orderBy);
// apply category filters
if (in_array($this->objectType, $this->categorisableObjectTypes)) {
if (is_array($this->catIds) && count($this->catIds) > 0) {
$qb = ModUtil::apiFunc('MUVideo', 'category', 'buildFilterClauses', array('qb' => $qb, 'ot' => $this->objectType, 'catids' => $this->catIds));
}
}
// get objects from database
$currentPage = 1;
$resultsPerPage = isset($this->amount) ? $this->amount : 1;
list($query, $count) = $repository->getSelectWherePaginatedQuery($qb, $currentPage, $resultsPerPage);
$entities = $repository->retrieveCollectionResult($query, $orderBy, true);
$data = array('objectType' => $this->objectType, 'catids' => $this->catIds, 'sorting' => $this->sorting, 'amount' => $this->amount, 'template' => $this->template, 'customTemplate' => $this->customTemplate, 'filter' => $this->filter);
// assign block vars and fetched data
$this->view->assign('vars', $data)->assign('objectType', $this->objectType)->assign('items', $entities)->assign($repository->getAdditionalTemplateParameters('contentType'));
// assign category data
$this->view->assign('registries', $this->catRegistries);
$this->view->assign('properties', $this->catProperties);
$output = $this->view->fetch($template);
return $output;
}
示例7: getPluginData
/**
* Returns data for the Newsletter plugin.
*
* @param datetime $filtAfterDate Optional date filter (items should be newer), format yyyy-mm-dd hh:mm:ss or null if not set
*
* @return array List of affected content items.
*/
public function getPluginData($filtAfterDate = null)
{
if (!$this->pluginAvailable()) {
return array();
}
ModUtil::initOOModule($this->modname);
// collect data for each activated object type
$itemsGrouped = $this->getItemsPerObjectType($filtAfterDate);
// now flatten for presentation
$items = array();
if ($itemsGrouped) {
foreach ($itemsGrouped as $objectTypes => $itemList) {
foreach ($itemList as $item) {
$items[] = $item;
}
}
}
return $items;
}
示例8: display
/**
* Display the block
*
* @param array $blockinfo a blockinfo structure
* @return output the rendered block
*/
public function display($blockinfo)
{
// only show block content if the user has the required permissions
if (!SecurityUtil::checkPermission('MUBoard:ItemListBlock:', "{$blockinfo['title']}::", ACCESS_OVERVIEW)) {
return false;
}
// check if the module is available at all
if (!ModUtil::available('MUBoard')) {
return false;
}
// get current block content
$vars = BlockUtil::varsFromContent($blockinfo['content']);
$vars['bid'] = $blockinfo['bid'];
// set default values for all params which are not properly set
if (!isset($vars['objectType']) || empty($vars['objectType'])) {
$vars['objectType'] = 'category';
}
if (!isset($vars['sorting']) || empty($vars['sorting'])) {
$vars['sorting'] = 'default';
}
if (!isset($vars['amount']) || !is_numeric($vars['amount'])) {
$vars['amount'] = 5;
}
if (!isset($vars['template'])) {
$vars['template'] = 'itemlist_' . ucwords($vars['objectType']) . '_display.tpl';
}
if (!isset($vars['filter'])) {
$vars['filter'] = '';
}
ModUtil::initOOModule('MUBoard');
if (!isset($vars['objectType']) || !in_array($vars['objectType'], MUBoard_Util_Controller::getObjectTypes('block'))) {
$vars['objectType'] = MUBoard_Util_Controller::getDefaultObjectType('block');
}
$objectType = $vars['objectType'];
$serviceManager = ServiceUtil::getManager();
$entityManager = $serviceManager->getService('doctrine.entitymanager');
$repository = $entityManager->getRepository('MUBoard_Entity_' . ucfirst($objectType));
$idFields = ModUtil::apiFunc('MUBoard', 'selection', 'getIdFields', array('ot' => $objectType));
$sortParam = '';
if ($vars['sorting'] == 'random') {
$sortParam = 'RAND()';
} elseif ($vars['sorting'] == 'newest') {
if (count($idFields) == 1) {
$sortParam = $idFields[0] . ' DESC';
} else {
foreach ($idFields as $idField) {
if (!empty($sortParam)) {
$sortParam .= ', ';
}
$sortParam .= $idField . ' ASC';
}
}
} elseif ($vars['sorting'] == 'default') {
$sortParam = $repository->getDefaultSortingField() . ' ASC';
}
// get objects from database
$selectionArgs = array('ot' => $objectType, 'where' => $vars['filter'], 'orderBy' => $sortParam, 'currentPage' => 1, 'resultsPerPage' => $vars['amount']);
list($entities, $objectCount) = ModUtil::apiFunc('MUBoard', 'selection', 'getEntitiesPaginated', $selectionArgs);
$this->view->setCaching(true);
// assign block vars and fetched data
$this->view->assign('vars', $vars)->assign('objectType', $objectType)->assign('items', $entities)->assign($repository->getAdditionalTemplateParameters('block'));
// set a block title
if (empty($blockinfo['title'])) {
$blockinfo['title'] = $this->__('MUBoard items');
}
$output = '';
$templateForObjectType = str_replace('itemlist_', 'itemlist_' . ucwords($objectType) . '_', $vars['template']);
if ($this->view->template_exists('contenttype/' . $templateForObjectType)) {
$output = $this->view->fetch('contenttype/' . $templateForObjectType);
} elseif ($this->view->template_exists('contenttype/' . $vars['template'])) {
$output = $this->view->fetch('contenttype/' . $vars['template']);
} elseif ($this->view->template_exists('block/' . $templateForObjectType)) {
$output = $this->view->fetch('block/' . $templateForObjectType);
} elseif ($this->view->template_exists('block/' . $vars['template'])) {
$output = $this->view->fetch('block/' . $vars['template']);
} else {
$output = $this->view->fetch('block/itemlist.tpl');
}
$blockinfo['content'] = $output;
// return the block to the theme
return BlockUtil::themeBlock($blockinfo);
}
示例9: display
/**
* Display the block.
*
* @param array $blockinfo the blockinfo structure
*
* @return string output of the rendered block
*/
public function display($blockinfo)
{
// only show block content if the user has the required permissions
if (!SecurityUtil::checkPermission('MUVideo:ItemListBlock:', "{$blockinfo['title']}::", ACCESS_OVERVIEW)) {
return false;
}
// check if the module is available at all
if (!ModUtil::available('MUVideo')) {
return false;
}
// get current block content
$vars = BlockUtil::varsFromContent($blockinfo['content']);
$vars['bid'] = $blockinfo['bid'];
// set default values for all params which are not properly set
if (!isset($vars['objectType']) || empty($vars['objectType'])) {
$vars['objectType'] = 'collection';
}
if (!isset($vars['sorting']) || empty($vars['sorting'])) {
$vars['sorting'] = 'default';
}
if (!isset($vars['amount']) || !is_numeric($vars['amount'])) {
$vars['amount'] = 5;
}
if (!isset($vars['template'])) {
$vars['template'] = 'itemlist_' . DataUtil::formatForOS($vars['objectType']) . '_display.tpl';
}
if (!isset($vars['customTemplate'])) {
$vars['customTemplate'] = '';
}
if (!isset($vars['filter'])) {
$vars['filter'] = '';
}
if (!isset($vars['catIds'])) {
$primaryRegistry = ModUtil::apiFunc('MUVideo', 'category', 'getPrimaryProperty', array('ot' => $vars['objectType']));
$vars['catIds'] = array($primaryRegistry => array());
// backwards compatibility
if (isset($vars['catId'])) {
$vars['catIds'][$primaryRegistry][] = $vars['catId'];
unset($vars['catId']);
}
} elseif (!is_array($vars['catIds'])) {
$vars['catIds'] = explode(',', $vars['catIds']);
}
ModUtil::initOOModule('MUVideo');
$controllerHelper = new MUVideo_Util_Controller($this->serviceManager);
$utilArgs = array('name' => 'list');
if (!isset($vars['objectType']) || !in_array($vars['objectType'], $controllerHelper->getObjectTypes('block', $utilArgs))) {
$vars['objectType'] = $controllerHelper->getDefaultObjectType('block', $utilArgs);
}
$objectType = $vars['objectType'];
$entityClass = 'MUVideo_Entity_' . ucfirst($objectType);
$entityManager = $this->serviceManager->getService('doctrine.entitymanager');
$repository = $entityManager->getRepository($entityClass);
$this->view->setCaching(Zikula_View::CACHE_ENABLED);
// set cache id
$component = 'MUVideo:' . ucfirst($objectType) . ':';
$instance = '::';
$accessLevel = ACCESS_READ;
if (SecurityUtil::checkPermission($component, $instance, ACCESS_COMMENT)) {
$accessLevel = ACCESS_COMMENT;
}
if (SecurityUtil::checkPermission($component, $instance, ACCESS_EDIT)) {
$accessLevel = ACCESS_EDIT;
}
$this->view->setCacheId('view|ot_' . $objectType . '_sort_' . $vars['sorting'] . '_amount_' . $vars['amount'] . '_' . $accessLevel);
$template = $this->getDisplayTemplate($vars);
// if page is cached return cached content
if ($this->view->is_cached($template)) {
$blockinfo['content'] = $this->view->fetch($template);
return BlockUtil::themeBlock($blockinfo);
}
// create query
$where = $vars['filter'];
$orderBy = $this->getSortParam($vars, $repository);
$qb = $repository->genericBaseQuery($where, $orderBy);
$properties = null;
if (in_array($vars['objectType'], $this->categorisableObjectTypes)) {
$properties = ModUtil::apiFunc('MUVideo', 'category', 'getAllProperties', array('ot' => $objectType));
}
// apply category filters
if (in_array($objectType, $this->categorisableObjectTypes)) {
if (is_array($vars['catIds']) && count($vars['catIds']) > 0) {
$qb = ModUtil::apiFunc('MUVideo', 'category', 'buildFilterClauses', array('qb' => $qb, 'ot' => $objectType, 'catids' => $vars['catIds']));
}
}
// get objects from database
$currentPage = 1;
$resultsPerPage = $vars['amount'];
list($query, $count) = $repository->getSelectWherePaginatedQuery($qb, $currentPage, $resultsPerPage);
$entities = $repository->retrieveCollectionResult($query, $orderBy, true);
// assign block vars and fetched data
$this->view->assign('vars', $vars)->assign('objectType', $objectType)->assign('items', $entities)->assign($repository->getAdditionalTemplateParameters('block'));
// assign category properties
//.........这里部分代码省略.........