本文整理汇总了PHP中umiObjectTypesCollection::getInstance方法的典型用法代码示例。如果您正苦于以下问题:PHP umiObjectTypesCollection::getInstance方法的具体用法?PHP umiObjectTypesCollection::getInstance怎么用?PHP umiObjectTypesCollection::getInstance使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类umiObjectTypesCollection
的用法示例。
在下文中一共展示了umiObjectTypesCollection::getInstance方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: process
public function process($template = null)
{
list($tpl_block, $tpl_item) = def_module::loadTemplates("emarket/payment/invoice/" . $template, 'legal_person_block', 'legal_person_item');
$collection = umiObjectsCollection::getInstance();
$types = umiObjectTypesCollection::getInstance();
$typeId = $types->getBaseType("emarket", "legal_person");
$customer = customer::get();
$order = $this->order;
$mode = getRequest('param2');
if ($mode == 'do') {
$personId = getRequest('legal-person');
$isNew = $personId == null || $personId == 'new';
if ($isNew) {
$typeId = $types->getBaseType("emarket", "legal_person");
$personId = $collection->addObject("", $typeId);
$controller = cmsController::getInstance();
$data = getRequest('data');
if ($data && ($dataModule = $controller->getModule("data"))) {
$person = $collection->getObject($personId);
$person->setName($data['new']['name']);
$dataModule->saveEditedObject($personId, $isNew, true);
}
if ($collection->getObject($personId) instanceof umiObject) {
$customer = customer::get();
$customer->legal_persons = array_merge($customer->legal_persons, array($personId));
}
}
$order->legal_person = $personId;
$order->order();
$order->payment_document_num = $order->id;
$result = $this->printInvoice($order);
$buffer = outputBuffer::current();
$buffer->charset('utf-8');
$buffer->contentType('text/html');
$buffer->clear();
$buffer->push($result);
$buffer->end();
return true;
} else {
if ($mode == 'delete') {
$personId = (int) getRequest('person-id');
if ($collection->isExists($personId)) {
$customer = customer::get();
$customer->legal_persons = array_diff($customer->legal_persons, array($personId));
$collection->delObject($personId);
}
}
}
$items = array();
$persons = $customer->legal_persons;
if (is_array($persons)) {
foreach ($persons as $personId) {
$person = $collection->getObject($personId);
$item_arr = array('attribute:id' => $personId, 'attribute:name' => $person->name);
$items[] = def_module::parseTemplate($tpl_item, $item_arr, false, $personId);
}
}
$block_arr = array('attribute:type-id' => $typeId, 'attribute:type_id' => $typeId, 'xlink:href' => 'udata://data/getCreateForm/' . $typeId, 'subnodes:items' => $items);
return def_module::parseTemplate($tpl_block, $block_arr);
}
示例2: json_delete_group
public function json_delete_group()
{
$group_id = (int) getRequest('param0');
$type_id = (int) getRequest('param1');
umiObjectTypesCollection::getInstance()->getType($type_id)->delFieldsGroup($group_id);
$this->flush("");
}
示例3: onAddTopicToDispatch
public function onAddTopicToDispatch(iUmiEventPoint $oEvent)
{
$iDispatchId = regedit::getInstance()->getVal("//modules/forum/dispatch_id");
if (!$iDispatchId) {
return false;
}
$dispatches_module = cmsController::getInstance()->getModule('dispatches');
if (!$dispatches_module) {
return false;
}
$iTopicId = (int) $oEvent->getParam('topic_id');
$oTopicElement = umiHierarchy::getInstance()->getElement($iTopicId);
if ($oTopicElement instanceof umiHierarchyElement) {
$sTitle = (string) getRequest('title');
$sMessage = (string) getRequest('body');
$iHierarchyTypeId = umiHierarchyTypesCollection::getInstance()->getTypeByName("dispatches", "message")->getId();
$iMsgTypeId = umiObjectTypesCollection::getInstance()->getTypeByHierarchyTypeId($iHierarchyTypeId);
$oMsgType = umiObjectTypesCollection::getInstance()->getType($iMsgTypeId);
$iMsgObjId = umiObjectsCollection::getInstance()->addObject($sTitle, $iMsgTypeId);
$oMsgObj = umiObjectsCollection::getInstance()->getObject($iMsgObjId);
if ($oMsgObj instanceof umiObject) {
$iReleaseId = $dispatches_module->getNewReleaseInstanceId($iDispatchId);
$oMsgObj->setValue('release_reference', $iReleaseId);
$oMsgObj->setValue('header', $sTitle);
$oMsgObj->setValue('body', $sMessage);
$oMsgObj->commit();
return true;
} else {
return false;
}
} else {
return false;
}
}
示例4: onModifyObject
public function onModifyObject(iUmiEventPoint $event) {
static $modifiedCache = array();
$object = $event->getRef("object");
$typeId = umiObjectTypesCollection::getInstance()->getBaseType('emarket', 'order');
if($object->getTypeId() != $typeId) return;
if($event->getMode() == "before") {
$data = getRequest("data");
$id = $object->getId();
$newOrderStatus = getArrayKey($data[$id], 'status_id');
$newPaymentStatus = getArrayKey($data[$id], 'payment_status_id');
$newDeliveryStatus = getArrayKey($data[$id], 'delivery_status_id');
switch(true) {
case ($newOrderStatus != $object->getValue("status_id") ) : $modifiedCache[$object->getId()] = "status_id"; break;
case ($newDeliveryStatus != $object->getValue("delivery_status_id")) : $modifiedCache[$object->getId()] = "delivery_status_id"; break;
case ($newPaymentStatus != $object->getValue("payment_status_id") ) : $modifiedCache[$object->getId()] = "payment_status_id"; break;
}
} else {
if(isset($modifiedCache[$object->getId()])) {
if ($modifiedCache[$object->getId()] == 'payment_status_id' && $object->getValue("payment_status_id") == order::getStatusByCode('accepted', 'order_payment_status')) {
self::addBonus($object->getId());
}
if ($modifiedCache[$object->getId()] == 'status_id' && ($object->getValue("status_id") == order::getStatusByCode('canceled') || $object->getValue("status_id") == order::getStatusByCode('rejected'))) {
self::returnBonus($object->getId());
}
$this->notifyOrderStatusChange(order::get($object->getId()), $modifiedCache[$object->getId()]);
}
}
}
示例5: systemEventsNotify
public function systemEventsNotify(iUmiEventPoint $event)
{
$eventId = $event->getEventId();
$titleLabel = $titleLabel = 'event-' . $eventId . '-title';
$contentLabel = 'event-' . $eventId . '-content';
$title = getLabel($titleLabel, 'common/content/config');
$content = getLabel($contentLabel, 'common/content/config');
if ($titleLabel == $title) {
return;
}
if ($element = $event->getRef('element')) {
$hierarchy = umiHierarchy::getInstance();
$oldbForce = $hierarchy->forceAbsolutePath(true);
$params = array('%page-name%' => $element->name, '%page-link%' => $element->link);
$hierarchy->forceAbsolutePath($oldbForce);
} else {
$params = array();
}
if ($object = $event->getRef('object')) {
$params['%object-name%'] = $object->name;
$objectTypes = umiObjectTypesCollection::getInstance();
$objectType = $objectTypes->getType($object->getTypeId());
if ($hierarchyTypeId = $objectType->getHierarchyTypeId()) {
$hierarchyTypes = umiHierarchyTypesCollection::getInstance();
$hierarchyType = $hierarchyTypes->getType($hierarchyTypeId);
$params['%object-type%'] = $hierarchyType->getTitle();
}
}
$title = str_replace(array_keys($params), array_values($params), $title);
$content = str_replace(array_keys($params), array_values($params), $content);
$this->dispatchSystemEvent($title, $content);
}
示例6: create
/**
* Создать новый товар для заказа.
* Выбор класса осуществляется следующим образом:
* 1. берется элемент $elementId - товар каталога
* 2. у него берется значение свойства "item_type_id" ("Тип товара"), которое является справочником
* 3. у него в свою очередь берется свойство "class_name", по которому определяется необходимый класс
* Если тип не указан, то используется класс orderItem.
* @param Integer $elementId
* @param Integer|Boolean $storeId = false id склада, на котором находится товар
* @return orderItem товар в заказе (объект класса orderItem или его наследнка)
*/
public static function create($elementId, $storeId = false)
{
$objectTypes = umiObjectTypesCollection::getInstance();
$objects = umiObjectsCollection::getInstance();
$emarket = cmsController::getInstance()->getModule('emarket');
$objectTypeId = $objectTypes->getBaseType('emarket', 'order_item');
$hierarchy = umiHierarchy::getInstance();
$objectId = $objects->addObject('', $objectTypeId);
$object = $objects->getObject($objectId);
if ($object instanceof iUmiObject == false) {
throw new coreException("Couldn't load order item object #{$objectId}");
}
$element = $hierarchy->getElement($elementId);
if ($element instanceof iUmiHierarchyElement == false) {
throw new publicException("Page #{$elementId} not found");
}
$price = $emarket->getPrice($element, true);
$object->item_price = $price;
$object->item_amount = 0;
$itemTypeId = self::getItemTypeId($element->getObjectTypeId());
$object->item_type_id = $itemTypeId;
$object->item_link = $element;
$object->name = $element->name;
return self::get($object->getId());
}
示例7: import_subscriber
public function import_subscriber($email, $fname, $lname)
{
if (!$email) {
return false;
}
$oSbsSelection = new umiSelection();
$oSbsSelection->setObjectTypeFilter();
$iSbsHierarchyTypeId = umiHierarchyTypesCollection::getInstance()->getTypeByName("dispatches", "subscriber")->getId();
$iSbsTypeId = umiObjectTypesCollection::getInstance()->getTypeByHierarchyTypeId($iSbsHierarchyTypeId);
$oSbsType = umiObjectTypesCollection::getInstance()->getType($iSbsTypeId);
$oSbsSelection->addObjectType($iSbsTypeId);
$oSbsSelection->setNamesFilter();
$oSbsSelection->addNameFilterEquals($email);
$arrSbsSelResults = umiSelectionsParser::runSelection($oSbsSelection);
if (sizeof($arrSbsSelResults)) {
list($object_id) = $arrSbsSelResults;
} else {
$object_id = umiObjectsCollection::getInstance()->addObject($email, $iSbsTypeId);
}
if ($oSubscriber = umiObjectsCollection::getInstance()->getObject($object_id)) {
$oSubscriber->setName($email);
$oSubscriber->setValue('fname', $fname);
$oSubscriber->setValue('lname', $lname);
$oCurrDate = new umiDate(time());
$oSubscriber->setValue('subscribe_date', $oCurrDate);
$oSubscriber->setValue('subscriber_dispatches', $this->getAllDispatches());
$oSubscriber->commit();
} else {
return false;
}
return $object_id;
}
示例8: profile
public function profile($template = "default", $user_id = false)
{
if (!$template) {
$template = "default";
}
list($template_block, $template_bad_user_block) = def_module::loadTemplates("users/profile/" . $template, "profile_block", "bad_user_block");
$block_arr = array();
if (!$user_id) {
$user_id = (int) getRequest('param0');
}
if (!$user_id) {
$permissions = permissionsCollection::getInstance();
if ($permissions->isAuth()) {
$user_id = $permissions->getUserId();
}
}
if ($user = selector::get('object')->id($user_id)) {
$this->validateEntityByTypes($user, array('module' => 'users', 'method' => 'user'));
$block_arr['xlink:href'] = "uobject://" . $user_id;
$userTypeId = $user->getTypeId();
if ($userType = umiObjectTypesCollection::getInstance()->getType($userTypeId)) {
$userHierarchyTypeId = $userType->getHierarchyTypeId();
if ($userHierarchyType = umiHierarchyTypesCollection::getInstance()->getType($userHierarchyTypeId)) {
if ($userHierarchyType->getName() == "users" && $userHierarchyType->getExt() == "user") {
$block_arr['id'] = $user_id;
return def_module::parseTemplate($template_block, $block_arr, false, $user_id);
}
}
}
} else {
throw new publicException(getLabel('error-object-does-not-exist', null, $user_id));
}
return def_module::parseTemplate($template_bad_user_block, $block_arr);
}
示例9: getList
/**
* Gets news with specified type. Uses paging.
*
* @param int $type Id of type (rubric)
* @param int $limit Limit for output
* @param int $page Current page for calculate offset
* @return array
*/
public function getList($type, $limit, $page = 1)
{
$config = parse_ini_file("./config/config.ini", true);
$page -= 1;
$hierarchyTypeId = umiHierarchyTypesCollection::getInstance()->getTypeByName("news", "item")->getId();
$objectTypeId = umiObjectTypesCollection::getInstance()->getBaseType("news", "item");
$objectType = umiObjectTypesCollection::getInstance()->getType($objectTypeId);
$publishTimeFieldId = $objectType->getFieldId('publish_time');
$publishToAppFieldId = $objectType->getFieldId('publish_to_app');
$sel = new umiSelection();
$sel->addElementType($hierarchyTypeId);
$sel->addHierarchyFilter($type, 0, true);
if ($config["umi"]["ignore-publish-flag"] != 1) {
$sel->addPropertyFilterEqual($publishToAppFieldId, true);
}
$sel->setOrderByProperty($publishTimeFieldId, false);
$sel->addLimit($limit, $page);
$result = umiSelectionsParser::runSelection($sel);
$items = array();
$size = sizeof($result);
for ($i = 0; $i < $size; $i++) {
$elementId = $result[$i];
$element = umiHierarchy::getInstance()->getElement($elementId);
if (!$element) {
continue;
}
$items[] = array("id" => $elementId, "header" => $element->getValue("h1"), "date" => $element->getValue("publish_time")->getFormattedDate("d.m.Y"), "image" => "http://" . $_SERVER['HTTP_HOST'] . $element->getValue("anons_pic"), "original_link" => "http://" . $_SERVER['HTTP_HOST'] . umiHierarchy::getInstance()->getPathById($elementId));
}
return $items;
}
示例10: viewAuthor
public function viewAuthor($author_id = false, $template = "default")
{
if ($author_id === false) {
throw new publicException(getLabel('error-object-does-not-exist', null, $author_id));
}
if (!($author = umiObjectsCollection::getInstance()->getObject($author_id))) {
throw new publicException(getLabel('error-object-does-not-exist', null, $author_id));
}
if (!$template) {
$template = "default";
}
list($template_user, $template_guest, $template_sv) = def_module::loadTemplates("users/author/{$template}", "user_block", "guest_block", "sv_block");
$block_arr = array();
if ($author->getTypeId() == umiObjectTypesCollection::getInstance()->getBaseType('users', 'user')) {
$template = $template_user;
$block_arr['user_id'] = $author_id;
$user = $author;
$block_arr['nickname'] = $user->getValue("login");
$block_arr['email'] = $user->getValue("e-mail");
$block_arr['fname'] = $user->getValue("fname");
$block_arr['lname'] = $user->getValue("lname");
$block_arr['subnodes:groups'] = $groups = $user->getValue("groups");
if (in_array(SV_GROUP_ID, $groups)) {
if ($template_sv) {
$template = $template_sv;
}
}
} else {
if ($author->getValue("is_registrated")) {
$template = $template_user;
$block_arr['user_id'] = $user_id = $author->getValue("user_id");
$user = umiObjectsCollection::getInstance()->getObject($user_id);
if (!$user instanceof umiObject) {
$block_arr['user_id'] = $user_id = intval(regedit::getInstance()->getVal("//modules/users/guest_id"));
$user = umiObjectsCollection::getInstance()->getObject($user_id);
}
if (!$user instanceof umiObject) {
return false;
}
$block_arr['nickname'] = $user->getValue("login");
$block_arr['login'] = $user->getValue("login");
$block_arr['email'] = $user->getValue("e-mail");
$block_arr['fname'] = $user->getValue("fname");
$block_arr['lname'] = $user->getValue("lname");
$block_arr['subnodes:groups'] = $groups = $user->getValue("groups");
if (in_array(SV_GROUP_ID, $groups)) {
if ($template_sv) {
$template = $template_sv;
}
}
} else {
$template = $template_guest;
$block_arr['nickname'] = $author->getValue("nickname");
$block_arr['email'] = $author->getValue("email");
}
}
return def_module::parseTemplate($template, $block_arr, false, $author_id);
}
示例11: getTypeId
private function getTypeId($veb43610bff4bf58aa2af0ba56299d57a)
{
if ((string) (int) $veb43610bff4bf58aa2af0ba56299d57a == $veb43610bff4bf58aa2af0ba56299d57a) {
return (int) $veb43610bff4bf58aa2af0ba56299d57a;
} else {
list($v22884db148f0ffb0d830ba431102b0b5, $vea9f6aca279138c58f705c8d4cb4b8ce) = explode("::", $veb43610bff4bf58aa2af0ba56299d57a);
return umiObjectTypesCollection::getInstance()->getBaseType($v22884db148f0ffb0d830ba431102b0b5, $vea9f6aca279138c58f705c8d4cb4b8ce);
}
}
示例12: getRuleType
private static function getRuleType()
{
$objectTypes = umiObjectTypesCollection::getInstance();
$objectTypeId = $objectTypes->getBaseType('emarket', 'discount_rule_type');
if (!$objectTypeId) {
throw new coreException("Required data type (emarket::discount_rule_type) not found");
}
return $objectTypes->getType($objectTypeId);
}
示例13: count_users
public function count_users()
{
$typeId = umiObjectTypesCollection::getInstance()->getBaseType("users", "user");
$type = umiObjectTypesCollection::getInstance()->getType($typeId);
$isActiveField = $type->getFieldId('is_activated');
$sel = new umiSelection();
$sel->addObjectType($typeId);
$sel->addPropertyFilterEqual($isActiveField, true);
return umiSelectionsParser::runSelectionCounts($sel);
$total;
}
示例14: checkContent
public static function checkContent($v9a0364b9e99bb480dd25e1f0284c8555)
{
$vd499d2db30467ffbbfcf1188e3fa1327 = umiObjectTypesCollection::getInstance()->getTypeIdByGUID('blacklist');
$v1c73f663c4ea5257b7145fd2f7c598ae = umiObjectsCollection::getInstance()->getGuidedItems($vd499d2db30467ffbbfcf1188e3fa1327);
foreach ($v1c73f663c4ea5257b7145fd2f7c598ae as $vd1f5ee0092ec47708f200415f2a89717 => $vc47d187067c6cf953245f128b5fde62a) {
if (strpos($v9a0364b9e99bb480dd25e1f0284c8555, $vc47d187067c6cf953245f128b5fde62a) !== false) {
return false;
}
}
return true;
}
示例15: checkPaymentProps
private static function checkPaymentProps(iUmiObject $object) {
if($object->payment_type_id) {
$types = umiObjectTypesCollection::getInstance();
$typeObject = selector::get('object')->id($object->payment_type_id);
$typeId = $types->getTypeIdByGUID($typeObject->payment_type_guid);
if($typeId != $object->getTypeId()) {
$object->setTypeId($typeId);
$object->commit();
}
}
}