73 public function __construct(array
$h, array $pageDataFields, array $tempData, array $pageData)
76 $this->params = !empty($pageDataFields)
78 : array(
'url',
'last_edit');
79 $this->temp_data = $tempData;
80 $this->data = $pageData;
93 $fields = $this->params;
94 $fields = array_merge($fields, array_keys($this->temp_data));
95 foreach ($this->data as $page) {
96 $fields = array_merge($fields, array_keys($page));
98 $fields = array_values(array_unique($fields));
110 private function fixUp()
114 foreach ($this->headings as $id => $value) {
115 foreach ($this->params as $param) {
116 if (!isset($this->data[$id][$param])) {
119 $this->data[$id][$param] =
uenc(strip_tags($value));
122 $this->data[$id][$param] =
'';
127 if (isset($pd_current)) {
128 $pd_current = $this->data[
$pd_s];
143 return $this->save();
157 $this->params[] = $field;
170 $n = array_search($field, $this->params);
171 array_splice($this->params, $n, 1);
172 foreach (array_keys($this->headings) as $id) {
173 unset($this->data[$id][$field]);
175 unset($this->temp_data[$field]);
189 $this->tabs[
$title] = array($view_file, $cssClass);
201 return $key >= 0 && $key < count($this->data)
202 ? $this->data[$key] : null;
216 foreach ($this->data as $id => $page) {
217 if (isset($page[$field])
218 && strpos($page[$field], $value) !==
false 220 $results[$id] = $page;
238 foreach ($this->data as $id => $page) {
239 $array = explode($separator, $page[$field]);
241 foreach ($array as $page_data) {
242 if ($value == trim($page_data)) {
243 $results[$id] = $page;
265 $results = $this->findArrayfieldValue($field, $value, $sep);
267 $results = $this->findFieldValue($field, $value);
271 foreach ($results as $key => $value) {
272 $temp[] = $value[$sortKey];
275 array_multisort(
$temp, $sortFlag, $ids);
277 if (is_array($ids) && count($ids) > 0) {
278 foreach ($ids as $id) {
279 $results[$id] = $this->data[$id];
292 public function create(array $params = array())
295 foreach ($this->params as $field) {
298 $page = array_merge($clean, $params);
313 $this->data[] = $params;
326 array_splice($this->data, $index, 1, $pages);
327 return $this->save();
339 foreach ($page as $field => $value) {
340 if (in_array($field, $this -> params)) {
341 $this->temp_data[$field] = $value;
353 public function delete($key)
355 array_splice($this->data, $key, 1);
356 return $this->save();
369 foreach ($params as $field => $value) {
370 $this->data[$key][$field] = $value;
372 return $this->save();
380 private function save()
findFieldValueSortkey($field, $value, $sortKey, $sortFlag, $sep)
refresh(array $data=null)
findArrayfieldValue($field, $value, $separator)
create(array $params=array())
replace(array $pages, $index)
findFieldValue($field, $value)
updateKey($key, array $params)
addTab($title, $view_file, $cssClass=null)
__construct(array $h, array $pageDataFields, array $tempData, array $pageData)
appendPage(array $params)