Agtustud Опубликовано 25 Июня 2008 Жалоба Поделиться Опубликовано 25 Июня 2008 Arhar выделение юзеров форума это хорошо. Не думал сделать еще один список для друзей юзера? Ссылка на комментарий Поделиться на других сайтах Прочее
BooDi Опубликовано 25 Июня 2008 Жалоба Поделиться Опубликовано 25 Июня 2008 сайт автора яваскрипта - http://marqueetool.net/проверьте там работает? в ие не хочет сапака...зато вот здесь работает http://www.defusion.org.uk/ сделал в профиле выпадающее меню, с фотками на которых отмечен, но не сильно нравится, какие еще будут решения???http://i047.radikal.ru/0806/ea/8d559cdcf21c.jpghttp://i052.radikal.ru/0806/13/758c35d14f1f.jpg Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 26 Июня 2008 Автор Жалоба Поделиться Опубликовано 26 Июня 2008 боюсь что defusion позволяет только одно выделение, там маловато примероввыпадающее меню неплохо, но если фоток будет 300, то тогда придется мучатся, лучше сделать отдельный блок на странице профиля, или еще проще отдельную страницу с выводом всех фоток, использованием st, в общем стандартным механизмом, как тема Ссылка на комментарий Поделиться на других сайтах Прочее
Kvendi Опубликовано 26 Июня 2008 Жалоба Поделиться Опубликовано 26 Июня 2008 Вот с кодировкой бы попроавить и было бы уже супер Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 26 Июня 2008 Автор Жалоба Поделиться Опубликовано 26 Июня 2008 поправил ieсейчас пойму как и расскажу давай стучи сегодня в icq по кодировке фикс в архиве Ссылка на комментарий Поделиться на других сайтах Прочее
Kvendi Опубликовано 26 Июня 2008 Жалоба Поделиться Опубликовано 26 Июня 2008 Респект за помощь в кодировке (сори что сам так не попробовал ) ), фикс для IE работает ) Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 26 Июня 2008 Автор Жалоба Поделиться Опубликовано 26 Июня 2008 еще раз обновил архивдобавка людей перенесена после проверки прав доступа файл security_fix в архиве Ссылка на комментарий Поделиться на других сайтах Прочее
BooDi Опубликовано 27 Июня 2008 Жалоба Поделиться Опубликовано 27 Июня 2008 или еще проще отдельную страницу с выводом всех фоток, использованием st, в общем стандартным механизмом, как темасделал закладку как у компонентов с выводом превьюшек фоток Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 27 Июня 2008 Автор Жалоба Поделиться Опубликовано 27 Июня 2008 суперпросто для 2.1.х так не сделаешь, а я приоритетно пишу для него в общем все, сессия сдана, я уезжаю, последний день - завтра, так что если есть серьезные требования - говорите Ссылка на комментарий Поделиться на других сайтах Прочее
Kvendi Опубликовано 27 Июня 2008 Жалоба Поделиться Опубликовано 27 Июня 2008 BooDiподелись если для >2.2 делал )Arharтак как полный вывод в профиль достаточно проблематичен, то может просто сделать ссылку в левой колонке профиле "показать фотографии, на которых отмечен пользователь" ? просто не уверен на соклько затруднительно вывести в галерее список с фоток с специфичными условиями Ссылка на комментарий Поделиться на других сайтах Прочее
BooDi Опубликовано 27 Июня 2008 Жалоба Поделиться Опубликовано 27 Июня 2008 для 2.2 и 2.3 оказалось легко, сам не ожидалсоздаешь в /forum/sources/components_public/profile/два файла: например gde.conf.php и gde.phpв конфиг файле<?php $CONFIG['plugin_name'] = 'Где я есть'; // что будет написано на кнопке $CONFIG['plugin_lang_bit'] = 'pp_tab_gde'; $CONFIG['plugin_key'] = 'gde'; $CONFIG['plugin_enabled'] = 1; // включение $CONFIG['plugin_order'] = 1; // порядок вывода закладок ?> а сам плагин получается:<?php if ( ! defined( 'IN_IPB' ) ) { print "<h1>Куда???</h1>Стоять нах."; exit(); } class profile_gde { var $ipsclass; function return_html_block( $member=array() ) { // эта часть для отображения в скольких фотках человек отмечен $this->ipsclass->DB->build_query( array( 'select' => 'COUNT(image_id) as kolvo', 'from' => 'gallery_peoples', 'where' => 'member_id='.$member['id'], ) ); $this->ipsclass->DB->exec_query(); $roww = $this->ipsclass->DB->fetch_row(); if($roww['kolvo']==1) $skoka='1 фотографии'; else $skoka=$roww['kolvo'].' фотографиях'; $i=0; $prisutstvie="Меня отметили на ".$skoka.":<br><br><table><tr>"; // дальше формирование таблицы с превьюшками $this->ipsclass->DB->build_query( array( 'select' => 'f.image_id as imga', 'from' => array( 'gallery_peoples' => 'f' ), 'where' => 'f.member_id='.$member['id'], 'add_join' => array( 0 => array( 'select' => 'm.masked_file_name as flnm', 'from' => array( 'gallery_images' => 'm' ), 'where' => 'm.id=f.image_id', 'type' => 'left' ) ) ) ); $this->ipsclass->DB->exec_query(); while( $row = $this->ipsclass->DB->fetch_row() ) { $i++; // этот кусок для определения вертикальная или горизонтальная, пока только для того, чтоп все были одного размера // исправь на свой полный путь до файлов галереи $img_size = getimagesize('/home/public_html/forum/uploads/gallerys/tn_'.$row['flnm']); $file_width = $img_size[0]; $file_height = $img_size[1]; if ($file_width>$file_height) $storona="width='200'"; else $storona="height='200'"; // ссылки может придёцо подредактировать до нужного $prisutstvie.="<td><a href='index.php?automodule=gallery&req=si&img=".$row['imga']."'><img src='/uploads/gallerys/tn_".$row['flnm']."' ".$storona."></a></td>"; // это тоже пока заготовка, чтоб в строке по три фотки было if($i==3) {$prisutstvie.="</tr><tr>"; $i=0;} } $prisutstvie.="</tr></table>"; return $prisutstvie ? $prisutstvie : $this->ipsclass->compiled_templates['skin_profile']->personal_portal_no_content( 'err_no_posts_to_show' ); } } ?> пока даю в том виде, в котором у меня оно сейчас. каждый думаю изменит как он хочет... Ссылка на комментарий Поделиться на других сайтах Прочее
Kvendi Опубликовано 27 Июня 2008 Жалоба Поделиться Опубликовано 27 Июня 2008 Подправил, все получилось ) Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 27 Июня 2008 Автор Жалоба Поделиться Опубликовано 27 Июня 2008 свой полный путь до файловgetimagesize(ROOT_PATH.'uploads/gallerys/tn_'.$row['flnm']);href='index.php?automodulehref='{$this->ipsclass->base_url}automodule+ еще один left join к таблице категорий по image.category_id=category.id за category.perms_view (как то так, подсмотри в бд)и потомif(!$this->ipsclass->check_perms($row['perms_view'])) continue; Ссылка на комментарий Поделиться на других сайтах Прочее
genresu4 Опубликовано 30 Июня 2008 Жалоба Поделиться Опубликовано 30 Июня 2008 что то я не понял, как на 2.3.3 (2.1.1) должен отображаться отмечение людей? или что надо исправить? напишите толковый мануал)) Ссылка на комментарий Поделиться на других сайтах Прочее
genresu4 Опубликовано 6 Июля 2008 Жалоба Поделиться Опубликовано 6 Июля 2008 просмотрел топик, вроде стало яснее, но я так и не понял как должно работать! я всё выполнил и доп.действия тоже, но как должно происходить само выделение? я когда нажимаю отметить появляется снизу форма для указания ника и справо непонятный сервый столбец высотой с фотографию... столбец статичен... а при попытке нажать на фотографию она увеличивается! IPB 2.3.3 IPG 2.2.1 Ссылка на комментарий Поделиться на других сайтах Прочее
Kvendi Опубликовано 6 Июля 2008 Жалоба Поделиться Опубликовано 6 Июля 2008 а ты не щелкай по фотографии, а выделяй Ссылка на комментарий Поделиться на других сайтах Прочее
genresu4 Опубликовано 11 Июля 2008 Жалоба Поделиться Опубликовано 11 Июля 2008 я наверное нерусский но как выделить не щёлкая?)) Ссылка на комментарий Поделиться на других сайтах Прочее
Kvendi Опубликовано 11 Июля 2008 Жалоба Поделиться Опубликовано 11 Июля 2008 так же как ты и выделяешь файлы в проводнике Ссылка на комментарий Поделиться на других сайтах Прочее
Raver2 Опубликовано 11 Июля 2008 Жалоба Поделиться Опубликовано 11 Июля 2008 Афтору респект всё вышло !Как насчет настройки, чтоб пользователь мог разрешать только друзьям отмечать его, что скажите ? Ссылка на комментарий Поделиться на других сайтах Прочее
Raver2 Опубликовано 11 Июля 2008 Жалоба Поделиться Опубликовано 11 Июля 2008 Вобщем заметил баг тоесть если страница не полностью загрузилась а курсор держать на выделеном имени то потом когда отводиш вся картинка затемняется а когда наводиш вокруг темно а обьект выдиления светлый O_oКак зделать без затемнения фона чтоб просто контур был мне кажется этого достаточно И опера по странному загружает поочереди мелькают выделеные обьекты Arhar у меня путь к картинкам галереи/forum/uploads/1190371883/tn_gallery_2_1_132715.jpg причём папок куча разных фоток на метров 700 ))) может ответ находится в Табе Галлереи?да только я не силен в ПХП так поверхностноДело в том что в этой вкладке уже есть колонки выравнивание инфа рейтинг и т.п. Я думаю не проще переделать его для вывода в отмеченных файлах ? <?php if ( ! defined( 'IN_IPB' ) ) { print "<h1>Incorrect access</h1>You cannot access this file directly. If you have recently upgraded, make sure you upgraded 'admin.php'."; exit(); } class profile_gallery { /** * Global IPSCLASS * @var object */ var $ipsclass; /*-------------------------------------------------------------------------*/ // Return data /*-------------------------------------------------------------------------*/ /** * Returns a block of HTML back to the ajax handler * which then replaces the inline content with the HTML * returned. * */ function return_html_block( $member=array() ) { if( !$this->ipsclass->DB->field_exists( "id", "gallery_images" ) ) { return $this->ipsclass->lang['err_no_posts_to_show']; } if( !$this->ipsclass->member['g_gallery_use'] ) { return $this->ipsclass->lang['err_no_posts_to_show']; } define( 'GALLERY_PATH' , ROOT_PATH . 'sources/components_public/gallery/' ); define( 'GALLERY_LIBS' , GALLERY_PATH . 'lib/' ); $this->ipsclass->load_language( 'lang_gallery' ); $this->ipsclass->load_template( 'skin_gallery_global' ); //----------------------------------------- // Get gallery library and API //----------------------------------------- require_once( ROOT_PATH . 'sources/api/api_core.php' ); require_once( ROOT_PATH . 'sources/api/gallery/api_gallery.php' ); require( GALLERY_LIBS . 'lib_categories.php' ); $this->category = new lib_categories(); $this->category->ipsclass =& $this->ipsclass; $this->category->normal_init(); require_once( GALLERY_LIBS . 'lib_gallery.php' ); $this->glib = new lib_gallery(); $this->glib->ipsclass =& $this->ipsclass; $this->glib->category =& $this->category; //----------------------------------------- // Create API Object //----------------------------------------- $gal_api = new api_gallery; $gal_api->ipsclass = $this->ipsclass; $gal_api->glib = & $this->glib; $gal_api->category = & $this->category; //----------------------------------------- // Get images //----------------------------------------- $images = $gal_api->return_gallery_data( $member['id'], 6, 0 ); //----------------------------------------- // Get Image Library //----------------------------------------- require_once ( GALLERY_LIBS . 'lib_imagelisting.php' ); $img_list = new lib_imagelisting(); $img_list->ipsclass =& $this->ipsclass; $img_list->glib =& $this->glib; $img_list->category =& $this->category; $img_list->init(); //----------------------------------------- // Pass some values from API //----------------------------------------- $img_list->res = $gal_api->res; $img_list->total_images = $gal_api->total; //----------------------------------------- // Ready to pull formatted stuff? //----------------------------------------- $output = "<script type='text/javascript'>var ids_to_imgs = new Array();</script>"; $output .= $this->ipsclass->compiled_templates['skin_gallery_global']->globals(); $output .= $img_list->img_html->container_row_top( $this->ipsclass->compiled_templates['skin_gallery_global']->link_macro( $this->ipsclass->base_url . 'autocom=gallery&req=search&op=do_search&mid=' . $member['id'], $this->ipsclass->lang['where_all_member'] ) ); $output .= $img_list->get_html_listing( array( 'imgs_per_col' => 3, 'imgs_per_row' => 2, 'can_rate' => ( $this->ipsclass->vars['gallery_use_rate'] AND $this->ipsclass->member['g_rate'] ) ? 1 : 0, ) ); $output .= $img_list->img_html->container_row_bottom(); $output .= "<script type='text/javascript'>menu_do_global_init();</script>"; //----------------------------------------- // Macros... //----------------------------------------- if ( ! is_array( $this->ipsclass->skin['_macros'] ) OR ! count( $this->ipsclass->skin['_macros'] ) ) { $this->ipsclass->skin['_macros'] = unserialize( stripslashes($this->ipsclass->skin['_macro']) ); } if ( is_array( $this->ipsclass->skin['_macros'] ) ) { foreach( $this->ipsclass->skin['_macros'] as $row ) { if ( $row['macro_value'] != "" ) { $output = str_replace( "<{".$row['macro_value']."}>", $row['macro_replace'], $output ); } } } $output = str_replace( "<#IMG_DIR#>", $this->ipsclass->skin['_imagedir'], $output ); $output = str_replace( "<#EMO_DIR#>", $this->ipsclass->skin['_emodir'] , $output ); return $output; } } ?> ПСИ еще если стоит разрешение менять отображаемое имя у пользователей ?а в gallery_peoples записано старое может стоит вытягивать имя по ИД из members_display_name или службу синхранизации сделать ???Также почему бы не сделать чтоб ЛС приходило не посредственно от того кто и отметил пользователя?Да и вообще мне кажется надо в gallery_peoples добавить переменную кто отметил это и админить упростит и отслеживание Ссылка на комментарий Поделиться на других сайтах Прочее
genresu4 Опубликовано 12 Июля 2008 Жалоба Поделиться Опубликовано 12 Июля 2008 Kvendi: нету такого!!! када начинаю так выделять у меня открывается фотография в полный размер! может это как то связано с тем что у меня в шаблонах раньше не было <div class="fullimagewrap"> ??? чесно скажу, удалось себя отметить только когда не смогла загрузиться надпись "Нажмите для увеличения" Ссылка на комментарий Поделиться на других сайтах Прочее
Theron Опубликовано 12 Июля 2008 Жалоба Поделиться Опубликовано 12 Июля 2008 Arhar у меня путь к картинкам галереи/forum/uploads/1190371883/tn_gallery_2_1_132715.jpg причём папок куча разных фоток на метров 700 ))) Решается так: В файле gde.php вот это 'add_join' => array( 0 => array( 'select' => 'm.masked_file_name as flnm', заменяем на это 'add_join' => array( 0 => array( 'select' => 'm.masked_file_name as flnm, m.directory as directory', а все gallerys (т.е путь/uploads/gallerys/tn_'.$row['flnm']) в файле заменяем на '.$row['directory'].' (т.е. должно быть - путь/uploads/'.$row['directory'].'/tn_'.$row['flnm']) - встречается два раза Ссылка на комментарий Поделиться на других сайтах Прочее
Raver2 Опубликовано 13 Июля 2008 Жалоба Поделиться Опубликовано 13 Июля 2008 Theronпрбовал не помогло тупо пустота вот что у меня вышло <?php if ( ! defined( 'IN_IPB' ) ) { print "<h1>Куда???</h1>Стоять нах."; exit(); } class profile_gde { var $ipsclass; function return_html_block( $member=array() ) { // эта часть для отображения в скольких фотках человек отмечен $this->ipsclass->DB->build_query( array( 'select' => 'COUNT(image_id) as kolvo', 'from' => 'gallery_peoples', 'where' => 'member_id='.$member['id'], ) ); $this->ipsclass->DB->exec_query(); $roww = $this->ipsclass->DB->fetch_row(); if($roww['kolvo']==1) $skoka='1 фотографии'; else $skoka=$roww['kolvo'].' фотографиях'; $i=0; $prisutstvie="Меня отметили на ".$skoka.":<br><br><table><tr>"; // дальше формирование таблицы с превьюшками $this->ipsclass->DB->build_query( array( 'select' => 'f.image_id as imga', 'from' => array( 'gallery_peoples' => 'f' ), 'where' => 'f.member_id='.$member['id'], 'add_join' => array( 0 => array( 'select' => 'm.masked_file_name as flnm, m.directory as directory', 'from' => array( 'gallery_images' => 'm' ), 'where' => 'm.id=f.image_id', 'type' => 'left' ) ) ) ); $this->ipsclass->DB->exec_query(); while( $row = $this->ipsclass->DB->fetch_row() ) { $i++; // этот кусок для определения вертикальная или горизонтальная, пока только для того, чтоп все были одного размера // исправь на свой полный путь до файлов галереи $img_size = $getimagesize( ROOT_PATH.'/uploads/'.$row['directory'].'/tn_'.$row['flnm']); $file_width = $img_size[0]; $file_height = $img_size[1]; if ($file_width>$file_height) $storona="width='200'"; else $storona="height='200'"; // ссылки может придёцо подредактировать до нужного $prisutstvie.="<td><a href='{$this->ipsclass->base_url}automodule=gallery&req=si&img=".$row['imga']."'><img src='/uploads/'.$row['directory'].'/tn_".$row['flnm']."' ".$storona."></a></td>"; // это тоже пока заготовка, чтоб в строке по три фотки было if($i==3) {$prisutstvie.="</tr><tr>"; $i=0;} } $prisutstvie.="</tr></table>"; return $prisutstvie ? $prisutstvie : $this->ipsclass->compiled_templates['skin_profile']->personal_portal_no_content( 'err_no_posts_to_show' ); } } ?> также не мешалобы сделать чтоб при отмечании самого себя тебе ЛС не приходило Ссылка на комментарий Поделиться на других сайтах Прочее
Theron Опубликовано 14 Июля 2008 Жалоба Поделиться Опубликовано 14 Июля 2008 Ну да, тупанул я. Замени <img src='/uploads/'.$row['directory'].'/tn_".$row['flnm']."' ".$storona.">на <img src='/uploads/".$row['directory']."/tn_".$row['flnm']."' ".$storona."> Ссылка на комментарий Поделиться на других сайтах Прочее
Raver2 Опубликовано 15 Июля 2008 Жалоба Поделиться Опубликовано 15 Июля 2008 Ну да, тупанул я. Замени <img src='/uploads/'.$row['directory'].'/tn_".$row['flnm']."' ".$storona.">на <img src='/uploads/".$row['directory']."/tn_".$row['flnm']."' ".$storona.">И всёже не пашет что у меня тут опять не так? <?php if ( ! defined( 'IN_IPB' ) ) { print "<h1>Куда???</h1>Стоять нах."; exit(); } class profile_gde { var $ipsclass; function return_html_block( $member=array() ) { // эта часть для отображения в скольких фотках человек отмечен $this->ipsclass->DB->build_query( array( 'select' => 'COUNT(image_id) as kolvo', 'from' => 'gallery_peoples', 'where' => 'member_id='.$member['id'], ) ); $this->ipsclass->DB->exec_query(); $roww = $this->ipsclass->DB->fetch_row(); if($roww['kolvo']==1) $skoka='1 фотографии'; else $skoka=$roww['kolvo'].' фотографиях'; $i=0; $prisutstvie="Меня отметили на ".$skoka.":<br><br><table><tr>"; // дальше формирование таблицы с превьюшками $this->ipsclass->DB->build_query( array( 'select' => 'f.image_id as imga', 'from' => array( 'gallery_peoples' => 'f' ), 'where' => 'f.member_id='.$member['id'], 'add_join' => array( 0 => array( 'select' => 'm.masked_file_name as flnm, m.directory as directory', 'from' => array( 'gallery_images' => 'm' ), 'where' => 'm.id=f.image_id', 'type' => 'left' ) ) ) ); $this->ipsclass->DB->exec_query(); while( $row = $this->ipsclass->DB->fetch_row() ) { $i++; // этот кусок для определения вертикальная или горизонтальная, пока только для того, чтоп все были одного размера // исправь на свой полный путь до файлов галереи $img_size = $getimagesize( ROOT_PATH.'/uploads/".$row['directory']."/tn_'.$row['flnm']); $file_width = $img_size[0]; $file_height = $img_size[1]; if ($file_width>$file_height) $storona="width='200'"; else $storona="height='200'"; // ссылки может придёцо подредактировать до нужного $prisutstvie.="<td><a href='{$this->ipsclass->base_url}automodule=gallery&req=si&img=".$row['imga']."'><img src='/uploads/".$row['directory']."/tn_".$row['flnm']."' ".$storona."></a></td>"; // это тоже пока заготовка, чтоб в строке по три фотки было if($i==3) {$prisutstvie.="</tr><tr>"; $i=0;} } $prisutstvie.="</tr></table>"; return $prisutstvie ? $prisutstvie : $this->ipsclass->compiled_templates['skin_profile']->personal_portal_no_content( 'err_no_posts_to_show' ); } } ?> Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения