Add version files and new GIF images for UI components

This commit is contained in:
2025-04-03 06:26:44 +07:00
commit 663c28a2ea
5219 changed files with 772528 additions and 0 deletions

View File

@ -0,0 +1,6 @@
@echo libCompiler for DHTMLX 4.x
@echo to run you need to have php and jre installed
@echo replace path_to_php_dir with real path below
@c:\path_to_php_dir\php.exe lib_compiler.php
@pause

View File

@ -0,0 +1,6 @@
@echo libCompiler for DHTMLX 4.x
@echo to run you need to have php and jre installed
@echo replace path_to_php_dir with real path below
@c:\path_to_php_dir\php.exe lib_compiler.php --debug=true
@pause

View File

@ -0,0 +1 @@
dhtmlx

View File

@ -0,0 +1,7 @@
/*
Product Name: dhtmlxSuite
Version: 5.2.0
Edition: Professional
License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com
Copyright UAB Dinamenta http://www.dhtmlx.com
*/

View File

@ -0,0 +1,7 @@
dhtmlxChart/codebase/ thirdparty/excanvas/AUTHORS
dhtmlxChart/codebase/ thirdparty/excanvas/COPYING
dhtmlxChart/codebase/ thirdparty/excanvas/README
dhtmlxChart/codebase/ thirdparty/excanvas/excanvas.js
dhtmlxForm/codebase/ ext/swfobject.js
dhtmlxForm/codebase/ ext/uploader.swf
dhtmlxForm/codebase/ ext/dhxupload.xap

View File

