function renderTxt() { $date = date('Y-m-d'); if ($this->query('date')) { $post = $this->query(); $date = $post['date']['Y'] . '-' . $post['date']['M'] . '-' . $post['date']['d']; } // Ensures that PEAR uses correct config file. PEAR_Config::singleton(PATH_ROOT . '.pearrc'); $this->db->query("SELECT tilmelding.id, tilmelding.dato_slut\n FROM langtkursus_tilmelding tilmelding\n INNER JOIN langtkursus ON langtkursus.id = tilmelding.kursus_id\n INNER JOIN adresse ON tilmelding.adresse_id = adresse.id\n WHERE\n ((tilmelding.dato_slut > langtkursus.dato_slut AND tilmelding.dato_start < DATE_ADD('{$date}', INTERVAL 3 DAY) AND tilmelding.dato_slut > NOW())\n OR (tilmelding.dato_slut <= langtkursus.dato_slut AND tilmelding.dato_start < DATE_ADD('{$date}', INTERVAL 3 DAY) AND tilmelding.dato_slut > '{$date}')\n OR (tilmelding.dato_slut = '0000-00-00' AND langtkursus.dato_start < DATE_ADD('{$date}', INTERVAL 3 DAY) AND langtkursus.dato_slut > '{$date}'))\n AND tilmelding.active = 1\n ORDER BY adresse.fornavn ASC, adresse.efternavn ASC"); $list = array(); $i = 0; while ($this->db->nextRecord()) { $t = new VIH_Model_LangtKursus_Tilmelding($this->db->f('id')); // strange way to do it, but only way to get the header match data! $list[$i][3] = $t->get('navn'); $list[$i][5] = $t->get('email'); $list[$i][6] = $t->get('adresse'); $list[$i][7] = $t->get('postby'); $list[$i][8] = $t->get('postnr'); $list[$i][11] = $t->get('telefon'); // $list[$i][10] = $t->get('nationalitet'); $list[$i][13] = $t->get('mobil'); $i++; } $address_book = new Contact_AddressBook(); $csv_builder = $address_book->createBuilder('csv_wab'); if (PEAR::isError($csv_builder)) { throw new Exception('CSV_builder error: ' . $csv_builder->getUserInfo()); } $result = $csv_builder->setData($list); if (PEAR::isError($result)) { throw new Exception('CSV_builder data error: ' . $result->getUserInfo()); } // @todo some error in the build. It has been traced back to getConfig(); $result = $csv_builder->build(); if (PEAR::isError($result)) { throw new Exception('CSV_builder build error: ' . $result->getUserInfo()); } // This could be nice, but there is an error in the method! // echo $csv_builder->download('holdliste'); // instead the following should do the job! if (headers_sent()) { throw new Exception('Cannot process headers, headers already sent'); } $filename = 'holdliste.csv'; if (Net_UserAgent_Detect::isIE()) { // IE need specific headers header('Content-Disposition: inline; filename="' . $filename . '"'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Pragma: public'); } else { header('Content-Disposition: attachment; filename="' . $filename . '"'); header('Pragma: no-cache'); } header('Content-Type: ' . $csv_builder->mime); return $csv_builder->result; }
function print_info() { $browserSearch = array('ie7up', 'ie6up', 'firefox', 'gecko', 'ns6up', 'ns4', 'nav', 'safari'); println('User Agent String: ' . Net_UserAgent_Detect::getUserAgent()); println('Browser String: ' . Net_UserAgent_Detect::getBrowserString()); println('OS String: ' . Net_UserAgent_Detect::getOSString()); println('Browser flag: ' . Net_UserAgent_Detect::getBrowser($browserSearch)); println('Has "popups disabled" quirk: ' . (Net_UserAgent_Detect::hasQuirk('popups_disabled') ? 'Yes' : 'No')); println('Has "dom" feature: ' . (Net_UserAgent_Detect::hasFeature('dom') ? 'Yes' : 'No')); println('Has "ajax" feature: ' . (Net_UserAgent_Detect::hasFeature('ajax') ? 'Yes' : 'No')); println('Has "svg" feature: ' . (Net_UserAgent_Detect::hasFeature('svg') ? 'Yes' : 'No')); println('Javascript version: ' . Net_UserAgent_Detect::getFeature('javascript')); $languages = array('fr', 'de', 'en-us'); println('Accept Language: ' . Net_UserAgent_Detect::getAcceptType($languages, 'language')); }
/** * Return the user agent string that is being worked on * * @access public * @return string user agent */ function getUserAgent() { Net_UserAgent_Detect::detect(); $userAgent =& Net_UserAgent_Detect::_getStaticProperty('userAgent'); return $userAgent; }
function cache_save() { if ($this->key) { $data = array('browser' => Net_UserAgent_Detect::_getStaticProperty('browser'), 'features' => Net_UserAgent_Detect::_getStaticProperty('features'), 'leadingIdentifier' => Net_UserAgent_Detect::_getStaticProperty('leadingIdentifier'), 'majorVersion' => Net_UserAgent_Detect::_getStaticProperty('majorVersion'), 'options' => Net_UserAgent_Detect::_getStaticProperty('options'), 'os' => Net_UserAgent_Detect::_getStaticProperty('os'), 'quirks' => Net_UserAgent_Detect::_getStaticProperty('quirks'), 'subVersion' => Net_UserAgent_Detect::_getStaticProperty('subVersion'), 'userAgent' => Net_UserAgent_Detect::_getStaticProperty('userAgent'), 'version' => Net_UserAgent_Detect::_getStaticProperty('version')); apc_store($this->key, serialize($data)); } }
/** * Return the user agent string that is being worked on * * @access public * @return string user agent */ function getUserAgent() { if (!isset($this) || get_class($this) != 'net_useragent_detect') { $this =& Net_UserAgent_Detect::singleton(); } return $this->userAgent; }
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>Browser Information</title> <link rel="stylesheet" type="text/css" href="common.css" /> </head> <body> <h1>Browser Information</h1> <?php require_once "Net/UserAgent/Detect.php"; $detect = new Net_UserAgent_Detect(); echo "<p>You are running " . $detect->getBrowserString(); echo ". Your operating system is " . $detect->getOSString() . ".</p>"; ?> </body> </html>
/** * Processes the template and assigns common variables automatically. * * @access private */ function processTemplate() { global $HTTP_SERVER_VARS; // determine the correct CSS file to use if (ereg('MSIE ([0-9].[0-9]{1,2})', @$HTTP_SERVER_VARS["HTTP_USER_AGENT"], $log_version)) { $user_agent = 'ie'; } else { $user_agent = 'other'; } $this->assign("user_agent", $user_agent); // create the list of projects $usr_id = Auth::getUserID(); if ($usr_id != '') { $prj_id = Auth::getCurrentProject(); if (!empty($prj_id)) { $role_id = User::getRoleByUser($usr_id, $prj_id); $this->assign("current_project", $prj_id); $this->assign("current_project_name", Auth::getCurrentProjectName()); $has_customer_integration = Customer::hasCustomerIntegration($prj_id); $this->assign("has_customer_integration", $has_customer_integration); if ($has_customer_integration) { $this->assign("customer_backend_name", Customer::getBackendImplementationName($prj_id)); } if ($role_id == User::getRoleID('administrator') || $role_id == User::getRoleID('manager')) { $this->assign("show_admin_link", true); } if ($role_id > 0) { $this->assign("current_role", (int) $role_id); $this->assign("current_role_name", User::getRole($role_id)); } } $info = User::getNameEmail($usr_id); $this->assign("active_projects", Project::getAssocList($usr_id)); $this->assign("current_full_name", $info["usr_full_name"]); $this->assign("current_email", $info["usr_email"]); $this->assign("current_user_id", $usr_id); $this->assign("is_current_user_clocked_in", User::isClockedIn($usr_id)); $this->assign("roles", User::getAssocRoleIDs()); } $this->assign("app_setup", Setup::load()); $this->assign("app_setup_path", APP_SETUP_PATH); $this->assign("app_setup_file", APP_SETUP_FILE); $this->assign("application_version", APP_VERSION); $this->assign("application_title", APP_NAME); $this->assign("app_base_url", APP_BASE_URL); $this->assign("rel_url", APP_RELATIVE_URL); $this->assign("lang", APP_CURRENT_LANG); $this->assign("SID", SID); // now for the browser detection stuff Net_UserAgent_Detect::detect(); $this->assign("browser", Net_UserAgent_Detect::_getStaticProperty('browser')); $this->assign("os", Net_UserAgent_Detect::_getStaticProperty('os')); // this is only used by the textarea resize script $js_script_name = str_replace('/', '_', str_replace('.php', '', $HTTP_SERVER_VARS['PHP_SELF'])); $this->assign("js_script_name", $js_script_name); $this->assign("total_queries", $GLOBALS['TOTAL_QUERIES']); $this->assign(array("cell_color" => APP_CELL_COLOR, "light_color" => APP_LIGHT_COLOR, "middle_color" => APP_MIDDLE_COLOR, "dark_color" => APP_DARK_COLOR, "cycle" => APP_CYCLE_COLORS, "internal_color" => APP_INTERNAL_COLOR)); }
function form_button($text, $img = null, $name = null, $value = '1', $class = null, $type = 'submit') { $attributes['type'] = $type; if ($class !== null) { $attributes['class'] = $class; } if (Net_UserAgent_Detect::isIE()) { # Hack to work around IE bug with form buttons. IE has really, really # stupid handling of <button> tags, which makes them unusable. On the # other side, <input> tags reserves the value= attribute for the text # that appers inside the button, so we have to encode both name and # value in the name of the button. if ($name !== null) { $attributes['name'] = $name . '_v[' . $value . ']'; } $attributes['value'] = $text; return txttag('input', $attributes); } else { # Here we use the new <button> tag, which is much more powerful and # is compatible with if ($name !== null) { $attributes['name'] = $name; $attributes['value'] = $value; } $contents = ""; if ($img !== null) { $contents .= txttag('img', array('alt' => '', 'class' => 'button-img', 'src' => 'img/' . $img)); } $contents .= txttag('span', array('class' => 'button-text'), escape($text)); return txttag('button', $attributes, $contents); } }
/** * Store items in APC * * @return void */ function cacheSave() { if ($this->key) { $items = array('browser', 'features', 'leadingIdentifier', 'majorVersion', 'options', 'os', 'quirks', 'subVersion', 'userAgent', 'version'); $data = array(); foreach ($items as $item) { $data[$item] = Net_UserAgent_Detect::_getStaticProperty($item); } apc_store($this->key, serialize($data)); } }
/** * Get Browser flag * * @access public * @return string The type of browser */ function GetBrowserFlag() { if (empty($this->_BrowserFlag)) { require_once PEAR_PATH . 'Net/Detect.php'; $bFlags = explode(',', $this->Registry->fetch('browsers_flag', 'Settings')); $this->_BrowserFlag = Net_UserAgent_Detect::getBrowser($bFlags); } return $this->_BrowserFlag; }
/** * Initialize a TemplateObject, add a title, and icon and add JS and CSS for DHTML * * @param string $file filename of the template file * @param string $title (optional) title of the page * @param string $icon (optional) iconhandle for this page * @param boolean $useDHTML (optional) add JS and CSS for DHTML-features * * @access private * * @return object Object of HTML/IT - Template - Class */ function _initTemplate($file, $title = '', $icon = '', $useDHTML = true) { $tpl = new HTML_Template_IT(dirname(__FILE__) . "/Web"); $tpl->loadTemplateFile($file); $tpl->setVariable("InstallerURL", $_SERVER["PHP_SELF"]); $tpl->setVariable("ImgPEAR", $_SERVER["PHP_SELF"] . '?img=pear'); if ($title) { $tpl->setVariable("Title", $title); } if ($icon) { $tpl->setCurrentBlock("TitleBlock"); $tpl->setVariable("_InstallerURL", $_SERVER["PHP_SELF"]); $tpl->setVariable("_Title", $title); $tpl->setVariable("_Icon", $icon); $tpl->parseCurrentBlock(); } $tpl->setCurrentBlock(); if ($useDHTML && Net_UserAgent_Detect::getBrowser('ie5up') == 'ie5up') { $dhtml = true; } else { $dhtml = false; } if ($dhtml) { $tpl->setVariable("JS", 'dhtml'); $css = '<link rel="stylesheet" href="' . $_SERVER['PHP_SELF'] . '?css=dhtml" />'; $tpl->setVariable("DHTMLcss", $css); } else { $tpl->setVariable("JS", 'nodhtml'); } if (!isset($_SESSION['_PEAR_Frontend_Web_js']) || $_SESSION['_PEAR_Frontend_Web_js'] == false) { $tpl->setCurrentBlock('JSEnable'); $tpl->setVariable('RedirectURL', $_SERVER['REQUEST_URI'] . (!empty($_GET) ? '&' : '?') . 'enableJS=1'); $tpl->parseCurrentBlock(); $tpl->setCurrentBlock(); } return $tpl; }
/** * @return array */ private function detectClient() { require_once dirname(dirname(__FILE__)) . '/libraries/pear_net_useragent_detect.php'; Net_UserAgent_Detect::detect(); if (P4A_FORCE_HANDHELD_RENDERING) { $this->browser = self::BROWSER_HANDHELD; } elseif (Net_UserAgent_Detect::isIE()) { $this->browser = self::BROWSER_IE; } elseif (Net_UserAgent_Detect::isBrowser('gecko')) { $this->browser = self::BROWSER_GECKO; } elseif (Net_UserAgent_Detect::isBrowser('safari')) { $this->browser = self::BROWSER_SAFARI; } elseif (Net_UserAgent_Detect::isBrowser('opera')) { $this->browser = self::BROWSER_OPERA; } else { $this->browser = self::BROWSER_HANDHELD; } foreach (Net_UserAgent_Detect::_getStaticProperty('os') as $os => $detected) { if ($detected) { if (preg_match("/^win.*\$/", $os)) { $this->browser_os = self::BROWSER_WINDOWS; } elseif (preg_match("/^mac.*\$/", $os)) { $this->browser_os = self::BROWSER_MAC; } break; } } return Net_UserAgent_Detect::_getStaticProperty('browser'); }
/** * Метод для получения версии JS * * @return string */ private function getJsVersion() { require_once dirname(__FILE__) . '/libs/detect.php'; return mysql_real_escape_string(Net_UserAgent_Detect::getFeature('javascript')); }