Вопрос такой- Прикрутил к логину, систему "Войти исползуя паспорт Draugiem.lv"(типо как на ютубе можно войти исползуя акаунт гугла), юзер логитса, но по идее он же не получит те же права на постинг и загрузку файлов как юзверь моего сайта,Как сделать чтобы у человека были такие же права как и у реганного пользователя? Эта штука мне очень нужна, для посешчаловки огромный +, надеюсь на помощч наших светлых умов!
$draugiem = new DraugiemApi($app_id, $app_key);//Create Draugiem.lv API object
$session = $draugiem->getSession(); //Try to authenticate user
if($session && !empty($_GET['dr_auth_code'])){//New session, check if we are not redirected from popup if(!empty($_GET['dr_popup'])){//Redirected from popup, refresh parent window and close the popup with Javascript ?> <script type="text/javascript"> window.opener.location.reload(); window.opener.focus(); if(window.opener!=window){ window.close(); } </script> <?php } else {//No popup, simply reload current window header('Location: ?'); } exit; }
if($session){//Authentication successful
$user = $draugiem->getUserData();//Get user info
//Print greeting for user echo '<h2>Sveiks, '.$user['name'].' '.$user['surname'].'</h2>'; if($user['img']){ echo '<img src="'.$draugiem->imageForSize($user['img'], 'medium').'" alt="" />'; }
echo '<hr />';
//Show 10 friends with normal size image if($users = $draugiem->getUserFriends(1, 10)){
echo '<h3>Jusu draugi kuri lieto aplikaciju</h3>';
$redirect = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];//Where to redirect after authorization
echo $draugiem->getLoginButton($redirect);//Show the button
}
if(is_user()){ $newpms=$db->sql_numrows($db->sql_query("SELECT id,t_user FROM ".$prefix."_private WHERE t_user='$uname' AND status !='1' AND status !='3' AND status !='4'"));
$draugiem = new DraugiemApi($app_id, $app_key);//Create Draugiem.lv API object
$session = $draugiem->getSession(); //Try to authenticate user
if($session && !empty($_GET['dr_auth_code'])){//New session, check if we are not redirected from popup if(!empty($_GET['dr_popup'])){//Redirected from popup, refresh parent window and close the popup with Javascript ?> <script type="text/javascript"> window.opener.location.reload(); window.opener.focus(); if(window.opener!=window){ window.close(); } </script> <?php } else {//No popup, simply reload current window header('Location: ?'); } exit; }
if($session){//Authentication successful
$user = $draugiem->getUserData();//Get user info
//Print greeting for user echo '<h2>Sveiks, '.$user['name'].' '.$user['surname'].'</h2>'; if($user['img']){ echo '<img src="'.$draugiem->imageForSize($user['img'], 'medium').'" alt="" />'; }
echo '<hr />';
//Show 10 friends with normal size image if($users = $draugiem->getUserFriends(1, 10)){
echo '<h3>Jusu draugi kuri lieto aplikaciju</h3>';
$redirect = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];//Where to redirect after authorization
echo $draugiem->getLoginButton($redirect);//Show the button
}
ну вот, нужно чтобы человек вошедший на сайт при помощчи этого скрипта был полноценый юзер, тоесть добавлять материалы, фото, видео и.т.д. Если не получилось понятно, тогда выйду через скайп.
Как сделать чтобы у человека были такие же права как и у реганного пользователя
Регистрировать его на сайте...
Я бы сделал так:
КОД
if($session){//Authentication successful $user = $draugiem->getUserData();//Get user info
### Если это не пользователь, то проверяем зарегистрировали мы его уже, если да то ставим куки как пользователю и обновляем страницу иначе регистрируем его как пользователя ставим куки как пользователю и обновляем страницу ### Пример в пункте 4
1. Выбираем какой-либо префикс для имени пользователя (допустим [Draugiem]) зарегистрированного с Draugiem.lv 2. Проверяем что бы у нас не было пользователей с таким префиксом в таблицах `prefix_users` и `prefix_users_temp`, если такие пользователи есть выбираем другой префикс 3. Запрещаем регистрироваться пользователям через обычную регистрацию с любыми именами начинающимися с выбранного префикса, для этого изменям файл modules\account\index.php
КОД
#Вставка=1 if (preg_match("#^\[Draugiem\]#si",trim($user_name))) $stop = "Извените, но Ваше имя не может начинаться на [Draugiem], выберите другое имя!"; else { #Конец вставки=1 if ($confu['rule'] && $rulescheck != "1") $stop = ""._ERROR_RULES.""; checkemail($user_email); $mail_b = explode(",", $confu['mail_b']); foreach ($mail_b as $val) if ($val != "" && $val == strtolower($user_email)) $stop = ""._MAIL_BLOCK.""; $name_b = explode(",", $confu['name_b']); foreach ($name_b as $val) if ($val != "" && $val == strtolower($user_name)) $stop = ""._NAME_BLOCK.""; if (!$user_name || !analyze_name($user_name)) $stop = ""._ERRORINVNICK.""; if (strlen($user_name) > 25) $stop = ""._NICKLONG.""; if ($db->sql_numrows($db->sql_query("SELECT user_name FROM ".$prefix."_users WHERE user_name='$user_name'")) > 0) $stop = ""._NICKTAKEN.""; if ($db->sql_numrows($db->sql_query("SELECT user_name FROM ".$prefix."_users_temp WHERE user_name='$user_name'")) > 0) $stop = ""._NICKTAKEN.""; if ($db->sql_numrows($db->sql_query("SELECT user_email FROM ".$prefix."_users WHERE user_email='$user_email'")) > 0) $stop = ""._ERROR_EMAIL.""; if ($db->sql_numrows($db->sql_query("SELECT user_email FROM ".$prefix."_users_temp WHERE user_email='$user_email'")) > 0) $stop = ""._ERROR_EMAIL.""; #Вставка=2 } #Конец вставки=2
4. Изменяем Ваш код:
КОД
if($session){//Authentication successful $user = $draugiem->getUserData();//Get user info
на что-то типа:
КОД
if($session){//Authentication successful $user = $draugiem->getUserData();//Get user info
#Вставка=3 #if (!is_user()) { #$uname=$user['name']; #<========== Тут должен быть какой-то уникальный ник или, возможно, id с сайта Draugiem.lv #Возможно фильтрация $uname # #Стоит помнить что тип поля `user_name` в таблице prefix_users = varchar(25) # #$result = $db->sql_query("SELECT user_id, user_name, user_password, user_storynum, user_blockon, user_theme FROM ".$prefix."_users WHERE user_name='[Draugiem]$uname'"); #if ($db->sql_numrows($result) == 1) { #list($user_id, $user_name, $user_password, $user_storynum, $user_blockon, $user_theme) = $db->sql_fetchrow($result); #cookieset($user_id, $user_name, $user_password, $user_storynum, $user_blockon, $user_theme); #} else { #Регистрируем пользователя: #$db->sql_query("INSERT INTO ".$prefix."_users (user_id, user_name, user_email, user_password, user_avatar, user_regdate, user_lang, user_last_ip, user_agent) VALUES (NULL, '".$user_name."', '".$user_email."', '".$user_password."', '00.gif', now(), '".$language."', '".$uip."', '".$uagent."')"); #Пароль можно сделать пользователю абсолютно любым #Устанавливаем ему куки: #cookieset($user_id, $user_name, $user_password, $user_storynum, 0, ''); # $user_id - id пользователя, получаем из запроса LAST_INSERT_ID(); # $user_name - это никнэйм пользователя с вашей приставкой # $user_password - пароль, генерируем сами md5_salt('какой то пароль'); # $user_storynum - тут любое число (это у нас количество статей на домашней странице) #} # Обновляем страницу Header (location .... #} #Конец вставки=3
5. Также не забудьте добавить в global вашего блока $prefix,$db 6. Также Ваши $user лучше заменить на что-либо другое, т.к в системе уже присутсвует переменная $user и используется она для вывода информации о пользователе: