settings.php 42 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958
  1. <?php
  2. error_reporting (E_ALL ^ E_NOTICE);
  3. try {
  4. $config = parse_ini_file('settings.ini.php', true);
  5. } catch(Exception $e) {
  6. die('<b>Unable to read settings.ini.php. Did you rename it from example.ini.php?</b><br><br>Error message: ' .$e->getMessage());
  7. }
  8. $html = "https://github.com/causefx/iDashboard-PHP/releases/latest";
  9. $doc = new DOMDocument();
  10. $doc->loadHTMLFile($html);
  11. $xpath = new DomXpath($doc);
  12. $githubChanges = $xpath->query('//div[@class="markdown-body"]//p')->item(0)->nodeValue;
  13. $githubVersion = $xpath->query('//span[@class="css-truncate-target"]')->item(0)->nodeValue;
  14. if(!isset($githubVersion)){
  15. $githubVersion = "null";
  16. }
  17. if(!isset($githubChanges)){
  18. $githubChanges = "null";
  19. }
  20. $currentVersion = "1.08";
  21. foreach ($config as $keyname => $section) {
  22. if(($keyname == "general")) {
  23. $cookiepass = $section["password"];
  24. $backgroundColor = $section["tabcolor"];
  25. }
  26. }
  27. if($currentVersion == $githubVersion){
  28. $versionText = "You're Up-To-Date!";
  29. $versionIcon = "check";
  30. $versionColor = "#5cb85c";
  31. }elseif($githubVersion == "null"){
  32. $versionText = "Failed to check for update!";
  33. $versionIcon = "question";
  34. $versionColor = "#f0ad4e";
  35. }elseif($currentVersion < $githubVersion){
  36. $versionText = "New Version is out <a class=\"btn btn-success btn-sm\" href=\"https://github.com/causefx/iDashboard-PHP/archive/master.zip\" role=\"button\">Download Now</a> <button type=\"button\" class=\"btn btn-success btn-sm\" data-toggle=\"modal\" data-target=\"#changes\">View Changes</button>";
  37. $versionIcon = "times";
  38. $versionColor = "#d9534f";
  39. }
  40. if($_COOKIE["logged"] !== $cookiepass){
  41. echo "<!DOCTYPE html>";
  42. echo "<head>";
  43. echo "<title>Form submitted</title>";
  44. echo "<script type='text/javascript'>window.location.replace('setup.php');</script>";
  45. echo "</head>";
  46. echo "<body></body></html>";
  47. die;
  48. }
  49. if(isset($_GET["action"])){$action = $_GET["action"];}
  50. if($action == "logout"){
  51. if (isset($_COOKIE['logged'])) {
  52. unset($_COOKIE['logged']);
  53. setcookie('logged', '', time() - 3600, '/');
  54. }
  55. sleep(.5);
  56. echo "<!DOCTYPE html>";
  57. echo "<head>";
  58. echo "<title>Logout</title>";
  59. echo "<script type='text/javascript'>window.parent.location.reload();</script>";
  60. echo "</head>";
  61. echo "<body></body></html>";
  62. }
  63. if($action == "dontbugme"){
  64. setcookie("dontbugme", "true", time() + (86400 * 365), "/");
  65. sleep(.5);
  66. echo "<!DOCTYPE html>";
  67. echo "<head>";
  68. echo "<title>Dont bug me scrub</title>";
  69. echo "<script type='text/javascript'>window.location.replace('settings.php');</script>";
  70. echo "</head>";
  71. echo "<body></body></html>";
  72. }
  73. function write_ini_file($content, $path) {
  74. if (!$handle = fopen($path, 'w')) {
  75. return false;
  76. }
  77. $success = fwrite($handle, $content);
  78. fclose($handle);
  79. return $success;
  80. }
  81. $configfile = 'settings.ini.php';
  82. if(array_key_exists('category-0', $_POST) == true){
  83. foreach ($config as $keyname => $section) { if(($keyname == "general")) { $nopass = $section["password"]; } }
  84. if(empty($_POST["password-0"])){ $_POST["password-0"] = $nopass;}
  85. if(strlen($_POST["password-0"]) < 50){ $_POST["password-0"] = password_hash($_POST["password-0"], PASSWORD_DEFAULT); }
  86. setcookie("logged", $_POST["password-0"], time() + (86400 * 7), "/");
  87. $sampleData .= '; <?php die("Access denied"); ?>' . "\r\n";
  88. $getGroup = 0;
  89. foreach ($_POST as $parameter => $value) {
  90. $splitParameter = explode('-', $parameter);
  91. if ($value == "on")
  92. $value = "true";
  93. if($splitParameter[0] == "group"){
  94. if($value > $getGroup){
  95. $getGroup++;
  96. }
  97. }
  98. if($splitParameter[0] == "category"){
  99. $sampleData .= "[" . $value . "]\r\n";
  100. }else{
  101. $sampleData .= $splitParameter[0] . " = \"" . $value . "\"\r\n";
  102. }
  103. }
  104. //$sampleData .= "[groups]\r\n";
  105. $sampleData .= "groups = \"" . $getGroup . "\"\r\n";
  106. if($action == "write"){
  107. write_ini_file($sampleData, $configfile);
  108. sleep(.5);
  109. echo "<!DOCTYPE html>";
  110. echo "<head>";
  111. echo "<title>Form submitted</title>";
  112. echo "<script type='text/javascript'>window.parent.location.reload();</script>";
  113. echo "</head>";
  114. echo "<body></body></html>";
  115. }
  116. }
  117. ?>
  118. <!doctype html>
  119. <html>
  120. <head>
  121. <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
  122. <meta name="apple-mobile-web-app-capable" content="yes" />
  123. <meta name="mobile-web-app-capable" content="yes" />
  124. <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  125. <meta name="msapplication-tap-highlight" content="no" />
  126. <link rel="shortcut icon" href="favicon.ico" type="image/ico"/>
  127. <link rel='stylesheet prefetch' href='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css'>
  128. <link rel='stylesheet prefetch' href='https://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css'>
  129. <!-- Bootstrap -->
  130. <link rel="stylesheet" href="css/bootstrap.min.css"/>
  131. <!-- Font Awesome -->
  132. <link rel="stylesheet" href="css/font-awesome.min.css"/>
  133. <!-- Bootstrap-Iconpicker -->
  134. <link rel="stylesheet" href="css/bootstrap-iconpicker.min.css"/>
  135. <!--test-->
  136. <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">
  137. <link href="css/bootstrap-colorpicker.min.css" rel="stylesheet">
  138. <!--end test-->
  139. <style>
  140. body {
  141. margin: 10px;
  142. background-color: <?=$backgroundColor;?>;
  143. }
  144. .well {
  145. background-color: white;
  146. }
  147. .fa {
  148. min-width: 14px;
  149. }
  150. .form-inline .form-control,
  151. .form-inline .btn {
  152. margin-bottom: 8px;
  153. }
  154. .form-group {
  155. width: 100%;
  156. }
  157. input[type=checkbox].css-checkbox {
  158. position:absolute; z-index:-1000; left:-1000px; overflow: hidden; clip: rect(0 0 0 0); height:1px; width:1px; margin:-1px; padding:0; border:0;
  159. }
  160. input[type=checkbox].css-checkbox + label.css-label {
  161. padding-left:55px;
  162. height:30px;
  163. display:inline-block;
  164. line-height:30px;
  165. background-repeat:no-repeat;
  166. background-position: 0 0;
  167. font-size:14px;
  168. vertical-align:middle;
  169. cursor:pointer;
  170. }
  171. input[type=checkbox].css-checkbox:checked + label.css-label {
  172. background-position: 0 -30px;
  173. }
  174. label.css-label {
  175. background-image:url(img/check.png);
  176. -webkit-touch-callout: none;
  177. -webkit-user-select: none;
  178. -khtml-user-select: none;
  179. -moz-user-select: none;
  180. -ms-user-select: none;
  181. user-select: none;
  182. }
  183. hr {
  184. display: block;
  185. height: 1px;
  186. border: 0;
  187. border-top: 1px solid #ccc;
  188. margin: 1em 0 auto;
  189. padding: 0;
  190. }
  191. </style>
  192. </head>
  193. <body>
  194. <form action="?action=write" method="post" name="adminForm" class="form-inline">
  195. <?php if($_COOKIE["dontbugme"] !== "true"){
  196. echo "<div class=\"alert alert-warning\">";
  197. echo "<a href=\"#\" class=\"close\" data-dismiss=\"alert\" aria-label=\"close\">&times;</a>";
  198. echo "<strong>Tip!</strong> Choose an option from below to change some settings. <strong><a href=\"?action=dontbugme\">Dont Remind Me Again!</a></strong></div>";
  199. }?>
  200. <div class="btn-group btn-group-justified">
  201. <div class="btn-group"><button data-toggle="collapse" data-target="#general" type="button" class="btn btn-primary">General</button></div>
  202. <div class="btn-group"><button data-toggle="collapse" data-target="#color" type="button" class="btn btn-primary">Colors</button></div>
  203. <div class="btn-group"><button data-toggle="collapse" data-target="#tabs" type="button" class="btn btn-primary">Tabs</button></div>
  204. <div class="btn-group"><a href="?action=logout" class="btn btn-warning" role="button">Logout</a></div>
  205. <div class="btn-group"><button type="submit" class="btn btn-success">Save</button></div>
  206. </div>
  207. <?php foreach ($config as $keyname => $section) {
  208. if(($keyname == "general")) {
  209. echo "<div id=\"general\" class=\"collapse\">";
  210. echo "<div class=\"form-group clearfix well well-sm\" style=\"padding-bottom: 0px;p adding-top: 10px; margin-bottom: 5px; background-color: $versionColor\"><span class=\"btn btn-inactive \" type=\"button\"><span class=\"fa fa-$versionIcon\"></span></span> Current Version:[<strong>$currentVersion</strong>] - GitHub Version: [<strong>" . $githubVersion . "</strong>] - <strong>$versionText</strong></div> <br>";
  211. echo "<div class=\"form-group clearfix well well-sm\" style=\"padding-bottom: 0px; padding-top: 10px; margin-bottom: 5px;\">";
  212. echo "<input type=\"hidden\" name=\"category-0\" class=\"form-control\" value=\"general\">";
  213. echo "<input type=\"hidden\" name=\"version-0\" class=\"form-control\" value=\"$currentVersion\">";
  214. echo "<span class=\"btn btn-inactive \" type=\"button\"><span class=\"fa fa-cog\"></span></span> ";
  215. echo "<div style=\"margin-bottom: 8px\" class=\"input-group\"><div class=\"input-group-addon\">Title</div>";
  216. echo "<input style=\"margin-bottom: 0px\" type=\"text\" name=\"title-0\" class=\"form-control\" value=\"" . $section["title"] ."\"></div> ";
  217. echo "<div style=\"margin-bottom: 8px\" class=\"input-group\"><div class=\"input-group-addon\">Password</div>";
  218. echo "<input style=\"margin-bottom: 0px\" type=\"password\" name=\"password-0\" class=\"form-control\" placeholder=\"Leave Blank if no change\" value=\"\"></div> ";
  219. if($section['useicons'] == "true"){echo "<input type=\"checkbox\" name=\"useicons-0\" id=\"useicons-0\" class=\"css-checkbox\" checked> ";}else {echo "<input type=\"checkbox\" name=\"useicons-0\" id=\"useicons-0\" class=\"css-checkbox\"> ";}
  220. echo "<label for=\"useicons-0\" class=\"css-label\">Icons</label> ";
  221. if($section['usemargins'] == "true"){echo "<input type=\"checkbox\" name=\"usemargins-0\" id=\"usemargins-0\" class=\"css-checkbox\" checked> ";}else {echo "<input type=\"checkbox\" name=\"usemargins-0\" id=\"usemargins-0\" class=\"css-checkbox\"> ";}
  222. echo "<label for=\"usemargins-0\" class=\"css-label\">Margins</label> </div></div>";
  223. echo"<div id=\"color\" class=\"collapse\">";
  224. echo "<div class=\"form-group clearfix well well-sm\" style=\"padding-bottom: 0px;p adding-top: 10px; margin-bottom: 5px;\">";
  225. echo "<span class=\"btn btn-inactive \" type=\"button\"><span class=\"fa fa-eyedropper\"></span></span> ";
  226. echo "<div style=\"margin-bottom: 8px\" id=\"bg\" class=\"input-group colorpicker-component\"><div class=\"input-group-addon\">Bg&nbsp;</div>";
  227. echo "<input style=\"margin-bottom: 0px\" id=\"bgText\" name=\"bg-0\" type=\"text\" data-format=\"hex\" value=\"" . $section["bg"] ."\" class=\"form-control\"/>";
  228. echo "<span class=\"input-group-addon\"><i></i></span>";
  229. echo "</div> ";
  230. echo "<div style=\"margin-bottom: 8px\" id=\"tabborder\" class=\"input-group colorpicker-component\"><div class=\"input-group-addon\">Tab Border</div>";
  231. echo "<input style=\"margin-bottom: 0px\" id=\"tabborderText\" name=\"tabborder-0\" type=\"text\" data-format=\"hex\" value=\"" . $section["tabborder"] ."\" class=\"form-control\"/>";
  232. echo "<span class=\"input-group-addon\"><i></i></span>";
  233. echo "</div> ";
  234. echo "<div style=\"margin-bottom: 8px\" id=\"tabhighlight\" class=\"input-group colorpicker-component\"><div class=\"input-group-addon\">Tab Highlight</div>";
  235. echo "<input style=\"margin-bottom: 0px\" id=\"tabhighlightText\" name=\"tabhighlight-0\" type=\"text\" data-format=\"hex\" value=\"" . $section["tabhighlight"] ."\" class=\"form-control\"/>";
  236. echo "<span class=\"input-group-addon\"><i></i></span>";
  237. echo "</div> ";
  238. echo "<br><span class=\"btn btn-inactive \" type=\"button\"><span class=\"fa fa-paint-brush\"></span></span> ";
  239. echo "<div style=\"margin-bottom: 8px\" id=\"tabcoloractive\" class=\"input-group colorpicker-component\"><div class=\"input-group-addon\">Tab</div>";
  240. echo "<input style=\"margin-bottom: 0px\" id=\"tabcoloractiveText\" name=\"tabcoloractive-0\" type=\"text\" data-format=\"hex\" value=\"" . $section["tabcoloractive"] ."\" class=\"form-control\"/>";
  241. echo "<span class=\"input-group-addon\"><i></i></span>";
  242. echo "</div> ";
  243. echo "<div style=\"margin-bottom: 8px\" id=\"fontcoloractive\" class=\"input-group colorpicker-component\"><div class=\"input-group-addon\">Font Color</div>";
  244. echo "<input style=\"margin-bottom: 0px\" id=\"fontcoloractiveText\" name=\"fontcoloractive-0\" type=\"text\" data-format=\"hex\" value=\"" . $section["fontcoloractive"] ."\" class=\"form-control\"/>";
  245. echo "<span class=\"input-group-addon\"><i></i></span>";
  246. echo "</div> ";
  247. echo "<div style=\"margin-bottom: 8px\" id=\"tabshadowactive\" class=\"input-group colorpicker-component\"><div class=\"input-group-addon\">Tab &nbsp;Shadow</div>";
  248. echo "<input style=\"margin-bottom: 0px\" id=\"tabshadowactiveText\" name=\"tabshadowactive-0\" type=\"text\" data-format=\"hex\" value=\"" . $section["tabshadowactive"] ."\" class=\"form-control\"/>";
  249. echo "<span class=\"input-group-addon\"><i></i></span>";
  250. echo "</div> ";
  251. echo "<br><span class=\"btn btn-inactive disabled\" type=\"button\"><span class=\"fa fa-paint-brush\"></span></span> ";
  252. echo "<div style=\"margin-bottom: 8px\" id=\"tabcolor\" class=\"input-group colorpicker-component\"><div class=\"input-group-addon\">Tab</div>";
  253. echo "<input style=\"margin-bottom: 0px\" id=\"tabcolorText\" name=\"tabcolor-0\" type=\"text\" data-format=\"hex\" value=\"" . $section["tabcolor"] ."\" class=\"form-control\"/>";
  254. echo "<span class=\"input-group-addon\"><i></i></span>";
  255. echo "</div> ";
  256. echo "<div style=\"margin-bottom: 8px\" id=\"fontcolor\" class=\"input-group colorpicker-component\"><div class=\"input-group-addon\">Font Color</div>";
  257. echo "<input style=\"margin-bottom: 0px\" id=\"fontcolorText\" name=\"fontcolor-0\" type=\"text\" data-format=\"hex\" value=\"" . $section["fontcolor"] ."\" class=\"form-control\"/>";
  258. echo "<span class=\"input-group-addon\"><i></i></span>";
  259. echo "</div> ";
  260. echo "<div style=\"margin-bottom: 8px\" id=\"tabshadow\" class=\"input-group colorpicker-component\"><div class=\"input-group-addon\">Tab &nbsp;Shadow</div>";
  261. echo "<input style=\"margin-bottom: 0px\" id=\"tabshadowText\" name=\"tabshadow-0\" type=\"text\" data-format=\"hex\" value=\"" . $section["tabshadow"] ."\" class=\"form-control\"/>";
  262. echo "<span class=\"input-group-addon\"><i></i></span>";
  263. echo "</div></div> ";
  264. echo "<div class=\"form-group clearfix well well-sm\" style=\"padding-bottom: 0px;p adding-top: 10px; margin-bottom: 5px;\">";
  265. echo "<span class=\"btn btn-inactive \" type=\"button\"><span class=\"fa fa-eye\"></span></span> ";
  266. echo "<button onclick=\"defaultTheme()\" class=\"btn btn-default\">Default</button> ";
  267. echo "<button onclick=\"plexTheme()\" class=\"btn btn-info\" style=\"background-color: #cc7c2a; border-color: #975c20;\">Plex</button> ";
  268. echo "<button onclick=\"Theme1()\" class=\"btn btn-info\">Theme 1</button> ";
  269. echo "<button onclick=\"Theme2()\" class=\"btn btn-success\">Theme 2</button> ";
  270. echo "<button onclick=\"Theme3()\" class=\"btn btn-warning\">Theme 3</button> ";
  271. echo "<button onclick=\"Theme4()\" class=\"btn btn-primary\">Theme 4</button> ";
  272. echo "<button onclick=\"Theme5()\" class=\"btn btn-danger\">Theme 5</button> ";
  273. echo "</div> </div>";
  274. }
  275. }?>
  276. <div id="tabs" class="collapse">
  277. <div class="btn-group"><button data-toggle="collapse" data-target="#groupnames" type="button" class="btn btn-primary">Edit Group Names</button></div>
  278. <div id="tagsForm" class="sortable">
  279. <?php $i = 0;
  280. foreach ($config as $keyname => $section) {
  281. if(($keyname !== "general") && ($keyname !== "groups")) {
  282. if(!isset($section['group'])){
  283. $section['group'] = "1";
  284. }?>
  285. <div class="form-group clearfix well well-sm" style="padding-bottom: 0px; padding-top: 10px; margin-bottom: 5px;">
  286. <span class="btn btn-default move" type="button"><span class="fa fa-arrows"></span></span>
  287. <div style="margin-bottom: 8px" class="input-group">
  288. <div class="input-group-addon">Name</div>
  289. <input style="margin-bottom: 0px" type="text" name="category-<?=$i;?>" class="form-control" value="<?=$keyname;?>">
  290. </div>
  291. <div style="margin-bottom: 8px" class="input-group">
  292. <div class="input-group-addon">URL</div>
  293. <input style="margin-bottom: 0px" type="text" name="url-<?=$i;?>" class="form-control" placeholder="url" value="<?=$section['url']?>">
  294. </div>
  295. <div style="margin-bottom: 8px" class="input-group">
  296. <div class="input-group-addon">Group</div>
  297. <input style="margin-bottom: 0px; width: 35px" type="text" name="group-<?=$i;?>" class="form-control" placeholder="1" value="<?=$section['group']?>">
  298. </div>
  299. <button data-placement="left" data-cols="5" data-rows="5" class="btn btn-default" name="icon-<?=$i;?>" role="iconpicker" data-iconset="fontawesome" data-icon="<?=$section['icon']?>"></button>
  300. <?php if($section['default'] == "true"){echo '<input type="radio" name="default" checked>';}else {echo '<input type="radio" name="default">';}?> <label> Default</label>
  301. <?php if($section['enabled'] == "true"){echo '<input type="checkbox" name="enabled-' . $i .'" id="enabled-' . $keyname . '" class="css-checkbox" checked>';}else {echo '<input type="checkbox" name="enabled-' . $i .'" id="enabled-' . $keyname . '" class="css-checkbox">';}?>
  302. <label for="enabled-<?=$keyname;?>" class="css-label">Enabled</label>
  303. <?php if($section['guest'] == "true"){echo '<input type="checkbox" name="guest-' . $i .'" id="guest-' . $keyname . '" class="css-checkbox" checked>';}else {echo '<input type="checkbox" name="guest-' . $i .'" id="guest-' . $keyname . '" class="css-checkbox">';}?>
  304. <label for="guest-<?=$keyname;?>" class="css-label">Guest</label> &nbsp;&nbsp;
  305. <button style="float: right;" class="btn btn-danger deleteGroup" id="remScnt" type="button"><span class="fa fa-trash"></span></button>
  306. </div>
  307. <?php }
  308. $i++;
  309. }?>
  310. </div>
  311. <div id="groupnames" class="collapse">
  312. <input type="hidden" name="category-x" class="form-control" value="groups">
  313. <?php
  314. $alphabet = range('A', 'Z');
  315. //echo $alphabet[3]; // returns D
  316. //echo array_search('D', $alphabet); // returns 3
  317. foreach ($config as $keyname => $section) {
  318. if(($keyname == "groups")) {
  319. if($section['groups'] > count($section)){
  320. echo "<div class=\"form-group clearfix well well-sm\" style=\"padding-bottom: 0px; padding-top: 10px; margin-bottom: 5px;\">";
  321. foreach(range(1,$section['groups']) as $index) {
  322. echo "<span class=\"btn btn-inactive \" type=\"button\"><span class=\"fa fa-folder-open\"></span></span> ";
  323. echo "<div style=\"margin-bottom: 8px\" class=\"input-group\"><div class=\"input-group-addon\">Group-". $alphabet[$index - 1] . "</div>";
  324. echo "<input style=\"margin-bottom: 0px\" type=\"text\" name=\"group" . $alphabet[$index - 1] . "-xx\" class=\"form-control\" value=\"" . $section["title"] . "\"></div> <br>";
  325. }
  326. echo "</div>";
  327. }else{
  328. echo "<div class=\"form-group clearfix well well-sm\" style=\"padding-bottom: 0px; padding-top: 10px; margin-bottom: 5px;\">";
  329. foreach(range(1,$section['groups']) as $index) {
  330. $groupLetter = $alphabet[$index - 1];
  331. echo "<span class=\"btn btn-inactive \" type=\"button\"><span class=\"fa fa-folder-open\"></span></span> ";
  332. echo "<div style=\"margin-bottom: 8px\" class=\"input-group\"><div class=\"input-group-addon\">Group-" . $index . "</div>";
  333. echo "<input style=\"margin-bottom: 0px\" type=\"text\" name=\"group" . $groupLetter . "-xx\" class=\"form-control\" value=\"" . $section["group$groupLetter"] . "\"></div> <br>";
  334. }
  335. echo "</div>";
  336. }
  337. }
  338. }?>
  339. </div>
  340. <div class="form-group clearfix">
  341. <button class="btn btn-primary" id="addScnt" type="button"><span class="fa fa-plus"></span></button>
  342. <button class="btn btn-success" type="submit"> Save Settings </button>
  343. </div>
  344. </div>
  345. </form>
  346. <div class="modal fade" id="changes" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" style="display: none;">
  347. <div class="modal-dialog" role="document">
  348. <div class="modal-content">
  349. <div class="modal-header">
  350. <button type="button" class="close" data-dismiss="modal" aria-label="Close">
  351. <span aria-hidden="true">×</span>
  352. </button>
  353. <h4 class="modal-title" id="myModalLabel">New Changes/Fixes</h4>
  354. </div>
  355. <div class="modal-body">
  356. <?=$githubChanges;?>
  357. </div>
  358. <div class="modal-footer">
  359. <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
  360. </div>
  361. </div>
  362. </div>
  363. </div>
  364. <script type="text/javascript" src="https://code.jquery.com/jquery-1.4.3.min.js"></script>
  365. <script>
  366. $(function () {
  367. $('#tabcoloractive').colorpicker({
  368. format: "hex",
  369. align: "left",
  370. colorSelectors: {
  371. '#777777': '#777777',
  372. '#337ab7': '#337ab7',
  373. '#5cb85c': '#5cb85c',
  374. '#5bc0de': '#5bc0de',
  375. '#f0ad4e': '#f0ad4e',
  376. '#d9534f': '#d9534f'
  377. }
  378. });
  379. });
  380. </script>
  381. <script>
  382. $(function () {
  383. $('#fontcoloractive').colorpicker({
  384. format: "hex",
  385. align: "left",
  386. colorSelectors: {
  387. '#777777': '#777777',
  388. '#337ab7': '#337ab7',
  389. '#5cb85c': '#5cb85c',
  390. '#5bc0de': '#5bc0de',
  391. '#f0ad4e': '#f0ad4e',
  392. '#d9534f': '#d9534f'
  393. }
  394. });
  395. });
  396. </script>
  397. <script>
  398. $(function () {
  399. $('#tabcolor').colorpicker({
  400. format: "hex",
  401. align: "left",
  402. colorSelectors: {
  403. '#777777': '#777777',
  404. '#337ab7': '#337ab7',
  405. '#5cb85c': '#5cb85c',
  406. '#5bc0de': '#5bc0de',
  407. '#f0ad4e': '#f0ad4e',
  408. '#d9534f': '#d9534f'
  409. }
  410. });
  411. });
  412. </script>
  413. <script>
  414. $(function () {
  415. $('#fontcolor').colorpicker({
  416. format: "hex",
  417. align: "left",
  418. colorSelectors: {
  419. '#777777': '#777777',
  420. '#337ab7': '#337ab7',
  421. '#5cb85c': '#5cb85c',
  422. '#5bc0de': '#5bc0de',
  423. '#f0ad4e': '#f0ad4e',
  424. '#d9534f': '#d9534f'
  425. }
  426. });
  427. });
  428. </script>
  429. <script>
  430. $(function () {
  431. $('#tabshadowactive').colorpicker({
  432. format: "hex",
  433. align: "left",
  434. colorSelectors: {
  435. '#777777': '#777777',
  436. '#337ab7': '#337ab7',
  437. '#5cb85c': '#5cb85c',
  438. '#5bc0de': '#5bc0de',
  439. '#f0ad4e': '#f0ad4e',
  440. '#d9534f': '#d9534f'
  441. }
  442. });
  443. });
  444. </script>
  445. <script>
  446. $(function () {
  447. $('#tabshadow').colorpicker({
  448. format: "hex",
  449. align: "left",
  450. colorSelectors: {
  451. '#777777': '#777777',
  452. '#337ab7': '#337ab7',
  453. '#5cb85c': '#5cb85c',
  454. '#5bc0de': '#5bc0de',
  455. '#f0ad4e': '#f0ad4e',
  456. '#d9534f': '#d9534f'
  457. }
  458. });
  459. });
  460. </script>
  461. <script>
  462. $(function () {
  463. $('#tabborder').colorpicker({
  464. format: "hex",
  465. align: "left",
  466. colorSelectors: {
  467. '#777777': '#777777',
  468. '#337ab7': '#337ab7',
  469. '#5cb85c': '#5cb85c',
  470. '#5bc0de': '#5bc0de',
  471. '#f0ad4e': '#f0ad4e',
  472. '#d9534f': '#d9534f'
  473. }
  474. });
  475. });
  476. </script>
  477. <script>
  478. $(function () {
  479. $('#bg').colorpicker({
  480. format: "hex",
  481. align: "left",
  482. colorSelectors: {
  483. '#777777': '#777777',
  484. '#337ab7': '#337ab7',
  485. '#5cb85c': '#5cb85c',
  486. '#5bc0de': '#5bc0de',
  487. '#f0ad4e': '#f0ad4e',
  488. '#d9534f': '#d9534f'
  489. }
  490. });
  491. });
  492. </script>
  493. <script>
  494. $(function () {
  495. $('#tabhighlight').colorpicker({
  496. format: "hex",
  497. align: "left",
  498. colorSelectors: {
  499. '#777777': '#777777',
  500. '#337ab7': '#337ab7',
  501. '#5cb85c': '#5cb85c',
  502. '#5bc0de': '#5bc0de',
  503. '#f0ad4e': '#f0ad4e',
  504. '#d9534f': '#d9534f'
  505. }
  506. });
  507. });
  508. </script>
  509. <script type='text/javascript'>
  510. $(function() {
  511. var scntDiv = $('#tagsForm');
  512. var i = <?=$i?>;
  513. $('#addScnt').on('click', function() {
  514. $('<div class="form-group clearfix ui-sortable-handle well well-sm" style="padding-bottom: 0px; padding-top: 10px; margin-bottom: 5px;"> <span class="btn btn-default move" type="button"><span class="fa fa-arrows"></span></span> <div style="margin-bottom: 8px" class="input-group"><div class="input-group-addon">Name</div><input style="margin-bottom: 0px" name="category-' + i +'" class="form-control" placeholder="Tag" value="New Tab"></div> <div style="margin-bottom: 8px" class="input-group"><div class="input-group-addon">URL</div><input style="margin-bottom: 0px" type="text" name="url-' + i +'" class="form-control" placeholder="url" value="Add URL"></div> <div style="margin-bottom: 8px" class="input-group"><div class="input-group-addon">Group</div><input style="margin-bottom: 0px; width: 35px" type="text" name="group-' + i +'" class="form-control" placeholder="1" value="1"></div> <button data-placement="left" data-cols="5" data-rows="5" class="btn btn-default iconpicker" name="icon-' + i +'" role="iconpicker" data-iconset="fontawesome" data-icon="fa-question"><i class="fa fa-play-circle-o"></i><input type="hidden" name="icon-' + i +'" value="fa-play-circle-o"><span class="caret"></span></button> <input type="radio" name="default"> <label> Default</label><input type="checkbox" name="enabled-' + i +'" id="enabled-' + i +'" class="css-checkbox" checked> <label for="enabled-' + i +'" class="css-label">Enabled</label> <input type="checkbox" name="guest-' + i +'" id="guest-' + i +'" class="css-checkbox"> <label for="guest-' + i +'" class="css-label">Guest</label> <button style="float: right" class="btn btn-danger deleteGroup" id="remScnt" type="button"><span class="fa fa-trash"></span></button></div>').appendTo(scntDiv);
  515. i++;
  516. return false;
  517. });
  518. $(document).on('click','#remScnt', function() {
  519. $(this).closest('div').remove();
  520. i--;
  521. return false;
  522. });
  523. });
  524. </script>
  525. <script>
  526. function defaultTheme() {
  527. document.getElementById("bgText").value = "#f2f2f2";
  528. document.getElementById("tabborderText").value = "#cecece";
  529. document.getElementById("tabhighlightText").value = "#f44343";
  530. document.getElementById("tabcoloractiveText").value = "#ffffff";
  531. document.getElementById("fontcoloractiveText").value = "#f44343";
  532. document.getElementById("tabshadowactiveText").value = "#808080";
  533. document.getElementById("tabcolorText").value = "#ffffff";
  534. document.getElementById("fontcolorText").value = "#000000";
  535. document.getElementById("tabshadowText").value = "#c7c6c6";
  536. }
  537. </script>
  538. <script>
  539. function Theme1() {
  540. document.getElementById("bgText").value = "#d1d1d1";
  541. document.getElementById("tabborderText").value = "#ffffff";
  542. document.getElementById("tabhighlightText").value = "#5bc0de";
  543. document.getElementById("tabcoloractiveText").value = "#ffffff";
  544. document.getElementById("fontcoloractiveText").value = "#000000";
  545. document.getElementById("tabshadowactiveText").value = "#777777";
  546. document.getElementById("tabcolorText").value = "#5bc0de";
  547. document.getElementById("fontcolorText").value = "#ffffff";
  548. document.getElementById("tabshadowText").value = "#777777";
  549. }
  550. </script>
  551. <script>
  552. function Theme2() {
  553. document.getElementById("bgText").value = "#d1d1d1";
  554. document.getElementById("tabborderText").value = "#ffffff";
  555. document.getElementById("tabhighlightText").value = "#5cb85c";
  556. document.getElementById("tabcoloractiveText").value = "#ffffff";
  557. document.getElementById("fontcoloractiveText").value = "#000000";
  558. document.getElementById("tabshadowactiveText").value = "#777777";
  559. document.getElementById("tabcolorText").value = "#5cb85c";
  560. document.getElementById("fontcolorText").value = "#ffffff";
  561. document.getElementById("tabshadowText").value = "#777777";
  562. }
  563. </script>
  564. <script>
  565. function Theme3() {
  566. document.getElementById("bgText").value = "#d1d1d1";
  567. document.getElementById("tabborderText").value = "#ffffff";
  568. document.getElementById("tabhighlightText").value = "#f0ad4e";
  569. document.getElementById("tabcoloractiveText").value = "#ffffff";
  570. document.getElementById("fontcoloractiveText").value = "#000000";
  571. document.getElementById("tabshadowactiveText").value = "#777777";
  572. document.getElementById("tabcolorText").value = "#f0ad4e";
  573. document.getElementById("fontcolorText").value = "#ffffff";
  574. document.getElementById("tabshadowText").value = "#777777";
  575. }
  576. </script>
  577. <script>
  578. function Theme4() {
  579. document.getElementById("bgText").value = "#d1d1d1";
  580. document.getElementById("tabborderText").value = "#ffffff";
  581. document.getElementById("tabhighlightText").value = "#337ab7";
  582. document.getElementById("tabcoloractiveText").value = "#ffffff";
  583. document.getElementById("fontcoloractiveText").value = "#000000";
  584. document.getElementById("tabshadowactiveText").value = "#777777";
  585. document.getElementById("tabcolorText").value = "#337ab7";
  586. document.getElementById("fontcolorText").value = "#ffffff";
  587. document.getElementById("tabshadowText").value = "#777777";
  588. }
  589. </script>
  590. <script>
  591. function Theme5() {
  592. document.getElementById("bgText").value = "#d1d1d1";
  593. document.getElementById("tabborderText").value = "#ffffff";
  594. document.getElementById("tabhighlightText").value = "#d9534f";
  595. document.getElementById("tabcoloractiveText").value = "#ffffff";
  596. document.getElementById("fontcoloractiveText").value = "#000000";
  597. document.getElementById("tabshadowactiveText").value = "#777777";
  598. document.getElementById("tabcolorText").value = "#d9534f";
  599. document.getElementById("fontcolorText").value = "#ffffff";
  600. document.getElementById("tabshadowText").value = "#777777";
  601. }
  602. </script>
  603. <script>
  604. function plexTheme() {
  605. document.getElementById("bgText").value = "#8b8b8b";
  606. document.getElementById("tabborderText").value = "#1f1f1f";
  607. document.getElementById("tabhighlightText").value = "#cc7c2a";
  608. document.getElementById("tabcoloractiveText").value = "#f5bc32";
  609. document.getElementById("fontcoloractiveText").value = "#000000";
  610. document.getElementById("tabshadowactiveText").value = "#808080";
  611. document.getElementById("tabcolorText").value = "#1f1f1f";
  612. document.getElementById("fontcolorText").value = "#ffffff";
  613. document.getElementById("tabshadowText").value = "#c7c6c6";
  614. }
  615. </script>
  616. <script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script>
  617. <script src='https://code.jquery.com/ui/1.11.2/jquery-ui.min.js'></script>
  618. <script>$( "#tagsForm" ).sortable({connectWith: ".sortable"});</script>
  619. <!-- jQuery -->
  620. <script type="text/javascript" src="js/jquery-1.10.2.min.js"></script>
  621. <!-- Bootstrap -->
  622. <script type="text/javascript" src="js/bootstrap.min.js"></script>
  623. <!-- Bootstrap-Iconpicker Iconset for Font Awesome -->
  624. <script type="text/javascript" src="js/iconset-fontawesome-4.2.0.min.js"></script>
  625. <!-- Bootstrap-Iconpicker -->
  626. <script type="text/javascript" src="js/bootstrap-iconpicker.min.js"></script>
  627. <script src="https://code.jquery.com/jquery-2.2.2.min.js"></script>
  628. <script src="js/bootstrap-colorpicker.js"></script>
  629. </body>
  630. </html>