@ -0,0 +1,92 @@
dhtmlxCalendar/codebase/skins/dhtmlxcalendar_dhx_skyblue.css
dhtmlxCalendar/codebase/skins/dhtmlxcalendar_dhx_web.css
dhtmlxCalendar/codebase/skins/dhtmlxcalendar_dhx_terrace.css
dhtmlxCalendar/codebase/skins/dhtmlxcalendar_material.css
dhtmlxCombo/codebase/skins/dhtmlxcombo_dhx_skyblue.css
dhtmlxCombo/codebase/skins/dhtmlxcombo_dhx_web.css
dhtmlxCombo/codebase/skins/dhtmlxcombo_dhx_terrace.css
dhtmlxCombo/codebase/skins/dhtmlxcombo_material.css
dhtmlxColorPicker/codebase/skins/dhtmlxcolorpicker_dhx_skyblue.css
dhtmlxColorPicker/codebase/skins/dhtmlxcolorpicker_dhx_web.css
dhtmlxColorPicker/codebase/skins/dhtmlxcolorpicker_dhx_terrace.css
dhtmlxColorPicker/codebase/skins/dhtmlxcolorpicker_material.css
dhtmlxSlider/codebase/skins/dhtmlxslider_dhx_skyblue.css
dhtmlxSlider/codebase/skins/dhtmlxslider_dhx_web.css
dhtmlxSlider/codebase/skins/dhtmlxslider_dhx_terrace.css
dhtmlxSlider/codebase/skins/dhtmlxslider_material.css
dhtmlxPopup/codebase/skins/dhtmlxpopup_dhx_skyblue.css
dhtmlxPopup/codebase/skins/dhtmlxpopup_dhx_web.css
dhtmlxPopup/codebase/skins/dhtmlxpopup_dhx_terrace.css
dhtmlxPopup/codebase/skins/dhtmlxpopup_material.css
dhtmlxMenu/codebase/skins/dhtmlxmenu_dhx_skyblue.css
dhtmlxMenu/codebase/skins/dhtmlxmenu_dhx_web.css
dhtmlxMenu/codebase/skins/dhtmlxmenu_dhx_terrace.css
dhtmlxMenu/codebase/skins/dhtmlxmenu_material.css
dhtmlxRibbon/codebase/skins/dhtmlxribbon_dhx_skyblue.css
dhtmlxRibbon/codebase/skins/dhtmlxribbon_dhx_web.css
dhtmlxRibbon/codebase/skins/dhtmlxribbon_dhx_terrace.css
dhtmlxRibbon/codebase/skins/dhtmlxribbon_material.css
dhtmlxToolbar/codebase/skins/dhtmlxtoolbar_dhx_skyblue.css
dhtmlxToolbar/codebase/skins/dhtmlxtoolbar_dhx_web.css
dhtmlxToolbar/codebase/skins/dhtmlxtoolbar_dhx_terrace.css
dhtmlxToolbar/codebase/skins/dhtmlxtoolbar_material.css
dhtmlxEditor/codebase/skins/dhtmlxeditor_dhx_skyblue.css
dhtmlxEditor/codebase/skins/dhtmlxeditor_dhx_web.css
dhtmlxEditor/codebase/skins/dhtmlxeditor_dhx_terrace.css
dhtmlxEditor/codebase/skins/dhtmlxeditor_material.css
dhtmlxChart/codebase/skins/dhtmlxchart_dhx_skyblue.css
dhtmlxChart/codebase/skins/dhtmlxchart_dhx_web.css
dhtmlxChart/codebase/skins/dhtmlxchart_dhx_terrace.css
dhtmlxChart/codebase/skins/dhtmlxchart_material.css
dhtmlxDataView/codebase/skins/dhtmlxdataview_dhx_skyblue.css
dhtmlxDataView/codebase/skins/dhtmlxdataview_dhx_web.css
dhtmlxDataView/codebase/skins/dhtmlxdataview_dhx_terrace.css
dhtmlxDataView/codebase/skins/dhtmlxdataview_material.css
dhtmlxList/codebase/skins/dhtmlxlist_dhx_skyblue.css
dhtmlxList/codebase/skins/dhtmlxlist_dhx_web.css
dhtmlxList/codebase/skins/dhtmlxlist_dhx_terrace.css
dhtmlxList/codebase/skins/dhtmlxlist_material.css
dhtmlxTree/codebase/skins/dhtmlxtree_dhx_skyblue.css
dhtmlxTree/codebase/skins/dhtmlxtree_dhx_web.css
dhtmlxTree/codebase/skins/dhtmlxtree_dhx_terrace.css
dhtmlxTree/codebase/skins/dhtmlxtree_material.css
dhtmlxTreeView/codebase/skins/dhtmlxtreeview_dhx_skyblue.css
dhtmlxTreeView/codebase/skins/dhtmlxtreeview_dhx_web.css
dhtmlxTreeView/codebase/skins/dhtmlxtreeview_dhx_terrace.css
dhtmlxTreeView/codebase/skins/dhtmlxtreeview_material.css
dhtmlxGrid/codebase/skins/dhtmlxgrid_dhx_skyblue.css
dhtmlxGrid/codebase/skins/dhtmlxgrid_dhx_web.css
dhtmlxGrid/codebase/skins/dhtmlxgrid_dhx_terrace.css
dhtmlxGrid/codebase/skins/dhtmlxgrid_material.css
dhtmlxForm/codebase/skins/dhtmlxform_dhx_skyblue.css
dhtmlxForm/codebase/skins/dhtmlxform_dhx_web.css
dhtmlxForm/codebase/skins/dhtmlxform_dhx_terrace.css
dhtmlxForm/codebase/skins/dhtmlxform_material.css
dhtmlxAccordion/codebase/skins/dhtmlxaccordion_dhx_skyblue.css
dhtmlxAccordion/codebase/skins/dhtmlxaccordion_dhx_web.css
dhtmlxAccordion/codebase/skins/dhtmlxaccordion_dhx_terrace.css
dhtmlxAccordion/codebase/skins/dhtmlxaccordion_material.css
dhtmlxLayout/codebase/skins/dhtmlxlayout_dhx_skyblue.css
dhtmlxLayout/codebase/skins/dhtmlxlayout_dhx_web.css
dhtmlxLayout/codebase/skins/dhtmlxlayout_dhx_terrace.css
dhtmlxLayout/codebase/skins/dhtmlxlayout_material.css
dhtmlxTabbar/codebase/skins/dhtmlxtabbar_dhx_skyblue.css
dhtmlxTabbar/codebase/skins/dhtmlxtabbar_dhx_web.css
dhtmlxTabbar/codebase/skins/dhtmlxtabbar_dhx_terrace.css
dhtmlxTabbar/codebase/skins/dhtmlxtabbar_material.css
dhtmlxSidebar/codebase/skins/dhtmlxsidebar_dhx_skyblue.css
dhtmlxSidebar/codebase/skins/dhtmlxsidebar_dhx_web.css
dhtmlxSidebar/codebase/skins/dhtmlxsidebar_dhx_terrace.css
dhtmlxSidebar/codebase/skins/dhtmlxsidebar_material.css
dhtmlxCarousel/codebase/skins/dhtmlxcarousel_dhx_skyblue.css
dhtmlxCarousel/codebase/skins/dhtmlxcarousel_dhx_web.css
dhtmlxCarousel/codebase/skins/dhtmlxcarousel_dhx_terrace.css
dhtmlxCarousel/codebase/skins/dhtmlxcarousel_material.css
dhtmlxWindows/codebase/skins/dhtmlxwindows_dhx_skyblue.css
dhtmlxWindows/codebase/skins/dhtmlxwindows_dhx_web.css
dhtmlxWindows/codebase/skins/dhtmlxwindows_dhx_terrace.css
dhtmlxWindows/codebase/skins/dhtmlxwindows_material.css
dhtmlxMessage/codebase/skins/dhtmlxmessage_dhx_web.css
dhtmlxMessage/codebase/skins/dhtmlxmessage_dhx_skyblue.css
dhtmlxMessage/codebase/skins/dhtmlxmessage_dhx_terrace.css
dhtmlxMessage/codebase/skins/dhtmlxmessage_material.css

