Example #1
0
 public function getByPageformId($pageform_id, $lng = 'nl', $paginator = true, $pindex = 1, $perpage = 25, $cache = true)
 {
     /*if($cache == true) {
     			$cacheId = 'SxModule_Pageform_Field_getByPageformId_' . sha1(var_export($pageform_id, true).'_'.var_export($paginator, true).'_'.var_export($pindex, true).'_'.var_export($perpage, true));
     			$cache = Zend_Registry::get('cache');
     			if (true == ($result = $cache->load($cacheId))) {
     				return $result;
     			}
     		}
     */
     $db = Zend_Registry::get('db');
     $select = $db->select()->from(array('pff' => $this->_tablename()), array('*'))->join(array('pfft' => 'pageform_field_tsl'), 'pff.pff_id = pfft.pfft_field_id', array('*'))->where('pff.pff_pageform_id = ?', (int) $pageform_id)->where('pfft.pfft_language = ?', $lng)->order('pff.pff_place');
     if ($paginator === true) {
         $adapter = new Base_PaginatorAdapter($select);
         $adapter->setMapper($this->_mapper);
         $data = new Zend_Paginator($adapter);
         $data->setCurrentPageNumber((int) $pindex);
         $data->setItemCountPerPage((int) $perpage);
     } else {
         $results = $db->fetchAll($select);
         $data = $this->_mapper->mapAll($results);
     }
     $field_ids = array();
     foreach ($data as $item) {
         if ($item->getFieldTypeHasOptions()) {
             $field_ids[] = $item->getId();
         }
     }
     if (count($field_ids) != 0) {
         $select_meta = $db->select()->from(array('pffm' => 'pageform_field_meta'), array('*'))->join(array('pffm_tsl' => 'pageform_field_meta_tsl'), 'pffm.pffm_id = pffm_tsl.pffm_tsl_meta_id', array('*'))->where('pffm.pffm_field_id IN (?)', $field_ids)->where('pffm_tsl.pffm_tsl_language = ?', $lng)->order('pffm.pffm_place');
         $results_meta = $db->fetchAll($select_meta);
         $mapper_meta = new SxModule_Pageform_Field_Meta_Mapper();
         $meta = $mapper_meta->mapAll($results_meta);
         if (count($meta) != 0) {
             foreach ($data as $item) {
                 foreach ($meta as $element) {
                     if ($item->getId() == $element->getFieldId()) {
                         $item->addMeta($element);
                     }
                 }
             }
         }
     }
     /*if($cache == true) {
     			$cacheTags = array(
     				'SxModule_Pageform_Field_PageformId'.$pageform_id,
     				'SxModule_Pageform',
     				'SxModule_Pageform_Field',
     				'SxModule_Pageform_Field_getByPageformId',
     			);
     
     			$cache->save($data, $cacheId, $cacheTags);
     		}*/
     return $data;
 }
Example #2
0
 public function save($item_params = '*')
 {
     $db = Zend_Registry::get('db');
     $mapper = new SxModule_Pageform_Field_Meta_Mapper();
     $item = $mapper->toArray($this, 'item');
     if (is_array($item_params)) {
         $item = $mapper->fromInput($item, $item_params);
     }
     var_dump($item);
     if ($this->getId()) {
         $db->update($this->_tablename(), $item, $this->_primary_key() . ' = ' . (int) $this->getId());
     } else {
         $db->insert($this->_tablename(), $item);
         $this->setId($db->lastInsertId());
     }
     return $this;
 }
Example #3
0
 public function save($item_params = '*')
 {
     $db = Zend_Registry::get('db');
     $mapper = new SxModule_Pageform_Field_Meta_Mapper();
     $meta = new SxModule_Pageform_Field_Meta();
     $meta->setTsl($this);
     $item = $mapper->toArray($meta, 'tsl');
     if (is_array($item_params)) {
         $item = $mapper->fromInput($item, $item_params);
     }
     var_dump($item);
     if ($this->getId()) {
         $item['pffm_tsl_date_updated'] = new Zend_Db_Expr('NOW()');
         $db->update($this->_tablename(), $item, $this->_primary_key() . ' = ' . (int) $this->getId());
     } else {
         $item['pffm_tsl_date_created'] = new Zend_Db_Expr('NOW()');
         $item['pffm_tsl_date_updated'] = '0000-00-00 00:00:00';
         $config = Zend_Registry::get('config');
         foreach ($config->system->language as $lng => $slng) {
             $item['pffm_tsl_language'] = $lng;
             $db->insert($this->_tablename(), $item);
         }
     }
     return $this;
 }