92 lines
3.2 KiB
PHP
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,
|
|
);
|
|
}
|
|
}
|