Форум сетевых администраторов
Показаны 10 сообщений на этой странице

Форум сетевых администраторов (http://netadmin.ws/forum/index.php)
- Хаки от Netadmin или "Сделай сам" (http://netadmin.ws/forum/forumdisplay.php?forumid=65)
-- изучение РНР с помощью ВБ, или "Сделай сам" (http://netadmin.ws/forum/showthread.php?threadid=7270)


Помещено MCTarakan 10-12-2003 в 23:19:

изучение РНР с помощью ВБ, или "Сделай сам"

Итак, у меня давно витала в голове эта идея... Вообщем, до того, как я столкнулся в ВБ у меня полностью отсутствовали какие-либо познания в Ð_НÐ_... Потом я поставил данную борду и начал несмело устанавливать хаки... Времени на изучение Ð_НÐ_ у меня нет... Так вот, я все-таки хочу выучить данный язык, НО с помощью ВБ. Т.е. я его до сих пор НЕ знаю, но уже кой-чего понимаю в том, как и где что-то должно находиться в хаке, чтобы он заработал, где искать ошибки (свои и чужие). Вообщем, я кой-чему научился, НО этого мало. Я хочу самостоятельно научиться делать хаки - именно те, которые нужны мне!

Вот тут я решил для себя и других таких как я попытаться научиться делать хаки! Что мне нужно? Мне нужен один-два человека, которые знают Ð_НÐ_ и которые мне хотят помочь. Я даю задание и вы подробно объясняете, как и что мне нужно сделать, чтобы создать хак.

Итак, тех-задание:
Мне нужна фото-галлерея участников форума со следующими параметрами:

1. Участник добавляет фотографию из своего профиля
2. Фотография сохраняется на СЕÐ_ВЕÐ_Е, а НЕ В БАЗЕ!
3. Фотография должна иметь определенные размеры и вес, устанавливаемый мной в админ-панеле
4. В мемберс-листе должна быть иконка у кого есть, а у кого нет фотографии, при нажатии на которую открывается pop-up окошко с данной фоткой
5. В профиле участника выводится данная фотография

В данный момент у меня есть "хак" в котором юзвери могут добавить свою фотку, НО она находится в Инете, т.е. если их сервер недоступен или юзверь удалил фотку где-то там, то в профиле виден красный крест...

Вообщем, если данный хак имеет место уже быть, то я прошу кого-нить сделать его детальный разбор - что, почему так, что означает это, а что то...
Если такого хака нет, то я попрошу хакера описать полностью процесс создания хака - т.е. какие изменения должны быть сделаны в коде скрипта(ов) и базе данных, почему и что эти изменения означают. Желательно это сделать так, чтобы я мог САМ сделать эти изменения, т.е. ПОНЯЛ что я делаю, а не слепо следовать инструкции!

В инете полно учебников по Ð_НÐ_, но все они тупые на мой счет... Т.е. они уже для программистов. Там дается пример "Hello world" и сразу переход на то, что я уже не могу понять!

Давайте попробуем!
Заранее спасибо!

MCTarakan добавил 10-12-2003 в 23:33:18:
Итак, давайте порассуждаем!

Для того, чтобы сделать хак нам в первую очередь надо изменить (сделать дополнения) код скриптов. Какие именно файлы нам надо менять?
1. Участник добавляет фотографию из своего профиля - если зайти в свой профиль ту на нетадмине, то мы увидем такую ссылку: http://netadmin.ws/forum/member.php?s=&action=editprofile Следовательно, за это отвечает файл root/member.php, а изменять мы должны тут: action=editprofile

Находим:

PHP:


// ############################### start modify profile ###############################
if ($action=="editprofile") {
  
$templatesused =  'register_birthday,modifyprofile_customtext,regist
er_customfields,usercpnav,modifyprofile'
;
  include(
"./global.php");
  
// do modify profile form



А ЧТО ДАЛЬШЕ?

__________________
yMC.ru - хомяк музыканта


Помещено Tagore 11-12-2003 в 21:13:

MCTarakan
Круто, хорошое начинание

__________________
Международное брачное агенство в Сибири.


Помещено MCTarakan 12-12-2003 в 00:09:

ну дык, давайте помогайте... я буду потихоньку первый пост редактировать! Просто я чисто понять все хочу, а вот на этом пока застрял... хотябы дайте зацепку, в каком месте надо искать и почему!

__________________
yMC.ru - хомяк музыканта


Помещено Krionix 12-12-2003 в 07:40:

MCTarakan
И все-таки без знания языка ты ничего не сделаешь.

quote:
В данный момент у меня есть "хак" в котором юзвери могут добавить свою фотку, НО она находится в Инете, т.е. если их сервер недоступен или юзверь удалил фотку где-то там, то в профиле виден красный крест
Можешь посмотреть как определяется что фотки где-то там уже нет ?

И все-же легче подредактировать уже готовый хак чтобы он сохранял пикчи на сервак, чем писать все с нуля.

__________________
Форум 3DNews


Помещено polo 12-12-2003 в 13:45:

Урок по аплоаду и проверки файлов тебе никоо давать не будет. Юзай php.net, читай доку, доки полно. А так все просто: у таблицы юзвери содаешь новое поле скажем foto а там можно хранить значение 0 если фото нет и дату загрузки если фото есть. Для вывода просто смотришь не пустое ли поле. А загрузку можешь создать на базе тех же аватаров.

__________________
Всегда есть решение.


Помещено MCTarakan 13-12-2003 в 01:49:

quote:
у таблицы юзвери содаешь новое поле скажем foto а там можно хранить значение 0 если фото нет и дату загрузки если фото есть. Для вывода просто смотришь не пустое ли поле. А загрузку можешь создать на базе тех же аватаров

Во... спасибо, хоть какие-то наметки дал... буду посмотреть!
quote:
И все-же легче подредактировать уже готовый хак чтобы он сохранял пикчи на сервак, чем писать все с нуля.

его тоже надо посмотреть, просто я еще не занимался вплотную...
quote:
Урок по аплоаду и проверки файлов тебе никоо давать не будет. Юзай php.net, читай доку, доки полно

а вот времени то и нету! Хотя буду ковырять!

__________________
yMC.ru - хомяк музыканта


Помещено Tagore 13-12-2003 в 18:30:

Unicode

Вот такая штука для Юникода, а только куда его сунуть, чтобы заработал. Ð_то, собственно, еще вопрос.


code:

function GmbH_unUnicode($str) {
$unicode = array(
        "%u0410"=>"А",
        "%u0411"=>"Б",
        "%u0412"=>"В",
        "%u0413"=>"Г",
        "%u0414"=>"Д",
        "%u0415"=>"Е",
        "%u0401"=>"Ё",
        "%u0416"=>"Ж",
        "%u0417"=>"З",
        "%u0418"=>"И",
        "%u0419"=>"Й",
        "%u041A"=>"К",
        "%u041B"=>"Л",
        "%u041C"=>"М",
        "%u041D"=>"Н",
        "%u041E"=>"О",
        "%u041F"=>"П",
        "%u0420"=>"Ð_",
        "%u0421"=>"С",
        "%u0422"=>"Т",
        "%u0423"=>"У",
        "%u0424"=>"Ф",
        "%u0425"=>"Х",
        "%u0426"=>"Ц",
        "%u0427"=>"Ч",
        "%u0428"=>"Ш",
        "%u0429"=>"Щ",
        "%u042A"=>"Ъ",
        "%u042B"=>"Ы",
        "%u042C"=>"Ь",
        "%u042D"=>"Ð_",
        "%u042E"=>"Ю",
        "%u042F"=>"Я",
        "%u0430"=>"а",
        "%u0431"=>"б",
        "%u0432"=>"в",
        "%u0433"=>"г",
        "%u0434"=>"д",
        "%u0435"=>"е",
        "%u0451"=>"ё",
        "%u0436"=>"ж",
        "%u0437"=>"з",
        "%u0438"=>"и",
        "%u0439"=>"й",
        "%u043A"=>"к",
        "%u043B"=>"л",
        "%u043C"=>"м",
        "%u043D"=>"н",
        "%u043E"=>"о",
        "%u043F"=>"п",
        "%u0440"=>"р",
        "%u0441"=>"с",
        "%u0442"=>"т",
        "%u0443"=>"у",
        "%u0444"=>"ф",
        "%u0445"=>"х",
        "%u0446"=>"ц",
        "%u0447"=>"ч",
        "%u0448"=>"ш",
        "%u0449"=>"щ",
        "%u044A"=>"ъ",
        "%u044B"=>"ы",
        "%u044C"=>"ь",
        "%u044D"=>"э",
        "%u044E"=>"ю",
        "%u044F"=>"я");

        return(strtr($str, $unicode));
        }

function GmbH_unUTF($str) {
        $newstr="";
        $l=strlen($str);
        $i=0;
        while ($i<$l) {
                $code=ord($str[$i]);
                if ($code<0x80) $newstr.=$str[$i];
                else {
                        $i++;
                        $w=$code*256+ord($str[$i]);

                        if ($w>=0xd0b0) {$b=224+$w-0xd0b0;}
                        else {$b=95;}
                        if ($w==0xd180) {$b=240;}  # р
                        if ($w==0xd181) {$b=241;}  # c
                        if ($w==0xd182) {$b=242;}  # т
                        if ($w==0xd183) {$b=243;}  # у
                        if ($w==0xd184) {$b=244;}  # ф
                        if ($w==0xd185) {$b=245;}  # х
                        if ($w==0xd186) {$b=246;}  # ц
                        if ($w==0xd187) {$b=247;}  # ч
                        if ($w==0xd188) {$b=248;}  # ш
                        if ($w==0xd189) {$b=249;}  # щ
                        if ($w==0xd18a) {$b=250;}  # ь
                        if ($w==0xd18b) {$b=251;}  # ы
                        if ($w==0xd18c) {$b=252;}  # ъ
                        if ($w==0xd18d) {$b=253;}  # э
                        if ($w==0xd18e) {$b=254;}  # ю
                        if ($w==0xd18f) {$b=255;}  # я

                        if ($w==0xd090) {$b=192;}  # А
                        if ($w==0xd091) {$b=193;}  # Б
                        if ($w==0xd092) {$b=194;}  # В
                        if ($w==0xd093) {$b=195;}  # Г
                        if ($w==0xd094) {$b=196;}  # Д
                        if ($w==0xd095) {$b=197;}  # Е
                        if ($w==0xd096) {$b=198;}  # Ж
                        if ($w==0xd097) {$b=199;}  # З
                        if ($w==0xd098) {$b=200;}  # И
                        if ($w==0xd099) {$b=201;}  # Й
                        if ($w==0xd09a) {$b=202;}  # К
                        if ($w==0xd09b) {$b=203;}  # Л
                        if ($w==0xd09c) {$b=204;}  # М
                        if ($w==0xd09d) {$b=205;}  # Н
                        if ($w==0xd09e) {$b=206;}  # Н
                        if ($w==0xd09f) {$b=207;}  # Н
                        if ($w==0xd0A0) {$b=208;}  # Н
                        if ($w==0xd0A1) {$b=209;}  # Н
                        if ($w==0xd0A2) {$b=210;}  # Н
                        if ($w==0xd0A3) {$b=211;}  # Н
                        if ($w==0xd0A4) {$b=212;}  # Н
                        if ($w==0xd0A5) {$b=213;}  # Н
                        if ($w==0xd0A6) {$b=214;}  # Н
                        if ($w==0xd0A7) {$b=215;}  # Н
                        if ($w==0xd0A8) {$b=216;}  # Н
                        if ($w==0xd0A9) {$b=217;}  # Н
                        if ($w==0xd0Aa) {$b=218;}  # Н
                        if ($w==0xd0Ab) {$b=219;}  # Н
                        if ($w==0xd0Ac) {$b=220;}  # Н
                        if ($w==0xd0Ad) {$b=221;}  # Н
                        if ($w==0xd0Ae) {$b=222;}  # Н
                        if ($w==0xd0Af) {$b=223;}  # Н
                        $newstr.=chr($b);
                        }
                $i++;
                }
        return($newstr);
        }


__________________
Международное брачное агенство в Сибири.


Помещено MCTarakan 14-12-2003 в 02:31:

эээ... это чаво? Типа списко по русским буковам? Вроде был где-то более простой? а так ваще это к чему?

MCTarakan добавил 14-12-2003 в 02:36:00:
Krionix

quote:
И все-таки без знания языка ты ничего не сделаешь.

дык, вот и хочется выучить язык при помощи ВБ!

__________________
yMC.ru - хомяк музыканта


Помещено Rumata 02-01-2004 в 16:57:

MCTarakan, обращайся ко мне. С удовольствием помогу. У меня есть полуживой код, который делает именно то, что тебе надо.

Могу помочь и словами.

btw сразу замечание: ты подходишь к проблеме не с того конца, утыкаешься в частности. Ð_азработай сначала общий план. Хоршо, что у тебя уже есть список функциональности, которую ты хочешь от хака. Теперь тебе нужно понять на "алгоритмическом" уровне, как это сделать. Намекаю: где ты собираешься хранить инфу о фотографии?


Помещено flashman 15-03-2004 в 16:53:

мне тоже интересна эта тема!
Правда, в отличие от MCTarakan-а я полный ЛАМЕÐ_ в PHP. Но понимаю, что учить надо. Присоединяюсь.

__________________
Приглашаю всех в клуб творческих людей! (адрес - в профайле)


Формат времени GMT. Текущее время 00:03.
Показаны 10 сообщений на этой странице

Powered by: vBulletin Version 2.2.4
Copyright © Jelsoft Enterprises Limited 2000, 2001.