Внесение изменений в БД с главной страницы

levantuev

Пользователь
page_header.php добавил:

PHP:
'SHOW_CHAT'      => ($userdata['show_chat'] == 0) ? true : false,
'CHAT_SET'       => ($userdata['user_level'] != USER || $userdata['chat_set']) ? $lang['NO'] : $lang['YES'],
'CHAT_SET_EDIT'  => ($userdata['user_level'] == USER),

page_header.tpl добавил:

HTML:
<var class="ajax-params">{action: "edit_user_profile", id: "chat_set", editableType: "yesno-radio"}</var>

<table class="user_details borderless w100">
            <tr>
                <td id="chat_set"><b class="editable">{chat_set}</b></td>
            </tr>
</table>

Выдает, вышесказанную ошибку
--- добавлено: 2 ноя 2011 в 10:19 ---
в functions.php в самый конец $bf['user_opt'] = array( добавь новый параметр show_chat.
Не помогло, так же... invalid profile field: show_chat
 

levantuev

Пользователь
PHP:
Fatal error: DB Error [ajax/edit_user_profile.php(176)] in /var/www/virtual/xxx.ru/tp/htdocs/includes/db/mysql.php on line 803

edit_user_profile.php

PHP:
    case 'chat_set':

        $value = ($this->request['value']) ? 0 : 1;

        $this->response['new_value'] = ($profiledata['user_level'] != USER || $value) ? $lang['NO'] : $lang['YES'];

        break;

 
N

Nikolaich

Гость
По умолчанию должен быть выключенным т.к заходят с планшетников и.т.п. и невозможно никуда зайти из-за не валидности кода.
Невалидность кода - проблема админа. У меня чат включен по умолчанию у всех, выключение - в настройках профиля. Заходил на трекер и с планшетников, и со смартфона - все нормально.
А по умолчанию включенный чат избавляет от вопросов "Куда его дели?". Самостоятельное выключение ненужных опций самим юзером в настройках профиля - самый правильный с организационной точки зрения путь. И не надо ничего городить.
 

levantuev

Пользователь
Невалидность кода - проблема админа. У меня чат включен по умолчанию у всех, выключение - в настройках профиля. Заходил на трекер и с планшетников, и со смартфона - все нормально.
А по умолчанию включенный чат избавляет от вопросов "Куда его дели?". Самостоятельное выключение ненужных опций самим юзером в настройках профиля - самый правильный с организационной точки зрения путь. И не надо ничего городить.
Хорошо, поддерживаю. тогда встречный вопрос. Как изменить параметр в таблице через profile.php?mode=editprofile, пробовал искать что-нибудь схожее что-бы сделать по аналогии, но ничего не нашел. как объявить что такой параметр вообще существует. максимум до чего додумался так в темплэйтах html код соорудить :(

HTML:
<tr>
    <td>{L_CHAT}:</td>
    <td>
        <label><input type="radio" name="show_chat" value="1" <!-- IF SHOW_CHAT -->checked="checked"<!-- ENDIF --> />{L_YES}</label>&nbsp;
        <label><input type="radio" name="show_chat" value="0" <!-- IF not SHOW_CHAT -->checked="checked"<!-- ENDIF --> />{L_NO}</label>&nbsp;
    </td>
</tr>
 

dimka3210

Легенда
Ну давай ещё подзадорю :D
Доделал без перезагрузки странички)
--- добавлено: Nov 8, 2011 9:42 AM ---
PHP:
#-- открыть page_header.tpl
#-- найти
function set_h_cat ()
{
h_cats = [];
$.each($('input.h-cat-cbx:checked'), function(i,el){
h_cats.push( $(this).val() );
});
user.set('h_cat', h_cats.join('-'), 365, true);
}
#-- добавить
function chat_no() {
document.getElementById("chat").style.display="none";}
function chat_yes() {
document.getElementById("chat").style.display="inline";}
#-- найти
<tr><td>{L_BT_BONUS_UP}</td><td class="seedmed">{UP_BONUS}</td></tr>
#-- добавить
<tr><td colspan="2">Показывать чат?</td></tr>
<tr><td id="user_gender" colspan="2">
<input type="radio" name="chat" onclick="ajax.exec({ action: 'change_show_chat', value: '1'}); chat_yes();" /> Да
<input type="radio" name="chat" onclick="ajax.exec({ action: 'change_show_chat', value: '0' }); chat_no();" /> Нет </tr>
#-- код чата заключить в блок (косметику наводите сами)
<!-- IF SHOW_SHAT -->
<div id="chat">
<h3>Типа чат</h3>
</div>
<!-- ENDIF -->
#-- ajax.php
#-- перед последней закрывающей фигурной скобкой
function change_show_chat(){
global $userdata;
$val = $this->request['value'];
DB()->query("UPDATE `bb_users` SET `show_chat` = '{$val}' WHERE `user_id` ={$userdata['user_id']};");
cache_rm_user_sessions($userdata['user_id']);
$messa = ($val) ? 'Показ чата включён' : 'Показ чата отключён';
$this->ajax_die($messa);
}
#-- найти 
'manage_user' => array('user'),
#-- добавить
'change_show_chat' => array('user'),

#-- page_header.php
#-- найти
'FULL_URL' => FULL_URL,
#-- добавить
'SHOW_SHAT' => ($userdata['show_chat']) ? true : false,
#-- SQL-запрос
ALTER TABLE `bb_users` ADD `show_chat` INT( 1 ) NOT NULL DEFAULT '1'
 
Сверху