2002 yhteensa-laskuriin minuutteihin nolla, jos < 10 Täydennetty 4.6.2003 /minna - tuntien kirjaaminen tapahtuman tyypin (luokan) mukaan ********************************************************************* */ /* -- Yleisiä ympäristöriippuvaisia muuttujia ------------------------- */ //$destination_url = "http://www.it.jyu.fi/users/"; $remoteserver = "//terra.it.jyu.fi/$username"; /* -- Käytetyt funktiot ------------------------------------------------- */ function page_begin($title) { ?> <? echo $title ?>
 

 
Toteutus ja ylläpito Minna Hillebrand, mmhilleb@cc.jyu.fi
Viimeksi päivitetty 4.6.2003 21:00

Apua tuntikirjanpitoon!

Tällä ohjelmalla voit raportoida mm. sovellusprojektissa kuluneet työtuntisi. Helppiä käytöstä...

Käyttäjätunnus ">   AGORANET
Salasana   AGORANET
Hakemistosi u:lla
$year2 ) return 1; if ( $month1 < $month2 ) return 0; if ( $month1 > $month2 ) return 1; if ( $day1 < $day2 ) return 0; if ( $day1 > $day2 ) return 1; $pos = strpos($t1, "$separate"); if ($pos === false) return 1; $h1 = substr($t1, 0, $pos); $m1 = substr($t1, $pos+1, 1024); $pos = strpos($t2, "$separate"); if ($pos === false) return 1; $h2 = substr($t2, 0, $pos); $m2 = substr($t2, $pos+1, 1024); if ( $h1 < $h2 ) return 0; if ( $h1 > $h2 ) return 1; if ( $m1 < $m2 ) return 0; return 1; } function calculate_hours($old, $time, $separ) { $total = ""; $hours = 0; $minutes = 0; if ($old=="") { $oldh=0; $oldm=0; } else { $endchar = strpos($old, "$separ"); if ($endchar === false) $endchar = 1024; $oldh = substr($old, 0, $endchar); $oldm = substr($old, $endchar+1, 1024); } $endchar = strpos($time, "$separ"); if ($endchar === false) $endchar = 1024; $newh = substr($time, 0, $endchar); $newm = substr($time, $endchar+1, 1024); $minutes = $oldm + $newm; $count = 0; while ($minutes >= 60 ) { $minutes -= 60; $count++; } $hours = $oldh + $newh + $count; $add=""; if ($minutes < 10) $add="0"; $total = "$hours" ."$separ" .$add ."$minutes"; // if ($minutes == 0) $total .= "0"; return $total; } function print_html_row($rowcalc, $paiva, $alku, $loppu, $kesto, $tyyppi, $kuvaus) { $rowcolor = "#F3F9FE"; if ($rowcalc % 2 == 0) $rowcolor="#F3F3F3"; echo " "; echo " ". $paiva ." "; echo " ". $alku ."-". $loppu ." "; echo " ". $kesto ." "; echo " ". $tyyppi ." "; echo " ".$kuvaus .""; echo " "; } function print_txt_row($paiva, $alku, $loppu, $kesto, $tyyppi, $id, $kuvaus) { echo $paiva ."|". $alku ."|". $loppu ."|". $kesto ."|" . $tyyppi ."|" .$id ."|" .$kuvaus ."\n"; } function report($share, $user, $pw, $path, $pvm, $alkaa, $paattyy, $tyyppi, $kuvaus, $print, $typelist) { /* ---- Logitetaan käyttäjä ja asetetaan muuttujia --------------------------------------*/ $f = fopen("mylog", "ab"); if ($f) { fwrite($f, "$user Logged in " .date("M j Y, G:i:s") ."\n" ); fclose($f); } if ( (strlen($path) != 0) && $path{strlen($path)-1} != "/" ) $path .= "/"; // $up_path = $user ."\\" .str_replace("/", "\\", $path); $up_path = str_replace("/", "\\", $path); $url_path = $url .$user ."/" .$path; /* ---- Luodaan oikea hakemistorakenne ---------------------------------------------------*/ $token = strtok($up_path, "\\"); $wpath = ""; while ($token!="" && $token!="\\") { $wpath .= $token ."\\\\"; // kesti aika kauan hokasta, ett? tarvii 2 kpl kenoja... $com = "mkdir $wpath"; command($share, $user, $pw, $com); $token = strtok("\\"); } /* ---- Haetaan ajat.txt ---------------------------------------------------------------- */ $txtfile = "/tmp/" .$user ."ajat.txt"; // => /tmp/mmhillebajat.txt $tmptxtfile = "/tmp/" .$user ."tmpajat.txt"; // => /tmp/mmhillebtmpajat.txt $tmptexfile = "/tmp/" .$user ."tmpajat.tex"; // => /tmp/mmhillebtmpajat.tex $com = "get $up_path"."ajat.txt " .$txtfile; $result = command($share, $user, $pw, $com); if ( strpos($result, "getting file")===false ) { // tiedostoa ei ollut olemassa echo $result; touch ("$txtfile"); $fw = fopen("$txtfile", "wb"); if ($fw) { // fwrite($fw, "= Projektiin käytetyt tunnit\n"); fclose($fw); } } /* ---- Haetaan username.ini-tiedosto ------------------------------------------------- */ $wholename = ""; // default values $subtitle = ""; $separate = ":"; $inifile = "/tmp/" .$user .".ini"; $com = "get $up_path$user".".ini " .$inifile; $result = command($share, $user, $pw, $com); if ( ! (strpos($result, "getting file")===false) ) { // read stuff from ini $fr= fopen("$inifile", "rb"); if ($fr) { $wholename = fgets($fr, 1024); $subtitle = fgets($fr, 1024); $separate = fgets($fr, 1024); if ($separate=="") $separate=":"; fclose($fr); } unlink("$inifile"); } /* ---- Luodaan tyyppilistat ja -laskurit -------------------------------------------- */ $type_names = array(); $type_counters = array(); $fr= fopen("$typelist", "rb"); if ($fr) { while (! feof($fr)) { $newname = trim(fgets($fr, 1024)); if ( strlen(newname) <= 0) continue; $type_names[] = $newname; // adds to the end of array $type_counters[] = "0"; } } /* ---- Tarkastetaan kesto ja pvm - formaatit ----------------------------------------- */ // sallii syötön 17 => 17:00 if (strpos($alkaa, "$separate")===false) $alkaa = "$alkaa$separate" ."00"; if (strpos($paattyy, "$separate")===false) $paattyy = "$paattyy$separate" ."00"; // sallii syötöt 5.2 ja 5.2. => 5.2.2002 if (substr_count($pvm, ".") == 1) $pvm .= "."; if ($pvm{strlen($pvm)-1}==".") $pvm .= date("Y"); $kesto = duration($alkaa, $paattyy, $separate); //if (! ctype_digit($tyyppi)) $tyyppi=0; /* ---- Luetaan ajat.txt ja päivitetään samalla .txt ja .tex -tiedostot --------------- */ if ($print!="txt") page_begin("Raportoi tuntisi!"); if ($print!="makeprint" && $print!="txt") { ?>

Help!

Projektiin käytetyt tunnit

\n  
"; for ($i=0; $i < count($type_names); $i++) { if (strlen($type_names[$i]) <= 0) continue; if ($i ==0) echo "\n \n"; echo "\n "; echo " "; echo " \n"; } ?>
PÄIVÄMÄÄRÄ ALKAA - PÄÄTTYY KESTO LUOKKA KUVAUS
 
Luokittain:
". $type_names[$i] ."" .$type_counters[$i]. " 
 
Yhteensä:
 
 

 

Lisää uusi aika [help!]

PVM Alku(hh:mm) Loppu(hh:mm) Luokka Tehtävä
 
Näytä tulostettava versio
Näytä txt-versio