wwwroot/pix/s/smiley.gif\">"; $SMILEY_TEXT[] = ":)"; $SMILEY_IMAGE[] = "\":-)\"wwwroot/pix/s/smiley.gif\">"; $SMILEY_TEXT[] = ":-D"; $SMILEY_IMAGE[] = "\":-D\"wwwroot/pix/s/biggrin.gif\">"; $SMILEY_TEXT[] = ";-)"; $SMILEY_IMAGE[] = "\";-)\"wwwroot/pix/s/wink.gif\">"; $SMILEY_TEXT[] = ":-/"; $SMILEY_IMAGE[] = "\":-/\"wwwroot/pix/s/mixed.gif\">"; $SMILEY_TEXT[] = "V-."; $SMILEY_IMAGE[] = "\"V-.\"wwwroot/pix/s/thoughtful.gif\">"; $SMILEY_TEXT[] = ":-P"; $SMILEY_IMAGE[] = "\":-P\"wwwroot/pix/s/tongueout.gif\">"; $SMILEY_TEXT[] = "B-)"; $SMILEY_IMAGE[] = "\"B-)\"wwwroot/pix/s/cool.gif\">"; $SMILEY_TEXT[] = "^-)"; $SMILEY_IMAGE[] = "\"^-)\"wwwroot/pix/s/approve.gif\">"; $SMILEY_TEXT[] = "8-)"; $SMILEY_IMAGE[] = "\"8-)\"wwwroot/pix/s/wideeyes.gif\">"; $SMILEY_TEXT[] = ":o)"; $SMILEY_IMAGE[] = "\":o)\"wwwroot/pix/s/clown.gif\">"; $SMILEY_TEXT[] = ":-("; $SMILEY_IMAGE[] = "\":-(\"wwwroot/pix/s/sad.gif\">"; $SMILEY_TEXT[] = ":("; $SMILEY_IMAGE[] = "\":-(\"wwwroot/pix/s/sad.gif\">"; $SMILEY_TEXT[] = "8-."; $SMILEY_IMAGE[] = "\"8-.\"wwwroot/pix/s/shy.gif\">"; $SMILEY_TEXT[] = ":-I"; $SMILEY_IMAGE[] = "\":-I\"wwwroot/pix/s/blush.gif\">"; $SMILEY_TEXT[] = ":-X"; $SMILEY_IMAGE[] = "\":-X\"wwwroot/pix/s/kiss.gif\">"; $SMILEY_TEXT[] = "8-o"; $SMILEY_IMAGE[] = "\"8-o\"wwwroot/pix/s/surprise.gif\">"; $SMILEY_TEXT[] = "P-|"; $SMILEY_IMAGE[] = "\"P-|\"wwwroot/pix/s/blackeye.gif\">"; $SMILEY_TEXT[] = "8-["; $SMILEY_IMAGE[] = "\"8-[\"wwwroot/pix/s/angry.gif\">"; $SMILEY_TEXT[] = "xx-P"; $SMILEY_IMAGE[] = "\"xx-P\"wwwroot/pix/s/dead.gif\">"; $SMILEY_TEXT[] = "|-."; $SMILEY_IMAGE[] = "\"|-.\"wwwroot/pix/s/sleepy.gif\">"; $SMILEY_TEXT[] = "}-]"; $SMILEY_IMAGE[] = "\"}-]\"wwwroot/pix/s/evil.gif\">"; /// Functions function s($var) { // returns $var with HTML characters (like "<", ">", etc.) properly quoted, // or if $var is empty, will return an empty string. return empty($var) ? "" : htmlSpecialChars(stripslashes($var)); } function p($var) { // prints $var with HTML characters (like "<", ">", etc.) properly quoted, // or if $var is empty, will print an empty string. echo empty($var) ? "" : htmlSpecialChars(stripslashes($var)); } function nvl(&$var, $default="") { // if $var is undefined, return $default, otherwise return $var return isset($var) ? $var : $default; } function strip_querystring($url) { // takes a URL and returns it without the querystring portion if ($commapos = strpos($url, '?')) { return substr($url, 0, $commapos); } else { return $url; } } function get_referer() { // returns the URL of the HTTP_REFERER, less the querystring portion global $HTTP_REFERER; return strip_querystring(nvl($HTTP_REFERER)); } function me() { // returns the name of the current script, WITH the querystring portion. // this function is necessary because PHP_SELF and REQUEST_URI and PATH_INFO // return different things depending on a lot of things like your OS, Web // server, and the way PHP is compiled (ie. as a CGI, module, ISAPI, etc.) global $REQUEST_URI, $PATH_INFO, $PHP_SELF; if ($REQUEST_URI) { return $REQUEST_URI; } else if ($PATH_INFO) { return $PATH_INFO; } else if ($PHP_SELF) { return $PHP_SELF; } else { return ""; } } function qualified_me() { // like me() but returns a full URL global $HTTPS, $SERVER_PROTOCOL, $HTTP_HOST; $protocol = (isset($HTTPS) && $HTTPS == "on") ? "https://" : "http://"; $url_prefix = "$protocol$HTTP_HOST"; return $url_prefix . me(); } function match_referer($good_referer = "") { // returns true if the referer is the same as the good_referer. If // good_refer is not specified, use qualified_me as the good_referer if ($good_referer == "") { $good_referer = qualified_me(); } return $good_referer == get_referer(); } function read_template($filename, &$var) { // return a (big) string containing the contents of a template file with all // the variables interpolated. all the variables must be in the $var[] array or // object (whatever you decide to use). // // WARNING: do not use this on big files!! $temp = str_replace("\\", "\\\\", implode(file($filename), "")); $temp = str_replace('"', '\"', $temp); eval("\$template = \"$temp\";"); return $template; } function checked(&$var, $set_value = 1, $unset_value = 0) { // if variable is set, set it to the set_value otherwise set it to the // unset_value. used to handle checkboxes when you are expecting them from // a form if (empty($var)) { $var = $unset_value; } else { $var = $set_value; } } function frmchecked(&$var, $true_value = "checked", $false_value = "") { // prints the word "checked" if a variable is true, otherwise prints nothing, // used for printing the word "checked" in a checkbox form input if ($var) { echo $true_value; } else { echo $false_value; } } function link_to_popup_window ($url, $name="popup", $linkname="click here", $height=400, $width=500, $title="Popup window") { // This will create a HTML link that will work on both // Javascript and non-javascript browsers. // Relies on the Javascript function openpopup in javascript.php // $url must be relative to home page eg /mod/survey/stuff.php echo "\n"; echo "\n\n"; } function close_window_button() { echo "
"; echo ""; echo "
"; } function choose_from_menu ($options, $name, $selected="", $nothing="choose", $script="", $nothingvalue="0", $return=false) { // $options["value"]["label"] if ($nothing == "choose") { $nothing = get_string("choose")."..."; } if ($script) { $javascript = "onChange=\"$script\""; } $output = "\n"; if ($nothing != "") { echo " \n"; } foreach ($options as $value => $label) { echo " \n"; } else { echo ">$value\n"; } } echo "\n"; } function formerr($error) { if (!empty($error)) { echo "$error"; } } function validate_email ($address) { // Validates an email to make it makes sense. return (ereg('^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+'. '@'. '[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.'. '[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$', $address)); } function get_slash_arguments($i=0) { // Extracts arguments from "/foo/bar/something" // eg http://mysite.com/script.php/foo/bar/something // Might only work on Apache global $PATH_INFO; if (!isset($PATH_INFO)) { return false; } if (strpos($PATH_INFO, "..")) { // check for funny business return false; } $args = explode("/", $PATH_INFO); if ($i) { // return just the required argument return $args[$i]; } else { // return the whole array array_shift($args); // get rid of the empty first one return $args; } } function format_text_menu() { return array (FORMAT_MOODLE => get_string("formattext"), FORMAT_HTML => get_string("formathtml") ); } function format_text($text, $format, $options=NULL) { // Given text in a variety of format codings, this function returns // the text as safe HTML. // // $text is raw text (originally from a user) // $format is one of the format constants, defined above switch ($format) { case FORMAT_MOODLE: if (!isset($options->smiley)) { $options->smiley=true; } if (!isset($options->para)) { $options->smiley=true; } return text_to_html($text, $options->smiley, $options->para); break; case FORMAT_HTML: return $text; // Is re-cleaning needed? break; } } function clean_text($text, $format) { // Given raw text (eg typed in by a user), this function cleans it up // and removes any nasty tags that could mess up Moodle pages. switch ($format) { case FORMAT_MOODLE: return strip_tags($text, '

    • '); break; case FORMAT_HTML: return $text; // XX May want to add some cleaning on this. break; } } function text_to_html($text, $smiley=true, $para=true) { // Given plain text, makes it into HTML as nicely as possible. global $CFG, $SMILEY_TEXT, $SMILEY_IMAGE; // Remove any whitespace that may be between HTML tags $text = eregi_replace(">([[:space:]]+)<", "><", $text); // Remove any returns that precede or follow HTML tags $text = eregi_replace("([\n\r])<", " <", $text); $text = eregi_replace(">([\n\r])", "> ", $text); // Make URLs into links. eg http://moodle.com/ $text = eregi_replace("([[:alnum:]]+)://([^[:space:]]*)([[:alnum:]#?/&=])", "\\1://\\2\\3", $text); // eg www.moodle.com $text = eregi_replace("([[:space:]])www.([^[:space:]]*)([[:alnum:]#?/&=])", "\\1www.\\2\\3", $text); // Make returns into HTML newlines. $text = nl2br($text); // Turn smileys into images. if ($smiley) { $text = str_replace($SMILEY_TEXT, $SMILEY_IMAGE, $text); } if ($para) { return "

      ".$text."

      "; } else { return $text; } } function highlight($needle, $haystack) { // This function will highlight instances of $needle in $haystack $parts = explode(strtolower($needle), strtolower($haystack)); $pos = 0; foreach ($parts as $key => $part) { $parts[$key] = substr($haystack, $pos, strlen($part)); $pos += strlen($part); $parts[$key] .= "".substr($haystack, $pos, strlen($needle)).""; $pos += strlen($needle); } return (join('', $parts)); } ?>