/** * Create a submenu from an array. * * @param array $arr The array * @return pmJSCookMenuComponent */ protected static function createMenu($arr) { $item = null; if (array_key_exists("menu", $arr)) { $item = new pmJSCookMenu(); $separator_count = 0; foreach ($arr["menu"] as $name => $submenu) { if ($name == "separator") { $sitem = new pmJSCookMenuSeparator(); $item->addChild("{$name}{$separator_count}", $sitem); $separator_count++; } else { $sitem = self::createMenu($submenu); $item->addChild($name, $sitem); } } } else { $item = new pmJSCookMenuItem(); } if (array_key_exists("credentials", $arr)) { $item->setCredentials($arr["credentials"]); } if (array_key_exists("description", $arr)) { $item->setDescription($arr["description"]); } if (array_key_exists("icon", $arr)) { $item->setIcon($arr["icon"]); } if (array_key_exists("target", $arr)) { $item->setTarget($arr["target"]); } if (array_key_exists("title", $arr)) { $item->setTitle($arr["title"]); } if (array_key_exists("url", $arr)) { $item->setUrl($arr["url"]); } return $item; }