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; }
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; }
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; }