View File

@ -0,0 +1,24 @@
dhtmlxCommon/codebase/dhtmlxcommon_deprecated.js
dhtmlxCalendar/codebase/dhtmlxcalendar_deprecated.js
dhtmlxCombo/codebase/dhtmlxcombo_deprecated.js
dhtmlxColorPicker/codebase/dhtmlxcolorpicker_deprecated.js
dhtmlxSlider/codebase/dhtmlxslider_deprecated.js
dhtmlxMenu/codebase/dhtmlxmenu_deprecated.js
dhtmlxToolbar/codebase/dhtmlxtoolbar_deprecated.js
dhtmlxTree/codebase/ext/dhtmlxtree_path.js
dhtmlxTree/codebase/ext/dhtmlxtree_srnd.js
dhtmlxGrid/codebase/ext/dhtmlxgrid_pivot.js
dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_dec.js
dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_cor.js
dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_wbut.js
dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_passw.js
dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_num.js
dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_mro.js
dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_liveedit.js
dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_limit.js
dhtmlxTreeGrid/codebase/ext/dhtmlxtreegrid_property.js
dhtmlxForm/codebase/dhtmlxform_deprecated.js
dhtmlxAccordion/codebase/dhtmlxaccordion_deprecated.js
dhtmlxLayout/codebase/dhtmlxlayout_deprecated.js
dhtmlxTabbar/codebase/dhtmlxtabbar_deprecated.js
dhtmlxWindows/codebase/dhtmlxwindows_deprecated.js

View File

