params = $params;
}
public function set_content($content)
{
if(is_array($content)) {
$this->content = $content;
return;
}
if(!$content) $content = "[]";
$this->content = json_decode(trim($content), true);
}
public function set_name($name)
{
$this->name = $name;
}
public function render_edit()
{
global $b;
?>
content as $key => $data)
{
?>
= $key; ?>
Скрыть
content as $key => $data) {
foreach ($this->params["fields"] as $arg => $field) {
$array[$key][$arg] = $b->field_render_value($field[0], $this->name . "[$key][$arg]", $data[$arg]);
}
}
return $array;
}
public function render_db_value()
{
global $b;
foreach ($this->content as $key => $data) {
if ((string) $data == "remove") {
unset($this->content[$key]);
continue;
}
if ((string) $key == "new") {
unset($this->content[$key]);
$array = array();
foreach ($this->params["fields"] as $arg => $field)
$array[$arg] = $b->field_render_db_value($field[0], $this->name . "[$key][$arg]", "");
$this->content[] = $array;
}
}
foreach ($this->content as $key => $data) {
foreach ($this->params["fields"] as $arg => $field)
$this->content[$key][$arg] = $b->field_render_db_value($field[0], $this->name . "[$key][$arg]", $data[$arg]);
}
return json_encode(array_values($this->content));
}
}