Каким образом, чтобы помочь пользователям легко встраивать видео на сайте РВСН

Написал в РВСН (Simple Машина форума) к ShortLikeAFox от 10 августа 2008 года

Так вы за создание простой машины Форум основан сайт и вы хотите безопасный способ позволить пользователям для встраивания видео с популярных видео-сайтов (YouTube, Google Video, IGN и т.д.). Можно обоснованно бойтесь, дав пользователям возможность использовать просто вставить код из этих отдельных участков, потому что Бог знает, какие будут результаты. Для решения этой проблемы так же просто, как может быть. Карл Бенсон написал модификации пакета, что делает видео-вложение, как просто, как резка и вставки из URL страницы, видео-видимому дюйма Этот пакет работает более 150 сайтов и называется AEVAC (Audio Вставить видео / аудио клипы). В последнем выпуске версии 3.1.2 и может быть найден здесь.

Это мод я очень рекомендую. Б правильно она обладает потенциалом для значительного снижения частоты и тяжести администратор форума головные боли.

Как вручную добавить группу пользователей в РВСН Форума с помощью PHP

Написал в РВСН (Simple Машина форум), PHP путем ShortLikeAFox от 30 июля 2008 года

Это руководство предполагает, что вы знакомы с моей должности: Как вручную включить пользователя в РВСН Форум Использование PHP.

Недавно я столкнулся с проблемой продвижения 800 или около того полос из базы данных в РВСН форума. Я столкнулся с парой проблем при переезде, что я не охватывают в первую должность:

  1. Полоса имена не были гарантированы безопасность для символа, символа перейти в РВСН данных. Так какую фамилию изменить функции должны быть заняты.
  2. Полосы не имеют паролей. Поэтому некоторым видам генерации пароля должна быть занятыми.

Шагами я ходил в регистрации всех диапазонах в форуме выходит мало, как это:

Открытая база данных Band

за каждый (Band) (

Генерация пароля

Переименовать Band с "безопасной" название

Grab и накопления информации, необходимой для вставки пользователей

Вставить Band в smf_members

Отправить Band сообщение с паролем

)

Информация я можно получить в диапазоне данных, что является полезным относятся: bandName, bandEmail и bandWebsite

Вот функция генерации пароля я использовал (blatently взяты из totallyphp.co.uk):

Функция createRandomPassword () (

$ символов = "abcdefghijkmnopqrstuvwxyz023456789";

() * 1000000); srand ((двухместный) microtime () * 1000000);

$ I = 0;

$ проход = ";



Хотя ($ I <= 7) (

33; $ п = RAND ()% 33;

$ TMP = SUBSTR ($ символов, $ п, 1);

$ = $ проход проход. $ TMP;

$ I + +;

)

вернуться $ проход;

)

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

Как это сделать:

/ / Первый подключиться к базе данных полоса
Имя пользователя $ = "bandUsername";
$ принимающих = "bandHost";
$ MyPassword = "bandPassword";
$ DB_NAME = "bandDatabase";

("cannot connect to server"); mysql_connect ( "$ пребывания", "$ Имя пользователя", "$ MyPassword") или умереть ( "не могу подключиться к серверу");
("cannot select DB"); mysql_select_db ( "$ DB_NAME") или умереть ( "не может выбрать БД");

/ / Теперь захватывать все полос из базы данных
$ запрос = "SELECT * FROM allBands";
$ полос = mysql_query ($ запроса) или умереть ( "Ошибка конфигурации 2222b");
$ userRows = mysql_num_rows ($ полос);

/ / Теперь подключиться к РВСН DB
$ принимающих = "smfhost"; / / Имя хоста
Имя пользователя $ = "smfuser; / / MySQL имя пользователя
$ MyPassword = "smfpassword"; / / MySQL пароль
$ DB_NAME = "smfdatabase"; / / имя базы данных

("cannot connect to server"); mysql_connect ( "$ пребывания", "$ Имя пользователя", "$ MyPassword") или умереть ( "не могу подключиться к серверу");
("cannot select DB"); mysql_select_db ( "$ DB_NAME") или умереть ( "не может выбрать БД");

/ / $ vaild_chars будет массив разрешенных символов для пользователей. Я решил позволить только буквы и цифры. Есть и другие символы, которые могут быть использованы, что не будет вызывать проблемы, но по стилю причин я решил пойти в только буквы и цифры
$ valid_chars = "abcdefghijklmnopqrstu vwxyz 0 1 2 3 4 5 6 7 8 9";
$ valid_chars = взорваться ( "", $ valid_chars);