@ -0,0 +1,102 @@
dhtmlxCommon/codebase/dhtmlxcommon.js
dhtmlxCommon/codebase/dhtmlxcore.js
dhtmlxCommon/codebase/dhtmlxcontainer.js
dhtmlxCalendar/codebase/dhtmlxcalendar.js
dhtmlxCalendar/codebase/ext/dhtmlxcalendar_double.js
dhtmlxCombo/codebase/dhtmlxcombo.js
dhtmlxColorPicker/codebase/dhtmlxcolorpicker.js
dhtmlxSlider/codebase/dhtmlxslider.js
dhtmlxPopup/codebase/dhtmlxpopup.js
dhtmlxMenu/codebase/dhtmlxmenu.js
dhtmlxMenu/codebase/ext/dhtmlxmenu_ext.js
dhtmlxMenu/codebase/ext/dhtmlxmenu_effects.js
dhtmlxRibbon/codebase/dhtmlxribbon.js
dhtmlxToolbar/codebase/dhtmlxtoolbar.js
dhtmlxEditor/codebase/dhtmlxeditor.js
dhtmlxEditor/codebase/ext/dhtmlxeditor_ext.js
dhtmlxChart/codebase/dhtmlxchart.js
dhtmlxDataView/codebase/dhtmlxdataview.js
dhtmlxList/codebase/dhtmlxlist.js
dhtmlxTree/codebase/dhtmlxtree.js
dhtmlxTree/codebase/ext/dhtmlxtree_dragin.js
dhtmlxTree/codebase/ext/dhtmlxtree_ed.js
dhtmlxTree/codebase/ext/dhtmlxtree_json.js
dhtmlxTree/codebase/ext/dhtmlxtree_start.js
dhtmlxTree/codebase/ext/dhtmlxtree_attrs.js
dhtmlxTree/codebase/ext/dhtmlxtree_kn.js
dhtmlxTree/codebase/ext/dhtmlxtree_lf.js
dhtmlxTree/codebase/ext/dhtmlxtree_li.js
dhtmlxTree/codebase/ext/dhtmlxtree_rl.js
dhtmlxTree/codebase/ext/dhtmlxtree_sb.js
dhtmlxTree/codebase/ext/dhtmlxtree_xw.js
dhtmlxTreeView/codebase/dhtmlxtreeview.js
dhtmlxGrid/codebase/dhtmlxgrid.js
dhtmlxGrid/codebase/ext/dhtmlxgrid_drag.js
dhtmlxGrid/codebase/ext/dhtmlxgrid_export.js
dhtmlxGrid/codebase/ext/dhtmlxgrid_filter.js
dhtmlxGrid/codebase/ext/dhtmlxgrid_nxml.js
dhtmlxGrid/codebase/ext/dhtmlxgrid_selection.js
dhtmlxGrid/codebase/ext/dhtmlxgrid_srnd.js
dhtmlxGrid/codebase/ext/dhtmlxgrid_validation.js
dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_tree.js
dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_link.js
dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_grid.js
dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_dhxcalendar.js
dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_cntr.js
dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_acheck.js
dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_context.js
dhtmlxGrid/codebase/ext/dhtmlxgrid_json.js
dhtmlxGrid/codebase/ext/dhtmlxgrid_start.js
dhtmlxGrid/codebase/ext/dhtmlxgrid_data.js
dhtmlxGrid/codebase/ext/dhtmlxgrid_fast.js
dhtmlxGrid/codebase/ext/dhtmlxgrid_filter_ext.js
dhtmlxGrid/codebase/ext/dhtmlxgrid_form.js
dhtmlxGrid/codebase/ext/dhtmlxgrid_group.js
dhtmlxGrid/codebase/ext/dhtmlxgrid_hextra.js
dhtmlxGrid/codebase/ext/dhtmlxgrid_hmenu.js
dhtmlxGrid/codebase/ext/dhtmlxgrid_markers.js
dhtmlxGrid/codebase/ext/dhtmlxgrid_math.js
dhtmlxGrid/codebase/ext/dhtmlxgrid_mcol.js
dhtmlxGrid/codebase/ext/dhtmlxgrid_over.js
dhtmlxGrid/codebase/ext/dhtmlxgrid_pgn.js
dhtmlxGrid/codebase/ext/dhtmlxgrid_post.js
dhtmlxGrid/codebase/ext/dhtmlxgrid_rowspan.js
dhtmlxGrid/codebase/ext/dhtmlxgrid_splt.js
dhtmlxGrid/codebase/ext/dhtmlxgrid_ssc.js
dhtmlxGrid/codebase/ext/dhtmlxgrid_undo.js
dhtmlxGrid/codebase/ext/dhtmlxgrid_keymap.js
dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_time.js
dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_sub_row.js
dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_ra_str.js
dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_combo.js
dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_clist.js
dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_calck.js
dhtmlxTreeGrid/codebase/dhtmlxtreegrid.js
dhtmlxTreeGrid/codebase/ext/dhtmlxtreegrid_lines.js
dhtmlxTreeGrid/codebase/ext/dhtmlxtreegrid_filter.js
dhtmlxForm/codebase/dhtmlxform.js
dhtmlxForm/codebase/ext/dhtmlxform_item_combo.js
dhtmlxForm/codebase/ext/dhtmlxform_item_calendar.js
dhtmlxForm/codebase/ext/dhtmlxform_item_btn2state.js
dhtmlxForm/codebase/ext/dhtmlxform_item_colorpicker.js
dhtmlxForm/codebase/ext/dhtmlxform_item_container.js
dhtmlxForm/codebase/ext/dhtmlxform_item_editor.js
dhtmlxForm/codebase/ext/dhtmlxform_item_image.js
dhtmlxForm/codebase/ext/dhtmlxform_item_upload.js
dhtmlxForm/codebase/ext/dhtmlxform_backup.js
dhtmlxForm/codebase/ext/dhtmlxform_dyn.js
dhtmlxAccordion/codebase/dhtmlxaccordion.js
dhtmlxAccordion/codebase/ext/dhtmlxaccordion_dnd.js
dhtmlxLayout/codebase/dhtmlxlayout.js
dhtmlxTabbar/codebase/dhtmlxtabbar.js
dhtmlxTabbar/codebase/dhtmlxtabbar_start.js
dhtmlxSidebar/codebase/dhtmlxsidebar.js
dhtmlxCarousel/codebase/dhtmlxcarousel.js
dhtmlxWindows/codebase/dhtmlxwindows.js
dhtmlxWindows/codebase/ext/dhtmlxwindows_dnd.js
dhtmlxWindows/codebase/ext/dhtmlxwindows_resize.js
dhtmlxWindows/codebase/ext/dhtmlxwindows_menu.js
dhtmlxMessage/codebase/dhtmlxmessage.js
dhtmlxDataStore/codebase/datastore.js
dhtmlxCommon/codebase/dhtmlxdataprocessor.js
dhtmlxCommon/codebase/connector.js

