function edit_avatar_mbr()
{
    // Upload via le disque dur
    if (!empty($_FILES['file']['name'])) {
        $file2up = $_FILES['file']['tmp_name'];
        $name_file = $_FILES['file']['name'];
        $taille_file = filesize($file2up);
    } else {
        $file2up = $_POST['url'];
        $name_file = $file2up;
        $buffer = '';
        if ($fd = fopen($file2up, 'r')) {
            while (!feof($fd)) {
                $buffer .= fgets($fd, 4096);
            }
            fclose($fd);
        }
        $taille_file = strlen($buffer);
    }
    $upload_status = false;
    $ext_upload = strtolower(substr(strrchr($name_file, '.'), 1));
    $nom_fichier = substr(time(), 0, -2) . mt_rand(1, 999);
    if (in_array($ext_upload, array('gif', 'png', 'jpg', 'jpeg'))) {
        if (copy($file2up, PATH_ROOT . Nw::$assets['dir_users'] . 'pictos/tmp.' . $nom_fichier . '.png')) {
            create_mini(PATH_ROOT . Nw::$assets['dir_users'] . 'pictos/tmp.' . $nom_fichier . '.png', PATH_ROOT . Nw::$assets['dir_users'] . 'pictos/100_' . $nom_fichier . '.png', $ext_upload, 100);
            create_mini(PATH_ROOT . Nw::$assets['dir_users'] . 'pictos/tmp.' . $nom_fichier . '.png', PATH_ROOT . Nw::$assets['dir_users'] . 'pictos/tmp.3.' . $nom_fichier . '.png', $ext_upload, 50);
            create_mini(PATH_ROOT . Nw::$assets['dir_users'] . 'pictos/tmp.' . $nom_fichier . '.png', PATH_ROOT . Nw::$assets['dir_users'] . 'pictos/tmp.2.' . $nom_fichier . '.png', $ext_upload, 20);
            recadrer_image(PATH_ROOT . Nw::$assets['dir_users'] . 'pictos/tmp.2.' . $nom_fichier . '.png', PATH_ROOT . Nw::$assets['dir_users'] . 'pictos/16_' . $nom_fichier . '.png', 18, 18);
            recadrer_image(PATH_ROOT . Nw::$assets['dir_users'] . 'pictos/tmp.3.' . $nom_fichier . '.png', PATH_ROOT . Nw::$assets['dir_users'] . 'pictos/45_' . $nom_fichier . '.png', 45, 45);
            @unlink(PATH_ROOT . Nw::$assets['dir_users'] . 'pictos/tmp.' . $nom_fichier . '.png');
            @unlink(PATH_ROOT . Nw::$assets['dir_users'] . 'pictos/tmp.2.' . $nom_fichier . '.png');
            @unlink(PATH_ROOT . Nw::$assets['dir_users'] . 'pictos/tmp.3.' . $nom_fichier . '.png');
            $upload_status = true;
        }
    } else {
        redir(Nw::$lang['users']['avatar_false_ext'], false, 'users-62.html');
    }
    if ($upload_status) {
        Nw::$DB->query('UPDATE ' . Nw::$prefix_table . 'members SET u_avatar = \'' . $nom_fichier . '\' WHERE u_id = ' . intval(Nw::$dn_mbr['u_id'])) or Nw::$DB->trigger(__LINE__, __FILE__);
    }
}
Example #2
0
function add_img_news($id_news, $ordre = 1)
{
    $file2up = $_FILES['file']['tmp_name'];
    $name_file = $_FILES['file']['name'];
    $taille_file = filesize($file2up);
    $array_extensions = array('gif', 'png', 'jpg', 'jpeg');
    $ext_upload = strtolower(substr(strrchr($name_file, '.'), 1));
    $nom_fichier = substr(time(), 0, -2) . mt_rand(1, 999);
    // Extensions non autorisées
    if (!in_array($ext_upload, $array_extensions)) {
        return FALSE;
    }
    // La taille de l'image est trop élevée
    if (round($taille_file / 1000) > Nw::$droits['quota_max_size_img'] && Nw::$droits['quota_max_size_img'] != 0) {
        return FALSE;
    }
    $link_picture_hd = PATH_ROOT . Nw::$assets['dir_upload'] . 'hd/' . $nom_fichier . '_' . $id_news . '.png';
    $link_th2 = PATH_ROOT . Nw::$assets['dir_upload'] . 'th2/' . $nom_fichier . '_' . $id_news . '.png';
    $link_th_hd = PATH_ROOT . Nw::$assets['dir_upload'] . 'thhd/' . $nom_fichier . '_' . $id_news . '.png';
    $link_th_hd_tmp = PATH_ROOT . Nw::$assets['dir_upload'] . 'thhd/' . $nom_fichier . '_' . $id_news . '.tmp.png';
    // Upload de l'image en taille réelle
    move_uploaded_file($file2up, $link_picture_hd);
    chmod($link_picture_hd, 0777);
    create_mini($link_picture_hd, PATH_ROOT . Nw::$assets['dir_upload'] . 'th3/' . $nom_fichier . '_' . $id_news . '.tmp.png', $ext_upload, 300);
    recadrer_image(PATH_ROOT . Nw::$assets['dir_upload'] . 'th3/' . $nom_fichier . '_' . $id_news . '.tmp.png', PATH_ROOT . Nw::$assets['dir_upload'] . 'th3/' . $nom_fichier . '_' . $id_news . '.png', 85, 230);
    @unlink(PATH_ROOT . Nw::$assets['dir_upload'] . 'th3/' . $nom_fichier . '_' . $id_news . '.tmp.png');
    chmod(PATH_ROOT . Nw::$assets['dir_upload'] . 'th3/' . $nom_fichier . '_' . $id_news . '.png', 0777);
    create_mini($link_picture_hd, PATH_ROOT . Nw::$assets['dir_upload'] . 'th1/' . $nom_fichier . '_' . $id_news . '.png', $ext_upload, 80);
    create_mini($link_picture_hd, $link_th2, $ext_upload, 180);
    chmod(PATH_ROOT . Nw::$assets['dir_upload'] . 'th1/' . $nom_fichier . '_' . $id_news . '.png', 0777);
    chmod($link_th2, 0777);
    add_symb_photo($link_th2, PATH_ROOT . Nw::$assets['dir_upload'] . 'cfg/symb_1.png');
    Nw::$DB->query('INSERT INTO ' . Nw::$prefix_table . 'news_images (i_id_news, i_nom, i_date, i_ordre)
    VALUES(' . intval($id_news) . ', \'' . $nom_fichier . '\', NOW(), ' . intval($ordre) . ')') or Nw::$DB->trigger(__LINE__, __FILE__);
    $id_last_image = Nw::$DB->insert_id;
    return $id_last_image;
}