im0 = false;
$this->im1 = false;
$this->im2 = false;
$this->check = false;
$this->attrs = array();
}
/*! get id of parent record
@return
id of parent record
*/
function get_parent_id()
{
return $this->data[$this->config->relation_id["name"]];
}
/*! get state of items checkbox
@return
state of item's checkbox as int value, false if state was not defined
*/
function get_check_state()
{
return $this->check;
}
/*! set state of item's checkbox
@param value
int value, 1 - checked, 0 - unchecked, -1 - third state
*/
function set_check_state($value)
{
$this->check = $value;
}
/*! return count of child items
-1 if there is no info about childs
@return
count of child items
*/
function has_kids()
{
return $this->kids;
}
/*! sets count of child items
@param value
count of child items
*/
function set_kids($value)
{
$this->kids = $value;
}
/*! set custom attribute
@param name
name of the attribute
@param value
new value of the attribute
*/
function set_attribute($name, $value)
{
switch ($name) {
case "id":
$this->set_id($value);
break;
case "text":
$this->data[$this->config->text[0]["name"]] = $value;
break;
case "checked":
$this->set_check_state($value);
break;
case "im0":
$this->im0 = $value;
break;
case "im1":
$this->im1 = $value;
break;
case "im2":
$this->im2 = $value;
break;
case "child":
$this->set_kids($value);
break;
default:
$this->attrs[$name] = $value;
}
}
/*! assign image for tree's item
@param img_folder_closed
image for item, which represents folder in closed state
@param img_folder_open
image for item, which represents folder in opened state, optional
@param img_leaf
image for item, which represents leaf item, optional
*/
function set_image($img_folder_closed, $img_folder_open = false, $img_leaf = false)
{
$this->im0 = $img_folder_closed;
$this->im1 = $img_folder_open ? $img_folder_open : $img_folder_closed;
$this->im2 = $img_leaf ? $img_leaf : $img_folder_closed;
}
/*! return self as XML string, starting part
*/
function to_xml_start()
{
if ($this->skip) return "";
$str1 = "- has_kids() == true) $str1 .= "child='" . $this->has_kids() . "' ";
if ($this->im0) $str1 .= "im0='" . $this->im0 . "' ";
if ($this->im1) $str1 .= "im1='" . $this->im1 . "' ";
if ($this->im2) $str1 .= "im2='" . $this->im2 . "' ";
if ($this->check) $str1 .= "checked='" . $this->check . "' ";
foreach ($this->attrs as $key => $value)
$str1 .= $key . "='" . $this->xmlentities($value) . "' ";
$str1 .= ">";
if ($this->userdata !== false)
foreach ($this->userdata as $key => $value)
$str1 .= "";
return $str1;
}
/*! return self as XML string, ending part
*/
function to_xml_end()
{
if ($this->skip) return "";
return "
";
}
}