/ / Теперь нам необходимо петли в каждом диапазоне

){ за ($ i = 0; $ I <$ userRows; $ I + +) (

($bands)){ если ($ = строка mysql_fetch_assoc ($ диапазонах)) (

/ / Извлечение информации полоса
Экстракт ($ строка);
/ / Создать пароль для полосы
$ realPassword = createRandomPassword ();
/ / Я выбрал бы повторить bandname и пароль, а часть моей отладки и так я вижу функции, как это работает
эхо ( "<br/> $ bandName - $ realPassword");
newBand $ = "";
/ / Для каждого письма в полосе название мы будем с нетерпением увидеть, если он совпадает с действительным характером от $ valid_chars. Это не мы собираемся, чтобы избавиться от его и урезать полосе название
($bandName); $j ++ ){ для ($ J = 0; $ J <strlen ($ bandName); $ J + +) (

($band[$j])); $ Temp = str_replace ($ valid_chars, "Х", strtolower ($ полосы [$ J]));
если ($ Temp == "X")

newBand $ = $ newBand. диапазоне $ [$ J];

)
/ / Я присоединяюсь к новым именем по той же причине я поддерживаю старые имя и пароль
эхо ( "- $ newBand");
/ / У нас новая Band имя .... Теперь давайте начнем buliding информация нам нужна для вставки в БД ...
memberName $ = $ newBand;
realName $ = $ newBand; / / установить подлинное имя и имя члена то же самое. Полос может измениться, если они хотят
адрес электронной почты $ = $ bandEmail;
websiteUrl $ = $ bandWebsite; / / Со мною банды "веб-сайты, возможно, а войти в них
websiteTitle $ = $ newBand;
$ is_activated = 1;
$ ID_POST_GROUP = 4;
($memberName).$realPassword); //Password must be encrypted $ Password = SHA1 (strtolower ($ memberName). realPassword $); / / Пароль должен быть зашифрован

/ / Убедитесь, что не является членом их с таким же именем в РВСН данных. Мы не хотим, чтобы случайно никого вводить в два раза
$ запрос = "SELECT * FROM smf_members ГДЕ memberName = '$ memberName";
("Config Error 2222343242b"); $ результат = mysql_query ($ запроса) или умереть ( "Ошибка конфигурации 2222343242b");
$ nrows = mysql_num_rows ($ результата);

/ / Если имя члена найдено ничего не делать
если ($ nrows> 0) ()

остальное (

/ / Если пользователь еще не зарегистрировались на форуме, сделать это и отправить по электронной почте ....
$ запрос = "INSERT INTO smf_members (memberName, realName, адрес электронной почты, is_activated, ID_POST_GROUP, пароль, websiteUrl, websiteTitle) VALUES ( '$ memberName', '$ realName', '$ адрес электронной почты', '$ is_activated', '$ ID_POST_GROUP" , '$ Пароль', '$ websiteUrl', '$ websiteTitle') ";

("Config Error 2232 "); $ результат = mysql_query ($ запроса) или умереть ( "Config Ошибка 2232");

/ / Теперь нам необходимо отправить по электронной почте полоса
до $ = $ адрес электронной почты;
$ вопросу = "Ваш форум, имя пользователя и пароль";

/ / С
$ HEADER = "От: Me <me@mysite.com>";

/ / Ваше сообщение
$ сообщения .= "Ваш логин и пароль, которые перечислены ниже. Вы можете либо изменить в любое время. Если вы не хотите участвовать в наших форумах, это не проблема. Просто никогда не войти, и он будет, как ничего не произошло . \ R \ N ";
$ сообщения .= "Имя пользователя: Пароль memberName $: $ realPassword \ R \ N";

/ / Отправить сообщение
$ = отправленные почтой (с $, $ при условии, $ сообщении, $ заголовка);
если ($ отправленные)

эхо ( "- ДА!");
/ / Это последняя часть нашего эхо. "-ДА!" будет только печатные, если сообщение отправляется. Поэтому полная распечатка линия будет выглядеть примерно так:
/ / Адам волнений - 4s6vsxag - AdamStrife - ДА!

)

)
)

Как вручную добавить пользователя в РВСН Форума с помощью PHP

Написал в РВСН (Simple Машина форум), PHP путем ShortLikeAFox от 28 июля 2008 года

Этот конкретный пример для РВСН 1.1.5. Я не могу гарантировать это будет работать с любой другой версии.

Таким образом вы запускаете Простые машины Программное обеспечение форума и хочу, чтобы вручную ввести пользователя? Нет проблем. Я знаю, эта проблема представляется весьма специфический, но идеи, объяснил здесь могут быть адаптированы для других типов форумов и других баз данных по инициативе программных пакетов, таких, как Wordpress. Прежде чем мы получаем в точности, как это сделать, давайте взглянем на то, как простые машины Форумы отслеживает пользователей. В РВСН базе данных есть таблица называется smf_members. Smf_members структура выглядит следующим образом:

Области Тип Нуль

