コード例 #1
0
 /**
  *
  * @param string $object
  * @param string $action
  * @param array $params
  * @return Domstor_Filter_Form
  */
 public function create($object, $action, array $params = array())
 {
     if (Domstor_Helper::isCommerceType($object)) {
         $object = 'commerce';
     }
     $builder_class = 'Domstor' . ucfirst($object) . ucfirst($action) . 'FilterBuilder';
     if (!class_exists($builder_class)) {
         return FALSE;
         //throw new Excepion($builder_class.' not found');
     }
     $builder = new $builder_class();
     $builder->setDomstor($params['domstor'])->setObject($object)->setAction($action);
     $template = dirname(__FILE__) . '/view/' . $object . '_' . $action . '_tmpl.php';
     if (isset($params['filter_dir'])) {
         $dir = $params['filter_dir'];
         if (!is_readable($dir) || !is_dir($dir)) {
             throw new Exception(sprintf('Filter template dir "%s" is not dir or not readable', $dir));
         }
         $fd = rtrim($params['filter_dir'], '/\\') . '/' . $object . '_' . $action . '_tmpl.php';
         if (is_file($fd) and is_readable($fd)) {
             $template = $fd;
         }
     }
     $filter = $builder->buildFilter();
     $filter->setName('f')->setRenderTemplate($template);
     return $filter;
 }
コード例 #2
0
 /**
  *
  * @param string $object
  * @param string $action
  * @param array $params
  * @return Domstor_List_Common
  * @throws Exception
  */
 public function create($object, $action, array $params)
 {
     if (!Domstor_Helper::checkEstateAction($object, $action)) {
         throw new Exception('Wrong object/action pair');
     }
     if (Domstor_Helper::isCommerceType($object)) {
         $object = 'commerce';
     }
     $class = sprintf('Domstor_List_%s_%s', ucfirst($object), ucfirst($action));
     $list = new $class($params);
     return $list;
 }
コード例 #3
0
 /**
  *
  * @param string $object
  * @param string $action
  * @param array $params
  * @return Domstor_Detail_Common
  * @throws Exception
  */
 public function create($object, $action, array $params)
 {
     if (!Domstor_Helper::checkEstateAction($object, $action)) {
         throw new Exception('Wrong object/action pair');
     }
     $offer = ($action == 'purchase' or $action == 'rentuse') ? 'Demand' : 'Supply';
     $commerce = array('trade', 'office', 'product', 'storehouse', 'landcom', 'other', 'complex');
     if (in_array($object, $commerce)) {
         $object = 'Commerce';
     }
     $class = sprintf('Domstor_Detail_%s_%s', $offer, ucfirst($object));
     $obj = new $class($params);
     return $obj;
 }
コード例 #4
0
 public function check($object, $action)
 {
     return Domstor_Helper::checkEstateAction($object, $action);
 }