Beispiel #1
0
/**
 * Uploaduje zdjęcie do folderu danego w $settings['imageUploadDir']
 * @param unknown $user object user, musi być zalogowany
 * @param unknown $ID_samochodu zdjęcie dotyczy jakiegoś samochodu
 * @param unknown $_FILE zmienna zwraca przez php -> $_FILES['twojStringWIpucieWHTMLu']
 * @return positive non-zero numeric on success, reszta on false
 */
function upload_image($user = null, $ID_samochodu = null, $_FILE = null, $opis = "")
{
    // config
    global $settings;
    $debug = $settings['debug'];
    $imageUploadDir = $settings['imageUploadDir'];
    // koniec configu
    // based on http://www.w3schools.com/php/php_file_upload.asp
    if ($user == null || $ID_samochodu == null || $_FILE == null) {
        echo __FILE__ . __LINE__ . " złe parametry <BR>";
        return;
    }
    if (!is_object($user)) {
        echo __FILE__ . __LINE__ . " złe parametry <BR>";
        return;
    }
    if (!is_array($_FILE)) {
        echo __FILE__ . __LINE__ . " złe parametry <BR>";
        return;
    }
    if (!is_numeric($ID_samochodu)) {
        echo __FILE__ . __LINE__ . " złe parametry ID_samochodu=" . $ID_samochodu . " <BR>";
        return;
    }
    if (!$user->zalogowany || !is_string($user->nick)) {
        echo __FILE__ . __LINE__ . ":user nie jest zalogowany<br>";
        return;
    }
    $imageFileType = pathinfo($_FILE["name"], PATHINFO_EXTENSION);
    $imageSize = getimagesize($_FILE["tmp_name"]);
    //$targetFile = tempnam($targetDir, $user->nick."_").".".$imageFileType;
    // if ( dirname($targetFile) ==  sys_get_temp_dir() ) { return; }
    if (!is_writable($imageUploadDir)) {
        echo __FILE__ . __LINE__ . "target dir jest nie writable <br>";
        return;
    }
    if (!$imageSize) {
        echo __FILE__ . __LINE__ . "To nie jest fotka.<br>";
        return;
    }
    if (!preg_match("/jpg|png|jpeg|jpe|gif/i", $imageFileType)) {
        echo __FILE__ . __LINE__ . "Dozwolne typy plikow to jpg, png, jpe, gif.<br>";
        return;
    }
    if ($_FILE["size"] > 500000) {
        echo __FILE__ . __LINE__ . "Plik zbyt duzy (max 500 kb).<br>";
        return;
    }
    // sprawdź czy to jest samochód tego użytkownika
    $rows = szukaj(array("Samochod:ID_samochodu:" . $ID_samochodu . ":ID_uzytkownika:" . $user->getId()));
    if (sizeof($rows) != 1) {
        echo "Dany użytkownik o ID_uzytkownika: " . $user->getId() . " nie posiada samochodu ";
        echo " o ID_samochodu równym " . $ID_samochodu . "<br>";
        return;
    }
    // ALL OK, możemy w końcu coś zrobić
    // dodajemy zdjęcie z tymczasowym położeniem do bazy danych przez usera
    $tmpName = $_FILE["tmp_name"];
    // aktualne tmp położenie naszego zdjęcia
    $ret = $user->actionDodaj("Zdjecie", array("ID_samochodu" => $ID_samochodu, "URL" => $tmpName, "opis" => $opis));
    if ($ret == false) {
        echo __FILE__ . __LINE__ . "Error w dodawaniu zdjęcia przy user->actionDodaj";
        return false;
    }
    if ($debug) {
        echo __FILE__ . __LINE__ . "<br>";
        print_r(szukaj(array("Zdjecie:ID_samochodu:" . $ID_samochodu . ":URL:" . $tmpName)));
        echo "<br>";
    }
    // pobierz id zdjęcie tego cośmy go wgrali przed chwilą
    $ID_zdjecia = szukaj(array("Zdjecie:ID_samochodu:" . $ID_samochodu . ":URL:" . $tmpName))[0]["ID_zdjecia"];
    if (!isset($ID_zdjecia)) {
        echo __FILE__ . __LINE__ . "Cos zajebiscie nie tak! ID_zdjecia nie istnieje! <br>";
        print_r(szukaj(array("Zdjecie:ID_samochodu:" . $ID_samochodu . ":URL:" . $targetFile)));
        return false;
    }
    // tworzymy nazwy plików w odniesieniu do katalogu root i katalogu www zawierające ID_zdjiecia
    $targetFileRoot = $imageUploadDir . $user->nick . "_" . $ID_zdjecia . "." . $imageFileType;
    $targetFile = str_replace('/srv/http/', '', $targetFileRoot);
    // uploadujemy plik
    if (!move_uploaded_file($_FILE["tmp_name"], $targetFileRoot)) {
        echo __FILE__ . __LINE__ . "Wystapil problem podczas wrzucania fotki :(<br>";
        $user->actionUsun("Zdjecie", $ID_zdjecia);
        return false;
    }
    // updatujemy baze danych z prawidłowym linkiem
    if (!db::query("UPDATE Zdjecie set `URL` = '" . $targetFile . "' where `ID_zdjecia` = '" . $ID_zdjecia . "'")) {
        echo __FILE__ . __LINE__ . "dbquery2 error ? nie wiem jaki URL zdjecia = " . $targetFile . "<br>";
        $user->actionUsun("Zdjecie", $ID_zdjecia);
        return false;
    }
    if ($debug) {
        echo "Fotka " . basename($_FILE["name"]) . " <br>";
        echo " zostala wrzucona jako url w bazie : " . $targetFile . " jako plik w " . $targetFileRoot . "<BR>";
        echo " zapisana w bazie danych: <BR>";
        print_r(szukaj(array("Zdjecie:ID_samochodu:" . $ID_samochodu . ":URL:" . $targetFile)));
    }
    return $ID_zdjecia;
}
Beispiel #2
0
function wiadomosc_napisz()
{
    ?>
	
	<div id="container">
	<div id="container_left">
		<form method="POST" action="funkcje.php?akcja=wiad_nowa">
			<h1>Wyszukiwarka użytkowników:</h1></br>
			<center><input type="text" name="ciag">
			<input type="submit" value="Szukaj" name="szukaj">
		</form>
		</br></br></br>
		
<?php 
    if (isset($_POST['szukaj'])) {
        szukaj();
    }
    ?>
	
	</div>
		<form method="POST" action="funkcje.php?akcja=wiad_nowa">
			<center>
			<table class="pusta2">
			
<?php 
    if ($_SESSION['prawa'] == 'dyrektor' || $_SESSION['prawa'] == 'administrator') {
        $prawa = 0;
    } else {
        if ($_SESSION['prawa'] == 'nauczyciel') {
            $prawa = 1;
        } else {
            $prawa = 2;
        }
    }
    if ($prawa < 2) {
        ?>
	
	
		<tr><td>
			<input type="radio" name="x" value="osoba" id="osoba" onclick="zmien('', '')"/>
			<label class="label1">Jedna osoba:</label>
		<td><input type="radio" name="x" value="klasa" id="klasa" onclick="pokaz('klasa_wiad')"/>
			<label class="label1">Do całej klasy:</label></td>
		<td><input type="radio" name="x" value="naucz" id="naucz" onclick="zmien('nauczyciele', 'nauczyciele')"/>
			<label class="label1">Do nauczycieli:</label></td><td>

<?php 
    }
    if ($prawa < 1) {
        ?>

			<input type="radio" name="x" value="wszyscy" id="wszyscy" onclick="zmien('wszyscy', 'wszyscy')"/>
			<label class="label1">Do wszystkich:</label> <?php 
    }
    ?>

<?php 
    if ($prawa == 1) {
        ?>
	
			<input type="radio" name="x" value="uwaga" id="uwaga" onclick="zmien('', '')"/>
			<label class="label1">Napisz uwagę:</label>

<?php 
    }
    ?>
	
		</td></tr>
		<tr><td></td><td>

<?php 
    echo "<select style=\"display:none;\" name=\"klasa_wiad\" id=\"klasa_wiad\" size=\"1\">\n\t\t<option value=\"puste\"></option>";
    $zapytanie = "SELECT klasa_ID, poziom, podklasa from szkola.klasa;";
    $wynik = mysql_query($zapytanie);
    while ($row = mysql_fetch_row($wynik)) {
        echo " <option onclick=\"dodaj('klasa', '" . $row[1] . "" . $row[2] . "', '" . $row[0] . "')\" value=\"" . $row[0] . "\">" . $row[1] . "" . $row[2] . "</option>";
    }
    echo "</select>";
    ?>
	
		</td><td></td><td></td></tr>
	</table>
	
	<table class="pusta2">
		<tr><td>Do:</td><td>

<?php 
    if (isset($_GET['profil_id'])) {
        $zapytanie = "select profil_ID, imie, nazwisko from profil where profil_ID=" . $_GET['profil_id'] . "";
        $wynik = mysql_query($zapytanie);
        if ($row = mysql_fetch_row($wynik)) {
            echo '<input class="temat" readonly type="text" name="do" id="do" value="' . $row[2] . ' ' . $row[1] . '">';
            echo '<input style="display:none;" type="text" name="do_id" id="do_id" value="' . $row[0] . '">';
            echo '<input style="display:none;" type="text" name="czy_klasa" id="czy_klasa">';
        } else {
            echo '<input class="temat" readonly type="text" name="do" id="do">';
            echo '<input style="display:none;" type="text" name="do_id" id="do_id">';
            echo '<input style="display:none;" type="text" name="czy_klasa" id="czy_klasa">';
        }
    } else {
        echo '<input class="temat" readonly type="text" name="do" id="do">';
        echo '<input style="display:none;" type="text" name="do_id" id="do_id">';
        echo '<input style="display:none;" type="text" name="czy_klasa" id="czy_klasa">';
    }
    ?>
	
		</td></tr>
		<tr><td>Temat:</td><td>
			<input maxlength="100" class="temat" type="text" name="temat">
		</td></tr><tr><td>Treść:</td><td>
			<textarea name="tresc"></textarea>
		</td></tr><tr><td></td>
		<td class="right"><input type="submit" value="Wyślij" name="wyslij"></td></tr></table>
			</center>
		</form>
	</div>
	
<?php 
}