add8257cb9ed1feb5f4bc515eaf85c8ad2a6d46d
[infodrom/rico3] / examples / php / LoadRicoClient.php
1 <?php\r
2 \r
3 $jsDir="../../ricoClient/js/";       // directory containing Rico's javascript files\r
4 $cssDir="../../ricoClient/css/";     // directory containing Rico's css files\r
5 $imgDir="../../ricoClient/images/";  // directory containing Rico's image files\r
6 $transDir=$jsDir."translations/";\r
7 $baselibsDir=$jsDir."baselibs/";\r
8 $grid_striping=true;       // apply row striping to LiveGrids?\r
9 $checkQueryString = true;  // load settings from QueryString? true for demo, false for production\r
10 $LoadBaseLib = true;       // load base Javascript library (prototype, jQuery, etc) from Rico directory?\r
11 $jQuery_theme_path = "http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/themes/";\r
12 \r
13 if ($checkQueryString) {\r
14   $ricoLib=$_GET['lib'];\r
15   $ricoTheme=$_GET["theme"];\r
16   $ricoLogging=isset($_GET["log"]);\r
17 } else {\r
18   // set your production values here\r
19   $ricoLib="prototype-1.6";     // base library\r
20   $ricoTheme="j-ui-lightness";  // jquery themes start with j-, rico themes start with r-\r
21   $ricoLogging=false;\r
22 }\r
23 \r
24 SetConfig();\r
25 LoadLib($ricoLib, $LoadBaseLib);\r
26 setLang();\r
27 LoadTheme($ricoTheme);\r
28 \r
29 \r
30 // initialize Rico\r
31 function SetConfig() {\r
32   global $jsDir,$cssDir,$imgDir,$ricoLogging;\r
33   echo "\n<script type='text/javascript'>\n";\r
34   echo "Rico_CONFIG = {\n";\r
35   if ($ricoLogging) echo "enableLogging: true,\n";\r
36   echo "jsDir: '" . $jsDir . "',\n";\r
37   echo "cssDir: '" . $cssDir . "',\n";\r
38   echo "imgDir: '" . $imgDir . "'\n";\r
39   echo "};";\r
40   echo "</script>\n";\r
41 }\r
42 \r
43 \r
44 function LoadLib($baseLib, $baseLoadFlag) {\r
45   global $baselibsDir,$transDir;\r
46   if ($baseLoadFlag) {\r
47     if (strpos($baseLib,"/") === false) {\r
48       echo "<script src='".$baselibsDir.$baseLib.".js' type='text/javascript'></script>\n";\r
49     } else {\r
50       echo "<script src='http://ajax.googleapis.com/ajax/libs/".$baseLib."' type='text/javascript'></script>\n";\r
51     }\r
52   }\r
53   requireRicoJS("");\r
54   requireRicoJS("2" . substr($baseLib,0,3));\r
55   echo "<script src='".$transDir."ricoLocale_en.js' type='text/javascript'></script>\n";\r
56   requireRicoCSS("rico");\r
57   requireRicoJS("UI");\r
58 }\r
59 \r
60 \r
61 // -------------------------------------------------------------\r
62 // Check languages accepted by browser\r
63 // and see if there is a match\r
64 // -------------------------------------------------------------\r
65 function setLang() {\r
66   global $transDir;\r
67   $lang=strtolower($_SERVER["HTTP_ACCEPT_LANGUAGE"]);\r
68   $arLang=explode(",",$lang);\r
69   for ($i=0; $i<count($arLang); $i++) {\r
70     $lang2=strtolower(substr(trim($arLang[$i]),0,2));\r
71     if ($lang2=='en') break; // already included\r
72     $fname=$transDir."ricoLocale_".$lang2.".js";\r
73     if (file_exists($fname)) {\r
74       echo "<script src='".$fname."' type='text/javascript'></script>";\r
75       break;\r
76     } \r
77   }\r
78 }\r
79 \r
80 \r
81 // set theme\r
82 // "j-ui-lightness" for a Themeroller theme\r
83 // "r-greenHdg" for a native Rico theme\r
84 function LoadTheme($theme) {\r
85   global $cssDir,$grid_striping,$jQuery_theme_path;\r
86   $prefix=substr($theme,0,1);\r
87   $theme=substr($theme,2);\r
88   switch ($prefix) {\r
89     case 'j':\r
90       requireRicoJS("Themeroller");\r
91       //echo "<link type='text/css' rel='stylesheet' href='".$cssDir."jquery-base/ui.base.css' />";\r
92       echo "<link type='text/css' rel='Stylesheet' href='" . $jQuery_theme_path . $theme."/jquery-ui.css' />";\r
93       break;\r
94     case 'r':\r
95       requireRicoCSS($theme);\r
96       break;\r
97   }\r
98   if ($grid_striping) {\r
99     echo "<link type='text/css' rel='stylesheet' href='".$cssDir."striping/".$theme.".css' />";\r
100   }\r
101 }\r
102 \r
103 function requireRicoJS($filename) {\r
104   global $jsDir;\r
105   echo "<script src='".$jsDir."rico".$filename.".js' type='text/javascript'></script>\n";\r
106 }\r
107 \r
108 function requireRicoCSS($filename) {\r
109   global $cssDir;\r
110   echo "<link href='".$cssDir.$filename.".css' type='text/css' rel='stylesheet' />\n";\r
111 }\r
112 \r
113 ?>\r
114 \r