diff --git a/index.css b/index.css index cf03281..042ea56 100644 --- a/index.css +++ b/index.css @@ -75,7 +75,7 @@ pre { border-collapse: collapse; } .table tr:nth-child(2n) { - background-color: #0002; + background-color: #fff2; } .interesse-wrapper { diff --git a/modul8/index.php b/modul8/index.php deleted file mode 120000 index 85750bf..0000000 --- a/modul8/index.php +++ /dev/null @@ -1 +0,0 @@ -../modul1/index.php \ No newline at end of file diff --git a/modul8/index.php b/modul8/index.php new file mode 100644 index 0000000..d296f05 --- /dev/null +++ b/modul8/index.php @@ -0,0 +1,41 @@ + + + + IS-115 - Webprogrammering i PHP + + + + +

IS-115 - Webprogrammering i PHP

+

+ Modul +

+
+ Tilbake til alle moduler +
+ + ".getModuleName($item)."

\n"; + } + ?> + + + \ No newline at end of file diff --git a/modul8/index8_1.php b/modul8/index8_1.php index 272c164..6536410 100644 --- a/modul8/index8_1.php +++ b/modul8/index8_1.php @@ -1,7 +1,10 @@ @@ -36,20 +39,23 @@ Logger::log("Lastet modul 8 oppgave 1"); // Scan nåværende mappe med scandir(); $katalog = array_diff( scandir("./"), array('..','.')); + // For hver fil i mappa gjøres sjekker: foreach ($katalog as $fil){ echo ""; - echo " $fil"; - $type = filetype($fil); - echo " ".$type.($type == "file"?' ('.mime_content_type($fil).')':'').""; - echo " ".filStr(filesize($fil)).""; - echo " ".date('d.m.y H:i', filemtime($fil)).""; - echo " ".(is_readable($fil)?"Ja":"Nei").""; - echo " ".(is_writable($fil)?"Ja":"Nei").""; - echo " ".(is_executable($fil)?"Ja":"Nei").""; + echo " $fil"; // FILNAVNET + $type = pathinfo($fil, PATHINFO_EXTENSION); // Fil-endelse + if(filetype($fil) == "dir"){ $type = "mappe"; } // Hvis $fil er en mappe så skrives det + echo " ".$type.""; + echo " ".filStr(filesize($fil)).""; // Skriver fint hvor stor filen er + echo " ".date('d.m.y H:i', filemtime($fil)).""; // Skriver datoen for når filen ble sist endret + echo " ".(is_readable($fil)?"Ja":"Nei").""; // Sjekk om filen er lesbar + echo " ".(is_writable($fil)?"Ja":"Nei").""; // Sjekk om filen er skrivbar + echo " ".(is_executable($fil)?"Ja":"Nei").""; // Sjekk om filen er kjørbar echo "\n"; } function filStr(int $str){ + // Kunne gått høyere, men ikke aktuelt i dette scenarioet if($str / 1024 / 1024 > 1){ return round($str/1024/1024, 1)." MB"; } else if($str / 1024 > 0){ return round($str/1024, 1)." KB"; } else { diff --git a/modul8/index8_2.php b/modul8/index8_2.php index 38758f3..5299bef 100644 --- a/modul8/index8_2.php +++ b/modul8/index8_2.php @@ -3,12 +3,25 @@ ini_set('display_errors',1); include '../common.php'; include 'logger.inc.php'; -//Logger::log("Lastet modul 8 oppgave 2"); + +if(!empty($_POST)){ + if(isset($_POST['doOne'])) { + Logger::log("Gjorde noe"); + } + else { + Logger::log("Gjorde noe annet!"); + } +} ?> <?=title();?> + @@ -17,9 +30,23 @@ include 'logger.inc.php';

Loggfunksjon

+ + "; + echo " "; + echo " "; + echo "\n"; + } ?> +
Siste 10 loggmeldinger:
$l[0]$l[1]
+ +
+ + +
diff --git a/modul8/index8_3.php b/modul8/index8_3.php new file mode 100644 index 0000000..2bccf73 --- /dev/null +++ b/modul8/index8_3.php @@ -0,0 +1,161 @@ + 2_000_000){ // 2 000 000 skal være 2MB + $err[] = "Bildets filstørrelse er for stor"; + } + + // Kontroller filtyper + if($imageFileType != "jpg" && $imageFileType != "png"){ + $err[] = "Bildets filformat er ikke tillatt. Kun .jpg og .png er tillatt."; + } + + // Loggfør om filen finnes fra før og blir overskrevet + if(file_exists($target_file)){ + Logger::log("Medlemmet $_POST[medlemid] hadde allerede et bilde, som nå er skrevet over."); + } + + // Hvis ingen feil, last opp bildet + if(empty($err)){ + if(move_uploaded_file($_FILES['fileToUpload']['tmp_name'], $target_file)){ + $msg[] = "Medlemmets bilde ble lastet opp!"; + } + else { + $err[] = "Det skjedde noe galt med opplastingen, prøv på nytt."; + } + } +} +// Hvis et bildet er satt til å slettes +elseif(isset($_POST['fjernBilde'], $_POST['filnavn'])){ + // Kjempeenkel sjekk om postens medlemsid finnes i filnavnet. ADVARSEL: kan (nok) misbrukes!! + if(strstr($_POST['filnavn'], $_POST['medlemid']) && !strstr('/', $_POST['filnavn'])){ + // unlink sletter filer på filsystemet + if(unlink($medlemsBildeMappe."/".$_POST['filnavn'])){ + $msg[] = "Bildet ble slettet!"; + Logger::log("Slettet medlemsbilde ".$_POST['filnavn']); + } + } + else { + $err[] = "Bildet ble ikke slettet. Prøv igjen."; + } +} + +?> + + + <?=title();?> + + + + +
+

+

+

Medlemsliste

+ + ".$e."

\n"; + } + } + + if(!empty($msg)){ + foreach ($msg as $m){ + echo "

".$m."

\n"; + } + } + ?> +
+ +
+ + + + + + + + + + + + + + $medlem){ + echo "\n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + + // Hvis bildet for brukeren finnes i png (deretter jpg) skrives dette ut, sammen med en form for å slette + if(file_exists($medlemsBildeMappe."/".$medlem->dbid.'.png')){ + echo ""; + } + else if(file_exists($medlemsBildeMappe."/".$medlem->dbid.'.jpg')){ + echo ""; + } + else { + echo " \n"; + } + echo "\n"; + } + ?> + +
#FornavnEtternavnPoststedE-postBilde
".($medlem->dbid)."".($medlem->fornavn ?? '')."".($medlem->etternavn ?? '')."".$medlem->poststed."".($medlem->epost ?? '').""; + echo ""; + echo "
"; + echo "
"; + echo ""; + echo "
"; + echo "
+
+ + Last opp bilde
+ + +
+ +
+ + + \ No newline at end of file diff --git a/modul8/index8_4-download.php b/modul8/index8_4-download.php new file mode 100644 index 0000000..e79e31e --- /dev/null +++ b/modul8/index8_4-download.php @@ -0,0 +1,31 @@ + + + + <?=title();?> + + + + +
+

+

+

Medlemsliste

+
+ +
+ + + + + + + + + + + + + + $medlem){ + echo "\n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + + echo "\n"; + + echo "\n"; + } + ?> + +
#FornavnEtternavnPoststedE-postBilde
".($medlem->dbid)."".($medlem->fornavn ?? '')."".($medlem->etternavn ?? '')."".$medlem->poststed."".($medlem->epost ?? '').""; + if(file_exists($medlemsBildeMappe."/".$medlem->dbid.'.png')){ + echo ""; + echo ""; + } + else if(file_exists($medlemsBildeMappe."/".$medlem->dbid.'.jpg')){ + echo ""; + echo ""; + } + else { + echo " Medlemmet har ikke et bilde.\n"; + } + echo "
+ +
+ + + \ No newline at end of file diff --git a/modul8/logger.inc.php b/modul8/logger.inc.php index 9b1b4d9..960804f 100644 --- a/modul8/logger.inc.php +++ b/modul8/logger.inc.php @@ -3,27 +3,29 @@ define('LOGGFIL', 'log.log'); class Logger { public static function log($melding){ - if(!file_exists(LOGGFIL)){ file_put_contents(LOGGFIL,''); } + $nesteRad = time().":\t ".$melding; file_put_contents(LOGGFIL, file_get_contents(LOGGFIL)."\n".$nesteRad); } public static function sisteMeldinger($antall = 10){ + $logOut = array(); + + if(!file_exists(LOGGFIL)){ return $logOut; } + $logg = explode("\n", file_get_contents(LOGGFIL)); - for($i = count($logg)-1-$antall; $i < count($logg)-1; $i++){ + for($i = count($logg)-$antall; $i < count($logg); $i++){ if($i > 0){ $loggRad = explode(":\t", $logg[$i], 2); - echo "".date('d. M H:i:s', $loggRad[0])."  ".$loggRad[1]."
"; - } - else { -// break; + $logOut[] = array(date('d. M - H:i:s', $loggRad[0]), $loggRad[1]); } } + return $logOut; } }