$type = 'fonts'; break; } } // JS and CSS special stuffs if ($type == 'stylesheets' || $type == 'javascripts') { // Compression var if ($has_compression) { $cache_encoding = 'deflate'; } else { $cache_encoding = 'plain'; } // Get the vars $version = getVersion(); $hash = genHash($version); $cache_hash = md5($path . $hash . staticLocation()) . '_' . $cache_encoding; // Check if the browser supports DEFLATE $deflate_support = false; if (isset($_SERVER['HTTP_ACCEPT_ENCODING']) && substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'deflate') && hasCompression() && !$is_developer) { $deflate_support = true; } // Internationalization if ($type == 'javascripts') { if (isset($_GET['l']) && !empty($_GET['l']) && !preg_match('/\\.\\.\\//', $_GET['l']) && is_dir(JAPPIX_BASE . '/i18n/' . $_GET['l'])) { $locale = $_GET['l']; } else { $locale = 'en'; } } else { $locale = ''; }
function getFiles($h, $l, $t, $g, $f) { // Define the good path to the Get API if (isStaticURL()) { $path_to = staticLocation(); } else { $path_to = hasStatic() ? HOST_STATIC . '/' : JAPPIX_BASE . '/'; } if (!multiFiles()) { $values = array(); if ($h) { $values[] = 'h=' . $h; } if ($l) { $values[] = 'l=' . $l; } if ($t) { $values[] = 't=' . $t; } if ($g) { $values[] = 'g=' . $g; } if ($f) { $values[] = 'f=' . $f; } return $path_to . 'server/get.php?' . implode('&', $values); } if ($g && !empty($g) && preg_match('/^(\\S+)\\.xml$/', $g) && preg_match('/^(css|js)$/', $t) && isSafe($g) && file_exists('bundles/' . $g)) { $xml_data = file_get_contents('bundles/' . $g); // Any data? if ($xml_data) { $xml_read = new SimpleXMLElement($xml_data); $xml_parse = $xml_read->{$t}; // Files were added to the list before (with file var)? if ($f) { $f .= '~' . $xml_parse; } else { $f = $xml_parse; } } } // Explode the f string if (strpos($f, '~') !== false) { $array = explode('~', $f); } else { $array = array($f); } $a = array(); foreach ($array as $file) { $a[] = $path_to . $t . '/' . $file; } if (count($a) === 1) { return $a[0]; } return $a; }
function setConfiguration($string, $hash, $locale, $version, $max_upload) { // Special BOSH URL if BOSH proxy enabled if (BOSHProxy()) { $bosh_special = staticLocation() . 'server/bosh.php'; } else { $bosh_special = HOST_BOSH; } // Configuration array $array = array('XML_LANG' => $locale, 'JAPPIX_STATIC' => staticLocation(), 'JAPPIX_VERSION' => $version, 'JAPPIX_MAX_FILE_SIZE' => $max_upload, 'JAPPIX_MAX_UPLOAD' => formatBytes($max_upload), 'JAPPIX_MINI_CSS' => getFiles($hash, '', 'css', 'mini.xml', ''), 'SERVICE_NAME' => SERVICE_NAME, 'SERVICE_DESC' => SERVICE_DESC, 'OWNER_NAME' => OWNER_NAME, 'OWNER_WEBSITE' => OWNER_WEBSITE, 'LEGAL' => LEGAL, 'JAPPIX_RESOURCE' => JAPPIX_RESOURCE, 'LOCK_HOST' => LOCK_HOST, 'ANONYMOUS' => ANONYMOUS, 'REGISTRATION' => REGISTRATION, 'MANAGER_LINK' => MANAGER_LINK, 'GROUPCHATS_JOIN' => GROUPCHATS_JOIN, 'GROUPCHATS_SUGGEST' => GROUPCHATS_SUGGEST, 'ENCRYPTION' => ENCRYPTION, 'HTTPS_STORAGE' => HTTPS_STORAGE, 'HTTPS_FORCE' => HTTPS_FORCE, 'COMPRESSION' => COMPRESSION, 'ADS_ENABLE' => ADS_ENABLE, 'GADS_CLIENT' => GADS_CLIENT, 'GADS_SLOT' => GADS_SLOT, 'MULTI_FILES' => MULTI_FILES, 'DEVELOPER' => DEVELOPER, 'REGISTER_API' => REGISTER_API, 'HOST_MAIN' => HOST_MAIN, 'HOST_MUC' => HOST_MUC, 'HOST_PUBSUB' => HOST_PUBSUB, 'HOST_VJUD' => HOST_VJUD, 'HOST_ANONYMOUS' => HOST_ANONYMOUS, 'HOST_STUN' => HOST_STUN, 'HOST_TURN' => HOST_TURN, 'HOST_TURN_USERNAME' => HOST_TURN_USERNAME, 'HOST_TURN_PASSWORD' => HOST_TURN_PASSWORD, 'HOST_BOSH' => $bosh_special, 'HOST_BOSH_MAIN' => HOST_BOSH_MAIN, 'HOST_BOSH_MINI' => HOST_BOSH_MINI, 'HOST_WEBSOCKET' => HOST_WEBSOCKET, 'HOST_STATIC' => HOST_STATIC, 'HOST_UPLOAD' => HOST_UPLOAD); // Apply it! foreach ($array as $array_key => $array_value) { $string = preg_replace('/var ' . $array_key . '(( )?=( )?)null;/', 'var ' . $array_key . '$1\'' . addslashes($array_value) . '\';', $string); } return $string; }
function setConfiguration($string, $locale, $version, $max_upload) { // Special BOSH URL if BOSH proxy enabled if (BOSHProxy()) { $bosh_special = staticLocation() . 'php/bosh.php'; } else { $bosh_special = HOST_BOSH; } // Configuration array $array = array('XML_LANG' => $locale, 'JAPPIX_STATIC' => staticLocation(), 'JAPPIX_VERSION' => $version, 'JAPPIX_MAX_FILE_SIZE' => $max_upload, 'JAPPIX_MAX_UPLOAD' => formatBytes($max_upload), 'SERVICE_NAME' => SERVICE_NAME, 'SERVICE_DESC' => SERVICE_DESC, 'JAPPIX_RESOURCE' => JAPPIX_RESOURCE, 'LOCK_HOST' => LOCK_HOST, 'ANONYMOUS' => ANONYMOUS, 'REGISTRATION' => REGISTRATION, 'BOSH_PROXY' => BOSH_PROXY, 'MANAGER_LINK' => MANAGER_LINK, 'ENCRYPTION' => ENCRYPTION, 'HTTPS_STORAGE' => HTTPS_STORAGE, 'HTTPS_FORCE' => HTTPS_FORCE, 'COMPRESSION' => COMPRESSION, 'MULTI_FILES' => MULTI_FILES, 'DEVELOPER' => DEVELOPER, 'HOST_MAIN' => HOST_MAIN, 'HOST_MUC' => HOST_MUC, 'HOST_PUBSUB' => HOST_PUBSUB, 'HOST_VJUD' => HOST_VJUD, 'HOST_ANONYMOUS' => HOST_ANONYMOUS, 'HOST_BOSH' => $bosh_special, 'HOST_BOSH_MAIN' => HOST_BOSH_MAIN, 'HOST_BOSH_MINI' => HOST_BOSH_MINI, 'HOST_STATIC' => HOST_STATIC, 'HOST_UPLOAD' => HOST_UPLOAD); // Apply it! foreach ($array as $array_key => $array_value) { $string = preg_replace('/var ' . $array_key . '(( )?=( )?)null;/', 'var ' . $array_key . '$1\'' . addslashes($array_value) . '\';', $string); } return $string; }