View File

@ -0,0 +1,214 @@
<?php
header("Content-Type: text/plain");
set_time_limit(0);
$compiler = "java -jar yui.jar";
$copyright = @file_get_contents("conf/copyright")."\n\n";
$skins = array("skyblue", "web", "terrace", "material");
if (!file_exists("../../skins")) mkdir("../../skins");
if (!file_exists("../../codebase")) mkdir("../../codebase");
$fname = trim(file_get_contents("conf/compressed_filename"));
$debug = (preg_match("/--debug=true/", @$argv[1]) > 0) || (@$_REQUEST["debug"] == "y");
// js
print_r("\ncompress js\n".str_repeat("-",80)."\n");
$stat = array(
"stat_js" => $fname.".js",
"stat_depr" => $fname."_deprecated.js"
);
foreach ($stat as $st=>$output) {
$content = "";
// list of files
$files = array_values(array_map("trim", array_diff(explode("\n", file_get_contents("conf/".$st)), array(""))));
for ($q=0; $q<count($files); $q++) {
if (file_exists("../".$files[$q]) && !is_dir("../".$files[$q])) $content .= file_get_contents("../".$files[$q])."\n";
}
$dversion = @$_REQUEST["dversion"];
if ($dversion)
$content = str_replace("{{VERSION}}", $dversion, $content);
// compress
if (strlen($content) > 0) {
$name = "../../codebase/".$output;
file_put_contents("temp.js", $content);
exec($compiler.' --type js temp.js -o "'.$name.'"');
unlink("temp.js");
// copyright
file_put_contents($name, $copyright.file_get_contents($name));
//
print_r(sprintf("%10s bytes", number_format(filesize("../../codebase/".$output))).str_repeat(" ",4)."../../codebase/".$output."\n");
}
// debug
if ($debug == true && $st == "stat_js") {
$output_d = "../../codebase/".$fname."_debug.js";
file_put_contents($output_d, $content);
print_r(sprintf("%10s bytes", number_format(filesize($output_d))).str_repeat(" ",4).$output_d."\n");
}
}
// js copy only
$files = array_values(array_map("trim", array_diff(explode("\n", file_get_contents("conf/stat_copy")), array(""))));
if (count($files) > 0) {
print_r("\njs copy only\n".str_repeat("-",80)."\n");
}
for ($q=0; $q<count($files); $q++) {
$d = explode("\t", $files[$q]); // path->file
if (file_exists("../".$d[0].$d[1]) && !is_dir("../".$d[0].$d[1])) {
// create dirs if any
$k = "../../codebase";
$p = pathinfo($d[1]);
if ($p["dirname"] != ".") {
$f = explode("/", $p["dirname"]);
for ($w=0; $w<count($f); $w++) {
$k .= "/".$f[$w];
if (!file_exists($k)) mkdir($k);
}
}
$k .= "/".$p["basename"];
@copy("../".$d[0].$d[1], $k);
print_r(sprintf("%10s bytes", number_format(filesize($k))).str_repeat(" ",4).$k."\n");
}
}
// css
// read content
$content = array();
$files = array_values(array_map("trim", explode("\n", file_get_contents("conf/stat_css"))));
for ($q=0; $q<count($files); $q++) {
// detect skin
$path = pathinfo($files[$q]);
preg_match("/[a-z]*$/", $path["filename"], $m);
if (isset($m[0]) && in_array($m[0], $skins)) {
if (!isset($content[$m[0]])) $content[$m[0]] = "";
$content[$m[0]] .= file_get_contents("../".$files[$q]);
}
}
if (count($content) > 0) {
print_r("\ncompress css\n".str_repeat("-",80)."\n");
}
// compress
for ($q=0; $q<count($skins); $q++) {
// prepare dir
if (!isset($content[$skins[$q]])) continue;
$output = "../../skins/".$skins[$q];
if (!file_exists($output)) mkdir($output);
$output .= "/".$fname.".css";
// replace ../imgs/
$a = str_replace("../imgs/", "imgs/", $content[$skins[$q]]);
// compress
file_put_contents("temp.css", $a);
exec($compiler.' --type css temp.css -o "'.$output.'"');
$css_data = file_get_contents($output);
// postprocessing for IE
$s1 = array(",M12", ",M21", ",M22", ",sizingMethod");
$s2 = array(", M12", ", M21", ", M22", ", sizingMethod");
$css_data = str_replace($s1, $s2, $css_data);
// copyright
$css_data = $copyright.$css_data;
file_put_contents($output, $css_data);
//
print_r(sprintf("%10s bytes", number_format(filesize($output))).str_repeat(" ",4).$output."\n");
// debug/clear
if ($debug == true) {
$debug_name = "../../skins/".$skins[$q]."/".$fname."_debug.css";
rename("temp.css", $debug_name);
print_r(sprintf("%10s bytes", number_format(filesize($debug_name))).str_repeat(" ",4).$debug_name."\n");
} else {
unlink("temp.css");
}
}
// images
// print_r("\n\ncopy images\n".str_repeat("-",80)."\n");
$d = opendir("../");
if ($d !== false) {
while (false != ($f = readdir($d))) {
if (!in_array($f, array(".","..","libCompiler"))) {
$name = "../".$f."/codebase/imgs";
if (file_exists($name)) copy_dir($name, "../../skins");
}
}
closedir($d);
}
function copy_dir($from, $to, $skin_found=false) {
global $skins;
$d = opendir($from);
if ($d !== false) {
while (false !== ($f = readdir($d))) {
if (!in_array($f, array(".",".."))) {
if (!$skin_found) {
if (is_dir($from."/".$f)) {
// detect skin
preg_match("/[a-z]*$/", $f, $m);
if (isset($m[0]) && in_array($m[0], $skins)) {
// skin detected, create dest dir
$skin_dirs = array($m[0], "imgs", $f);
$skin_dir = $to;
for ($q=0; $q<count($skin_dirs); $q++) {
$skin_dir .= "/".$skin_dirs[$q];
if (!file_exists($skin_dir)) mkdir($skin_dir);
}
copy_dir($from."/".$f, $skin_dir, true);
}
}
} else {
if (is_dir($from."/".$f)) {
if (!file_exists($to."/".$f)) mkdir($to."/".$f);
copy_dir($from."/".$f, $to."/".$f, true);
} else {
copy($from."/".$f, $to."/".$f);
}
}
}
}
closedir($d);
}
}
// copy web skin to codebase (default skin)
if (file_exists("../../skins/material")) {
copy_dir("../../skins/material", "../../codebase", true);
}
print_r("\n\n");
?>

Binary file not shown.