Основных По умолчанию Дополнительно
ID_MEMBER mediumint (8) неподписанное НЕТ PRI NULL AUTO_INCREMENT
memberName VARCHAR (80) НЕТ MUL
dateRegistered INT (10) неподписанное НЕТ MUL 0
должности mediumint (8) неподписанное НЕТ MUL 0
ID_GROUP SMALLINT (5) неподписанное НЕТ MUL 0
lngfile tinytext НЕТ MUL
lastLogin INT (10) неподписанное НЕТ MUL 0
realName tinytext НЕТ
Чат SMALLINT (5) НЕТ 0
unreadMessages SMALLINT (5) НЕТ 0
buddy_list text НЕТ
pm_ignore_list текст НЕТ
messageLabels текст НЕТ
пароль VARCHAR (64) НЕТ
адрес электронной почты tinytext НЕТ
personalText tinytext НЕТ
пола tinyint (4) неподписанное НЕТ 0
Дата рождения дата НЕТ MUL 0001-01-01
websiteTitle tinytext НЕТ
websiteUrl tinytext НЕТ
местонахождение tinytext НЕТ
ICQ tinytext НЕТ
AIM VARCHAR (16) НЕТ
YIM VARCHAR (32) НЕТ
MSN tinytext НЕТ
hideEmail tinyint (4) НЕТ 0
showOnline tinyint (4) НЕТ 1
timeFormat VARCHAR (80) НЕТ
подпись текст НЕТ
timeOffset поплавок НЕТ 0
аватар tinytext НЕТ
pm_email_notify tinyint (4) НЕТ 0
karmaBad SMALLINT (5) неподписанное НЕТ 0
karmaGood SMALLINT (5) неподписанное НЕТ 0
usertitle tinytext НЕТ
notifyAnnouncements tinyint (4) НЕТ 1
notifyOnce tinyint (4) НЕТ 1
notifySendBody tinyint (4) НЕТ 0
notifyTypes tinyint (4) НЕТ 2
memberIP tinytext НЕТ
memberIP2 tinytext НЕТ
secretQuestion tinytext НЕТ
secretAnswer VARCHAR (64) НЕТ
ID_THEME tinyint (4) неподписанное НЕТ 0
is_activated tinyint (3) неподписанное НЕТ 1
validation_code VARCHAR (10) НЕТ
ID_MSG_LAST_VISIT INT (10) неподписанное НЕТ 0
additionalGroups tinytext НЕТ
smileySet VARCHAR (48) НЕТ
ID_POST_GROUP SMALLINT (5) неподписанное НЕТ MUL 0
totalTimeLoggedIn INT (10) неподписанное НЕТ 0
passwordSalt VARCHAR (5) НЕТ

Поля нам необходимо обратить внимание на:

  • memberName - самостоятельное Explanitory.
  • dateRegistered - не является необходимым, но если не заполнили Дата регистрации дисплеи, как 31 декабря 1969 года. Дата сохраняется как эпоха времени. Не знаю, как рассчитать время в вашей голове? Нет проблем. Я использую бесплатно генератор найти здесь.
  • realName - должны быть вставлены. Когда я не уверен, я просто повторяю memberName здесь.
  • адрес электронной почты - самостоятельное Explanitory.
  • is_activated - должны быть установлены к 1, поскольку мы вручную активации члена.
  • ID_POST_GROUP - Я не буду лгать. Я не уверен, что это такое, но оно всегда кажется, будет установлен на 4. Итак .... Я всегда установить его на 4. Не самый лучший путь к программе, но то, что вы можете сделать?
  • пароль - пароль, который Вы хотите придать новый пользователь. Невозможно понять, как войти, не глядя на ФСМ документации. Правильного кода для шифрования РВСН пароль для базы данных выглядит так:

($memberName).$password) $ пароль = SHA1 (strtolower ($ memberName). $ пароль)

В приведенном выше строки кода $ пароля пользователя фактический пароль.

Как это сделать:

/ / Во-первых, подключиться к базе данных РВСН

$ принимающих = "имя хоста"; / / Имя хоста
Имя пользователя $ = "Имя пользователя"; / / MySQL имя пользователя
$ MyPassword = "пароль"; / / MySQL пароль
$ DB_NAME = "Имя пользователя"; / / имя базы данных

("cannot connect to server"); mysql_connect ( "$ пребывания", "$ Имя пользователя", "$ MyPassword") или умереть ( "не могу подключиться к серверу");
("cannot select DB"); mysql_select_db ( "$ DB_NAME") или умереть ( "не может выбрать БД");

$ memberName = "Железный человек";
$ realName = "Тони Старк";
адрес электронной почты $ = "ironMan@ironMan.com";
$ is_activated = 1;
$ ID_POST_GROUP = 4;

$ Password = "Tony1234";

($memberName).$password); $ Password = SHA1 (strtolower ($ memberName). $ пароль);

$ dateRegistered = 1216951200; / / 7-25-2008 2 утра

$ запрос = "INSERT INTO smf_members (memberName, realName, адрес электронной почты, is_activated, ID_POST_GROUP, пароль, dateRegistered) VALUES ( '$ memberName', '$ realName', '$ адрес электронной почты', '$ is_activated', '$ ID_POST_GROUP', ' $ пароль ',' $ dateRegistered ') ";
("SMF Error 101.234 "); $ результат = mysql_query ($ запроса) или умереть ( "Ошибка 101,234 РВСН");

Это все есть на него!