Files
grzanieplus.pl/plugins/stProductOptionsPlugin/lib/model/ProductOptionsDefaultValuePeer.php
2025-03-12 17:06:23 +01:00

92 lines
3.2 KiB
PHP

<?php
/**
* SOTESHOP/stProductOptionsPlugin
*
* Ten plik należy do aplikacji stProductOptionsPlugin opartej na licencji (Open License SOTE) Otwarta Licencja SOTE.
* Nie zmieniaj tego pliku, jeśli chcesz korzystać z automatycznych aktualizacji oprogramowania.
* Jeśli chcesz wprowadzać swoje modyfikacje do programu, zapoznaj się z dokumentacją, jak zmieniać
* oprogramowanie bez zmiany kodu bazowego http://www.sote.pl/modifications
*
* @package stProductOptionsPlugin
* @subpackage libs
* @copyright SOTE (www.sote.pl)
* @license http://www.sote.pl/license/open (Open License SOTE) Otwarta Licencja SOTE
* @version $Id: ProductOptionsDefaultValuePeer.php 210 2009-09-01 13:21:28Z michal $
* @author Daniel Mendalka <daniel.mendalka@sote.pl>
*/
class ProductOptionsDefaultValuePeer extends BaseProductOptionsDefaultValuePeer
{
public static function addOrderCriteria(Criteria $c)
{
$c->addAscendingOrderByColumn(ProductOptionsFieldPeer::FIELD_ORDER);
$c->addAscendingOrderByColumn(self::PRODUCT_OPTIONS_FIELD_ID);
$c->addAscendingOrderByColumn(self::LFT);
}
public static function doSelectRootAsJsTreeFormat(ProductOptionsTemplate $template)
{
self::setPostHydrateMethod(array('ProductOptionsDefaultValuePeer', 'jsTreeFormatHydrate'));
$c = new Criteria();
$c->add(self::PRODUCT_OPTIONS_TEMPLATE_ID, $template->getId());
$c->add(self::PRODUCT_OPTIONS_FIELD_ID, null, Criteria::ISNULL);
$result = self::doSelectWithI18n($c, $template->getCulture());
self::setPostHydrateMethod(null);
return $result;
}
public static function doSelectByFieldId($fieldId, $culture)
{
$c = new Criteria();
if ($fieldId)
{
$c->add(self::PRODUCT_OPTIONS_FIELD_ID, $fieldId);
}
$c->addJoin(self::PRODUCT_OPTIONS_FIELD_ID, ProductOptionsFieldPeer::ID);
self::addOrderCriteria($c);
return self::doSelectWithI18n($c, $culture);
}
public static function doSelectByFieldIdAsJsTreeFormat($fieldId, $culture)
{
self::setPostHydrateMethod(array('ProductOptionsDefaultValuePeer', 'jsTreeFormatHydrate'));
$results = self::doSelectByFieldId($fieldId, $culture);
self::setPostHydrateMethod(null);
return $results;
}
public static function jsTreeFormatHydrate(ProductOptionsDefaultValue $value)
{
if ($value->isRoot() && $value->hasChildren())
{
$state = "open";
}
else
{
$state = $value->hasChildren() ? "closed" : "item_leaf";
}
return array(
"data" => $value->isRoot() ? $value->getProductOptionsTemplate()->getOptName() : $value->getValue(),
"attr" => array("id" => "value-".$value->getId(), "rel" => $value->isRoot() ? "root" : "value"),
"metadata" => array("id" => $value->getId()),
"state" => $state,
"children" => $value->isRoot() && $value->hasChildren() ? ProductOptionsFieldPeer::doSelectByDefaultValueIdAsJsTreeFormat($value->getId(), $value->getCulture()) : null,
);
}
}