urisoft Опубликовано 13 Июля 2007 Жалоба Поделиться Опубликовано 13 Июля 2007 Дополнение для mJournal v2.0pb7: Элементы страницы - Добавление фоновых картинок в оформление дневниковАвтор: Arhar 1. выполнить запрос:ALTER TABLE ibf_jmembers ADD j_bg_images text NOT NULL default'' 2. в файле setup.php найти case '14': $this->page_files(); break;добавить после case '16': $this->page_bgimages(); break;найти array('10', $ibforums->lang['j_p_design']));заменить на array('10', $ibforums->lang['j_p_design']), array('16', "элементы страницы"));найти} ?>добавить перед function page_bgimages() { global $ibforums, $journal, $DB; if (!$ibforums->cache['group_cache'][$journal->users['mgroup']]['g_j_design']) { $this->output['PAGES'] = $journal->skin->html['setup']->page_nodesign(); } else { require JOURNAL_ROOT.'misc/post_functions.php'; $post_func = new post_functions(); if ($post_func->allow_upload()) { $max_filesize = $ibforums->vars['j_photo_max'] * 1024; $this->output['PAGES'] .= <<<EOF <form action='{$journal->base_url}' name='bgimages' method="post" enctype='multipart/form-data'> <input type='hidden' name='auth_key' value='{$this->md5_check}' /> <input type='hidden' name='user' value='{$journal->users['id']}' /> <input type='hidden' name='doset' value='33' /> <input type='hidden' name='MAX_FILE_SIZE' value='$max_filesize' /> <table class="tableborder" cellpadding="0" cellspacing="0" width="100%"> <tr> <td class="mainhead" colspan="2">Загрузка элементов фона страницы</td> </tr> <tr> <td class='row'>Фон страницы</td> <td class='row'><input class='input' type='file' name='body_bg' value='' size='40' /></td> </tr> <tr> <td class='row'>Фиксировать фон?</td> <td class='row'><select class="select" name="body_bg_fixed" > <option value="0" selected="selected">Нет <option value="1">Да </select></td> </tr> <tr> <td class='row'>Название дневника</td> <td class='row'><input class='input' type='file' name='titlehead_bg' value='' size='40' /></td> </tr> <tr> <td class='row'>Верхняя панель</td> <td class='row'><input class='input' type='file' name='toppanel_bg' value='' size='40' /></td> </tr> <tr> <td class='row'>Дата записи</td> <td class='row'><input class='input' type='file' name='postdate_bg' value='' size='40' /></td> </tr> <tr> <td class='row'>Панель пользователя - Заголовок</td> <td class='row'><input class='input' type='file' name='mainhead_bg' value='' size='40' /></td> </tr> <tr> <td class='row'>Фон логотипа</td> <td class='row'><input class='input' type='file' name='logobg_bg' value='' size='40' /></td> </tr> <tr> <td class='row'>Оставить прежние элементы?</td> <td class='row'><select class="select" name="notchange" > <option value="0" selected="selected">Нет <option value="1">Да </select></td> </tr> <tr> <td class='row' colspan="2"><p><input class='button' type='submit' name='bgimages' value='Загрузить' /></p></td> </tr> </table> </form> <br /> EOF; } else { $this->output['PAGES'] = $journal->skin->html['setup']->page_nodesign(); } } $this->nav_settings('16'); $journal->title = "Настройки дизайна :: ".$journal->users['name']." :: "; $journal->nav[] = "<a href='".$journal->base_url."user=".$journal->users['id']."'>".$journal->users['name']."</a>"; $journal->nav[] = "Настройки дизайна"; }3. в файле dosetup.php найти case '23': $this->do_delete(); break;добавить после case '33': $this->do_bgimages(); break;найти} ?>добавить перед function do_bgimages() { global $ibforums, $DB, $journal; if (!$ibforums->cache['group_cache'][$journal->users['mgroup']]['g_j_design']) { $journal->err_journal($ibforums->lang['j_err_header']); } require JOURNAL_ROOT.'misc/post_functions.php'; $post_func = new post_functions(); if ($post_func->allow_upload()) { require JOURNAL_ROOT."misc/image_lib.php"; $image_lib = new image_lib(); $image_lib->max_file_size = $ibforums->vars['j_photo_max'] * 1024; if ($_FILES['body_bg']['name']) { $image_lib->name = "j_body_bg_".$journal->users['id']; if ($image_lib->upload('body_bg')) { $name['body_bg'][0] = $image_lib->name; $name['body_bg'][1] = $ibforums->input['body_bg_fixed']; } else { $journal->err_journal($image_lib->error." (для фона страницы)"); } } if ($_FILES['titlehead_bg']['name']) { $image_lib->name = "j_titlehead_bg_".$journal->users['id']; if ($image_lib->upload('titlehead_bg')) { $name['titlehead_bg'] = $image_lib->name; } else { $journal->err_journal($image_lib->error." (для названия дневника)"); } } if ($_FILES['toppanel_bg']['name']) { $image_lib->name = "j_toppanel_bg_".$journal->users['id']; if ($image_lib->upload('toppanel_bg')) { $name['toppanel_bg'] = $image_lib->name; } else { $journal->err_journal($image_lib->error." (для верхней панели)"); } } if ($_FILES['postdate_bg']['name']) { $image_lib->name = "j_postdate_bg_".$journal->users['id']; if ($image_lib->upload('postdate_bg')) { $name['postdate_bg'] = $image_lib->name; } else { $journal->err_journal($image_lib->error." (для даты записи)"); } } if ($_FILES['mainhead_bg']['name']) { $image_lib->name = "j_mainhead_bg_".$journal->users['id']; if ($image_lib->upload('mainhead_bg')) { $name['mainhead_bg'] = $image_lib->name; } else { $journal->err_journal($image_lib->error." (для заголовка)"); } } if ($_FILES['logobg_bg']['name']) { $image_lib->name = "j_logobg_bg_".$journal->users['id']; if ($image_lib->upload('logobg_bg')) { $name['logobg_bg'] = $image_lib->name; } else { $journal->err_journal($image_lib->error." (для фона логотипа)"); } } if (is_array($name)) { if($ibforums->input['notchange']) { $prevarr = unserialize(stripslashes($journal->users['j_bg_images'])); if (!is_array($prevarr)) $prevarr=array(); $resarr = array_merge($name,$prevarr); } else { $resarr = $name; } $images = addslashes(serialize($resarr)); $DB->query("UPDATE ibf_jmembers SET j_bg_images='".$images."' WHERE id=".$journal->users['id']); $journal->redirect_screen("Элементы обновлены",$journal->base_url."user=".$journal->users['id']."&set=16"); } elseif(!$ibforums->input['notchange']) { $prevarr = unserialize(stripslashes($journal->users['j_bg_images'])); if (is_array($prevarr)) { foreach($prevarr as $k => $v) { @unlink($ibforums->vars['j_upload_dir']."/".$v); } } $DB->query("UPDATE ibf_jmembers SET j_bg_images='' WHERE id=".$journal->users['id']); $journal->redirect_screen("Элементы обновлены",$journal->base_url."user=".$journal->users['id']."&set=16"); } else { $journal->redirect_screen("Элементы не обновлены",$journal->base_url."user=".$journal->users['id']."&set=16"); } } }4. в файле journal.php найти $template = $this->skin->html['global']->wrapper($output);добавить перед $bgimarr = unserialize(stripslashes($this->users['j_bg_images'])); if (is_array($bgimarr)) { $output['CSS'] .= "<style type='text/css'>"; foreach ($bgimarr as $k => $v) { preg_match('/^(.*?)_bg$/',$k,$vofk); if ($vofk[1]=='body') { //print_r($v); if ($v[1]) { $fixed = "background-repeat: no-repeat;\nbackground-attachment: fixed;\nbackground-position: center\n"; } $output['CSS'] .= "\nbody\n{\nbackground-image: url(".$ibforums->vars['j_upload_url']."/".$v[0].");\n".$fixed."}\n"; } else { $output['CSS'] .= "\n.".$vofk[1]."\n{\nbackground-image: url(".$ibforums->vars['j_upload_url']."/".$v.");\n}\n"; } } $output['CSS'] .= "</style>"; } Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Иннокентий Опубликовано 13 Июля 2007 Жалоба Поделиться Опубликовано 13 Июля 2007 Конечно дико извиняюсь, но где искать сию настройку? Где она должна появиться? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
urisoft Опубликовано 13 Июля 2007 Автор Жалоба Поделиться Опубликовано 13 Июля 2007 В настройках дневника пользователя. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Иннокентий Опубликовано 13 Июля 2007 Жалоба Поделиться Опубликовано 13 Июля 2007 найтиarray('10', $ibforums->lang['j_p_design']), добавить послеarray('16', "элементы страницы") Я так понимаю нужен ; в конце.... поставил... но что-то не появился этот пункт Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
urisoft Опубликовано 13 Июля 2007 Автор Жалоба Поделиться Опубликовано 13 Июля 2007 Сделать так:найти array('10', $ibforums->lang['j_p_design']));заменить на array('10', $ibforums->lang['j_p_design']), array('16', "элементы страницы")); Выше исправил. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Иннокентий Опубликовано 13 Июля 2007 Жалоба Поделиться Опубликовано 13 Июля 2007 Собственно сие и есть замечательно Вижу, уже исправлено. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
delfin Опубликовано 19 Августа 2007 Жалоба Поделиться Опубликовано 19 Августа 2007 пользователям запрещено менять элементы страницы, хотя в админке я разрешил менять дизайн... это глюк? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Allure Опубликовано 20 Августа 2007 Жалоба Поделиться Опубликовано 20 Августа 2007 Если ткнуться в закрытый дневник, где установлен свой фон, то этот фон виден. Кто-нибудь это уже исправил? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
replicant Опубликовано 21 Августа 2007 Жалоба Поделиться Опубликовано 21 Августа 2007 Если ткнуться в закрытый дневник, где установлен свой фон, то этот фон виден. Кто-нибудь это уже исправил? решение для бекграундов ./journal/journal.php function err_journal($err_message) { global $ibforums; // set to default style $this->skin->set_default_css(); $this->skin->clear_skin_list(); $this->skin->load_template(); $this->users['j_css_custom'] = 0; $this->users['id'] = 0; $this->users['j_bg_images'] = ''; строку $this->users['j_bg_images'] = ''; можно не добавлять, если без нее заработает, т.е. она не обязательная Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Allure Опубликовано 23 Августа 2007 Жалоба Поделиться Опубликовано 23 Августа 2007 (изменено) replicant, спасибо! Еще одна проблема выискалась - не все фоны грузятся - только маленькие. Посмотрела ограничение - 1024, а у меня на меньшее выдает "Неверный формат загружаемого файла. (для фона страницы)". Причем формат стандартный - jpg. Загружаются только файлы в пределах 640пкс по бОльшей стороне, а это просто несерьезно. Где искать ограничения? Изменено 23 Августа 2007 пользователем Allure Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
replicant Опубликовано 23 Августа 2007 Жалоба Поделиться Опубликовано 23 Августа 2007 Если внимательно прочитать код мода, то можно дважды увидеть вот такие строки $max_filesize = $ibforums->vars['j_photo_max'] * 1024; Это обозначает, что размер загружаемой картинки для фонов равен максимальному размеру фотографии, задаваемому в админке. Т.е. если у тебя Максимальный размер фотографии в админке дневников установлен 100 килобайт, то максимальный размер файла для бекграунда тоже будет 100 килобайт. Экспериментально попробуй заменить множитель 1024 на что-то большее. Вроде бы должно помочь. Т.е. 1024 -> 4096 - увеличит в 4 раза максимально допустимый размер для фонов. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
delfin Опубликовано 24 Августа 2007 Жалоба Поделиться Опубликовано 24 Августа 2007 пользователям запрещено менять элементы страницы, хотя в админке я разрешил менять дизайн... это глюк? а что с этим делать, народ???? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Allure Опубликовано 24 Августа 2007 Жалоба Поделиться Опубликовано 24 Августа 2007 (изменено) replicant, так вот фокус-то в том, что я уже это все пробовала. Увеличила размер фото в админке - помогло. Спасибо! Изменено 24 Августа 2007 пользователем Allure Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Torsh Опубликовано 29 Августа 2007 Жалоба Поделиться Опубликовано 29 Августа 2007 URISOFT,Всем привет! у меня такая проблема: не знаю как добавить запрос к базе данных, т.е. к определённому префиксу, у меня это inpb_. Я создаю файл следующего вида:<? $c=mysql_connect("hostname", "username", "password"); echo mysql_select_db("mysql", $c); $stroka = "ALTER TABLE ibf_jmembers ADD j_bg_images text NOT NULL default''"; $result = mysql_query($stroka); echo $result; ?>и запускаю его, в ответ выводится "1". Что как я понимаю "истина", т.е. выполнилось успешно, но в префикс не добавилось, а ток в саму БД(тут "mysql"). Помогите, please!.. И ещё проблемка: в файле journal.php не могу найти строку; $template = $this->skin->html['global']->wrapper($output); Может это из-за того что я не смог добавить в префикс базы данных? У меня файл journal.php находится в корне сайта(почему пишу, да может у кого-то по-другому, т.к. версия IBP 2.2.2, а mjournal 2.1beta) Заранее спасибо!.. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 29 Августа 2007 Жалоба Поделиться Опубликовано 29 Августа 2007 запрос делается через админку - SQL утилиту - внизу окошко для запроса для лично вас запрос:ALTER TABLE inpb_jmembers ADD j_bg_images text NOT NULL default'' второефайлПАПКА ФОРУМА/journal/journal.php Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Torsh Опубликовано 29 Августа 2007 Жалоба Поделиться Опубликовано 29 Августа 2007 Большое спасибо Вам за помощь при запросе! второефайлПАПКА ФОРУМА/journal/journal.php Что касается journal/journal.php то у меня этого файла НЕТ! Может потому что версия 2.1beta? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 29 Августа 2007 Жалоба Поделиться Опубликовано 29 Августа 2007 все попрятано./journal/includes/class_journal.php Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Torsh Опубликовано 29 Августа 2007 Жалоба Поделиться Опубликовано 29 Августа 2007 все попрятано./journal/includes/class_journal.phpТ.е. надо вставлять мне не journal/journal.php а в /journal/includes/class_journal.php ?или мне создать файл journal/journal.php с таким же содержимым как /journal/includes/class_journal.php ??? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 17 Сентября 2007 Жалоба Поделиться Опубликовано 17 Сентября 2007 надо вставлять не journal/journal.php а в /journal/includes/class_journal.php Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
l-k Опубликовано 21 Сентября 2007 Жалоба Поделиться Опубликовано 21 Сентября 2007 (изменено) Ошибка нашлась. Старые файлы удалялись только при отправке полностью пустой формы. Вдруг обнаружилось, что на ftp полно старых неиспользуемых фонов. На скорую руку исправила так:в dosetup.php было так if (is_array($name)) { if($ibforums->input['notchange']) { $prevarr = unserialize(stripslashes($journal->users['j_bg_images'])); if (!is_array($prevarr)) $prevarr=array(); $resarr = array_merge($name,$prevarr); } else { $resarr = $name; }стало так if (is_array($name)) { $prevarr = unserialize(stripslashes($journal->users['j_bg_images'])); if($ibforums->input['notchange']) { if (!is_array($prevarr)) $prevarr=array(); $resarr = array_merge($name,$prevarr); } else { $resarr = $name; if (is_array($prevarr)) { $prevarr = array_diff($prevarr, $resarr); foreach($prevarr as $k => $v) { if (is_array($v)) $v = $v[0]; @unlink($ibforums->vars['j_upload_dir'].$v); } } }можно, наверно, и красивше... чтобы удаление один раз обрабатывалось, а не два. Поторопилась. Еще одна правка: перед вторым @unlink тоже вписатьif (is_array($v)) $v = $v[0];(фон страницы вообще никогда не стирался) Изменено 21 Сентября 2007 пользователем l-k Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
replicant Опубликовано 22 Сентября 2007 Жалоба Поделиться Опубликовано 22 Сентября 2007 Как раз то что доктор прописал, а то было так .... ...Прим: по ходу работы в моде "элементы страниц" замечена следующая фича ... удалить файл бекграунда не удается, хотя все остальные файлы удаляются из настроек дневника нормально. Копать не было времени, но особенно это и не напрягает. Также для правильного вычисления размера каталога аттачей, если он больше 2Гб, необходимо убрать в файле ad_journal_stats.php INTVAL в строке $this->base->std->size_format($attach_sum['cnt']))); Опробуем в действии. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
polluw Опубликовано 4 Октября 2007 Жалоба Поделиться Опубликовано 4 Октября 2007 при попытке загрузить свой фон, вот что пишет.. mySQL query error: UPDATE ibf_jmembers SET j_bg_images='a:1:{s:7:\"body_bg\";a:2:{i:0;s:15:\"j_body_bg_1.gif\";i:1;s:1:\"0\";}}' WHERE id=1 SQL error: Unknown column 'j_bg_images' in 'field list'SQL error code: Date: 4.10.2007, 16:16 как исправить? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Sannis Опубликовано 4 Октября 2007 Жалоба Поделиться Опубликовано 4 Октября 2007 Первый пункт инструкции не сделали. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
polluw Опубликовано 5 Октября 2007 Жалоба Поделиться Опубликовано 5 Октября 2007 спасибо огромное Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
mallinka Опубликовано 24 Ноября 2007 Жалоба Поделиться Опубликовано 24 Ноября 2007 (изменено) не могу ни чего поменять, ни фон, ни панель, ни логотип, пишетсяОшибка при загрузке файла.Что делать, помогите плиз!!!! ****************************Сори, глупость сморозила, сама разобралась Изменено 24 Ноября 2007 пользователем mallinka Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.