/*
Last changed: Mon Apr 30 2012 Christian (reccmo@reccmo-desktop.home)
Last edited :
Sat Feb 25 2006 Christian Mondrup (reccmo@localhost.localdomain)
Php include script created.
$Id: ick-utils.inc,v 1.35 2010/01/17 09:15:41 reccmo Exp $
$Log: ick-utils.inc,v $
Revision 1.35 2010/01/17 09:15:41 reccmo
Added func ick_protected_mail for use with func ick_contributor.
Revision 1.34 2009/03/26 22:01:58 reccmo
In procedure get_email replaced union query on Person and Contributor
with query on Person.
Revision 1.33 2009/03/23 12:42:49 reccmo
Added optional parameter $hide to function ick_mailto.
Revision 1.32 2009/03/22 13:58:31 reccmo
Added function get_email retrieving email addresses from new table
Contributor and table Person.
Replaced function ick_mailto with version referencing
function get_email.
Revision 1.31 2009/03/18 18:08:15 reccmo
Added variables and functions flat, natural and sharp.
Revision 1.30 2009/01/04 14:17:30 reccmo
Commented out active logic in function ick_valid_html
Revision 1.29 2008/12/14 12:43:50 reccmo
Added optional arg $ext to function ick_sound.
Revision 1.28 2007/11/22 08:11:19 reccmo
Added optiob arg $pdf to function ick_ext_ref.
Revision 1.27 2007/08/30 17:16:17 reccmo
Added optional parameter $pdf to func ick_intro.
Revision 1.26 2007/06/24 09:33:54 reccmo
Added option parameter $mews to func ick_news_header.
Revision 1.25 2007/06/22 21:40:58 reccmo
Added functions ick_news_header and ick_news_item.
Revision 1.24 2007/05/28 08:30:22 reccmo
Decreased value of global var $newslimdays to 90.
Revision 1.23 2007/04/30 15:36:52 reccmo
Adapted to DAIMI hosting.
Revision 1.22 2007/01/01 22:08:24 reccmo
Added func newslim. Midified func ick_new.
Revision 1.21 2006/05/09 11:03:01 reccmo
To func ick_source added new optional parm $sec.
Revision 1.20 2006/04/22 13:34:39 reccmo
Added funcs ick_png_img and ick_png_score.
Revision 1.19 2006/03/11 12:53:20 reccmo
Added functions ick_gs and ick_ps_score.
Revision 1.18 2006/03/11 09:47:44 reccmo
Added option parameter $title to function ick_preview
Revision 1.17 2006/03/10 09:26:25 reccmo
Added optional arg $internal to function ick_biography.
Revision 1.16 2006/03/09 20:03:53 reccmo
Added string function ext_ref and changed ick_ext_ref to echo
output from func ext_ref.
Revision 1.15 2006/02/26 17:42:06 reccmo
Added optional args $info and $head to function ick_intro.
Revision 1.14 2006/02/26 15:12:28 reccmo
Added function ick_intro.
Revision 1.13 2006/02/26 09:20:17 reccmo
Added optional arg $mult to function ick_source.
Revision 1.12 2006/02/25 22:57:47 reccmo
Commented off escape of comma in ick_mailto's arg $subj
Revision 1.11 2006/02/25 22:36:29 reccmo
Added optional arg $info to function ick_score
Revision 1.10 2006/02/25 18:21:27 reccmo
Added function ick_ext_ref.
Revision 1.9 2006/02/25 18:00:24 reccmo
Simplified function ick_ext()
Revision 1.8 2006/02/25 17:40:55 reccmo
Added function style_dir.
Revision 1.7 2006/02/25 17:19:41 reccmo
Added global reference to var $Icons to relevant functions
Revision 1.6 2006/02/25 16:53:50 reccmo
Replaced icon directoy path by reference af variable $Icons
Revision 1.5 2006/02/25 16:49:20 reccmo
Changed path to gif images to directory /Icons.
Revision 1.4 2006/02/25 15:00:59 reccmo
Made $name parm of function ick_contributor optional.
Revision 1.3 2006/02/25 14:27:57 reccmo
Added functions ick_ext and ick_biography.
Revision 1.2 2006/02/25 13:23:40 reccmo
Added several functions to be used for composer's indexes.
Revision 1.1 2006/02/24 23:50:56 reccmo
Initial version.
*/
require_once "db.inc";
$Css = "/Css";
$Icons = "/Icons";
$newslimdays = 90;
$connect_done = "FALSE";
$mail_err = " Database error ";
function curr_file() {
$file = $_SERVER["SCRIPT_NAME"];
$break = Explode('/', $file);
$pfile = $break[count($break) - 1];
return $pfile;
}
function get_email($name) {
global $conn;
global $mail_err;
$email = "";
$qry=
"SELECT Email
FROM Person
WHERE Email IS NOT NULL
AND concat_ws(' ',first_name,name) =
REPLACE('$name',CHAR(160),CHAR(32))";
$result = mysql_query($qry,$conn);
if (!$result) {
echo $mail_err;
return $err;
}
if ($row = mysql_fetch_array($result)) {
$email = $row["Email"];
}
return $email;
}
function get_folop_link($anchor="") {
global $conn;
global $mail_err;
$email = "";
$pfile = curr_file();
if ($anchor) {
$pfile = "${pfile}#${anchor}";
}
$qry=
"SELECT
f.ID AS ID,
f.surname_wo_accents AS ComposerFile,
p.name AS Surname,
p.first_name AS First_Name
FROM
Person p,
Folop_Composer f
WHERE f.WIMA_Composer_ID = p.ID
AND p.index_file = '$pfile'";
$result = mysql_query($qry,$conn);
if (!$result) {
echo $mail_err;
return $err;
}
if ($row = mysql_fetch_array($result)) {
$id = $row["ID"];
$composerfile = $row["ComposerFile"];
$surname = $row["Surname"];
$first_name = $row["First_Name"];
}
if (strlen($composerfile)) {
$display_name =
(strlen(${first_name}) ? "${first_name} " : "") . "${surname}";
$url = "Viol music by ${display_name}";
}
else {
$url = "";
}
return $url;
}
$flat = '♭';
$natural = '♮';
$sharp = '♯';
function flat() {
global $flat;
// return "$flat";
echo "$flat";
}
function natural() {
global $natural;
// return "$natural";
echo "$natural";
}
function sharp() {
global $sharp;
// return "$sharp";
echo "$sharp";
}
function newslim($val) {
global $newslimdays;
$result = 0;
$date_arr = explode("/",$val);
if (checkdate($date_arr[1],$date_arr[2],$date_arr[0])) {
$checktime = mktime(0,0,0,$date_arr[1],$date_arr[2],$date_arr[0]);
if ((unixtojd(time()) - unixtojd($checktime)) > $newslimdays) {
$result = 1;
}
}
return $result;
}
function style_dir() {
global $Css;
echo "$Css";
}
function double_alt($val) {
return "alt='$val' title='$val' ";
}
function ick_alt($val) {
echo double_alt($val);
}
function ick_new($val) {
global $Icons;
if (! newslim($val)) {
echo "
";
}
}
// function ick_new($val) {
// global $Icons;
// echo "
";
// }
function ick_pdf() {
global $Icons;
return "
";
}
function ick_gs() {
global $Icons;
return "
";
}
function ick_png() {
global $Icons;
return "
";
}
function ick_png_img() {
global $Icons;
return "
";
}
function ick_snd() {
global $Icons;
return "
";
}
function ick_mail() {
global $Icons;
return "
";
}
function ick_protected_mail() {
global $Icons;
return "
";
}
function ick_ext() {
global $Icons;
return "
";
}
function ick_info() {
global $Icons;
return "
";
}
function ick_xml() {
global $Icons;
return "
";
}
function ick_imslp() {
echo "IMSLP";
}
function ext_ref($name,$url) {
return "$name " . ick_ext() . "";
}
function ick_ext_ref($name,$url,$pdf="") {
$pdf = ($pdf ? ick_pdf() : "");
echo $pdf.ext_ref($name,$url);
}
function ick_valid_html() {
global $Icons;
/*
echo "" .
"
";
*/
}
function ick_Werner_Icking() {
echo "2001-02-08, Werner Icking (1943-2001), " .
"GMD";
}
function ick_WIMA_editor($date) {
echo "$date, " .
"" .
"Christian Mondrup, " .
"Werner Icking Music Archive";
}
function ick_score($file,$title,$info="") {
echo "" . ick_pdf() . $title .
($info ? " " . ick_info() : "") . "";
}
function ick_ps_score($file,$title,$info="") {
echo "" . ick_gs() . $title .
($info ? " " . ick_info() : "") . "";
}
function ick_png_score($file,$title,$info="") {
echo "" . ick_png_img() . " " . $title .
($info ? " " . ick_info() : "") . "";
}
function ick_preview($file,$title="") {
echo "" . ($title ? "$title " : "")
. ick_png() . "";
}
function ick_sound($file,$title="",$ext="") {
$ext = ($ext ? " " . ick_ext() : "");
echo "" . ($title ? "$title " : "") . ick_snd() . "" . $ext;
}
function ick_contributor($name="") {
echo "" .
($name ? "$name " : "") . ick_protected_mail() . "";
}
/*
function ick_mailto($addr,$name,$subj) {
echo "" .
"$name " . ick_mail() . "";
}
*/
function ick_mailto($addr,$name,$subj,$hide="") {
global $conn;
global $host;
global $uid;
global $pwd;
global $database;
global $connect_done;
$mysql_ok = "TRUE";
if ($connect_done == "FALSE") {
$conn=@mysql_connect($host,$uid,$pwd);
$connect_done = "TRUE";
}
if (!$conn) {
$mysql_ok = "FALSE";
}
if ($mysql_ok == "TRUE") {
$ok_select=@mysql_select_db($database,$conn);
if (!$ok_select) {
$mysql_ok = "FALSE";
}
}
if ($mysql_ok == "TRUE") {
$email = get_email("$name");
}
else {
echo "Database error!";
}
$name = ($hide ? "" : $name);
echo "" .
"$name " . ick_mail() . "";
}
function ick_folop_link($anchor="",$inline="") {
global $conn;
global $host;
global $uid;
global $pwd;
global $database;
global $connect_done;
$mysql_ok = "TRUE";
if ($connect_done == "FALSE") {
$conn=@mysql_connect($host,$uid,$pwd);
$connect_done = "TRUE";
}
if (!$conn) {
$mysql_ok = "FALSE";
}
if ($mysql_ok == "TRUE") {
$ok_select=@mysql_select_db($database,$conn);
if (!$ok_select) {
$mysql_ok = "FALSE";
}
}
if ($mysql_ok == "TRUE") {
$url = get_folop_link($anchor);
if (strlen($url)) {
if ($inline) {
echo "
${url}
";
}
else {
echo "