Перейти к контенту

Stiks

Клиенты
  • Число публикаций

    199
  • Регистрация

  • Последнее посещение

О Stiks

  • День рождения 01.12.1972

Личная информация

Дополнительные

  • Пол
    Мужчина
  • Город
    Россия
  • Интересы
    Боевые искусства.

Недавние посетители профиля

4 446 просмотров профиля

Достижения Stiks

  1. Поздравляю! :)
  2. Еще бы догадаться, как перемещать юзверей...
  3. Stiks

    Последние сообщения форума IPB 2.3.4

    Нет ни у кого такого именно нет. Сами писали. После отпуска приеду 25 попробую разобрать и скинуть.
  4. Stiks

    Последние сообщения форума IPB 2.3.4

    Такой как тут: http://klimovsk.net/ipform/index.php? Не пойдёт?
  5. <if="$this->ipsclass->member['id']"> <div id="userlinks"> <p class="home"><b>{$this->ipsclass->lang['logged_in_as']} <a href="{$this->ipsclass->base_url}showuser={$this->ipsclass->member['id']}">{$this->ipsclass->member['members_display_name']}</a></b> ( <a href="{$this->ipsclass->base_url}act=Login&CODE=03&k={$this->ipsclass->md5_check}">{$this->ipsclass->lang['log_out']}</a> )</p> <p> <else /> <div id="userlinksguest"> <p class="pcen"><b>{$this->ipsclass->lang['guest_stuff']}</b> ( <a href="{$this->ipsclass->base_url}act=Login&CODE=00">{$this->ipsclass->lang['log_in']}</a> | <a href="{$this->ipsclass->base_url}act=Reg&CODE=00">{$this->ipsclass->lang['register']}</a> ) </if> Вот точнее что нужно, область которая отвечает за показ меню, если пользователь авторизирован <if="$this->ipsclass->member['id']"> <div id="userlinks"> <p class="home"><b>{$this->ipsclass->lang['logged_in_as']} <a href="{$this->ipsclass->base_url}showuser={$this->ipsclass->member['id']}">{$this->ipsclass->member['members_display_name']}</a></b> ( <a href="{$this->ipsclass->base_url}act=Login&CODE=03&k={$this->ipsclass->md5_check}">{$this->ipsclass->lang['log_out']}</a> )</p> <p> Другая нижняя часть отвечает за соответственно если пользователь не авторизирован. То есть смотря что вам нужно, опишите точно, что хотите убрать, я скину код. Либо пробуйте сами только не забудьте что там условние if else. Соответственно если убирайте код отвечающий за неавторизированного пользователя то незабудьте вместо <else> нужно написать </if>
  6. <if="$component_links != """> {$component_links} </if> Вот оно, можно закоментировать так: <!-- <if="$component_links != """> {$component_links} </if> --> Отображаться не будет, однако если смотреть код HTML, то там ссылка будет. Удалять тоже не желательно, так как в дальнейшем можете забыть про то, что сделали, и потом уже будут проблемы при установки модов, самое интересное сделать вот так, я считаю: <if="$component_links == ""123"> {$component_links} </if>
  7. Ссылку в студию на форум, у вас всё нормально отправляеться?
  8. Stiks

    [2.3.x]Отметить людей; IP.Gallery; RC 1.3

    Ммм, а у меня всё отображаеться Кинь ссылку на свой форум и на твой профиль.
  9. Stiks

    Вопрос по PHP (IPB)

    Давайте более конкретный пример. Допустим количество постов у группы, методом SQL: SELECT sum( posts ) FROM `ibf_members` WHERE mgroup = '7' Где 7 это номер группы, но это не точный вариант, так как количество постов там закешировано, и может отличаться от действительного, чтобы решить эту проблему можно запустить пересчёт всех сообщений, после чего запускать этот запрос, можно сделать и более сложный запрос, который будет считать количество постов сам, а не брать из кеша. Если вариант через php то дайте суда запрос, ато не совсем понятно что не получаеться.
  10. Stiks

    [2.3.x]Отметить людей; IP.Gallery; RC 1.3

    Немного переделал систему "Где я есть", для версии галереи 2.2: /sources/api/gallery/api_gallery.php находим: } ?> Перед этим добавляем: //Показываем где есть пользователь function return_gallery_who( $member_id = 0, $limit = 5, $do_pull = 1 ) { if( !$member_id ) { return array(); } //----------------------------------------- // INIT //----------------------------------------- $images = array(); $member_id = intval($member_id); $categories = $this->category->get_allowed_cats( 0 ); if( $this->ipsclass->vars['gallery_cache_albums'] ) { $albums = $this->glib->get_allowed_albums(); } else { $albums = true; } if( !count($categories) AND !count($albums) ) { return array(); } $where = array(); $where_statement = ""; if( count($categories) ) { $where[] = "i.category_id IN (".implode( ',', $categories ).")"; } if( is_array($albums) AND count($albums) ) { $where[] = "i.album_id IN (".implode( ",", $albums ).")"; } else if( $albums == true AND count($categories) ) { $dewhere .= " ( i.album_id > 0 AND a.category_id IN ( ".implode( ",", $categories )." ) "; if( !$this->ipsclass->member['g_mod_albums'] ) { $dewhere .= " AND ( a.public_album=1 OR a.member_id={$this->ipsclass->member['id']} ) "; } $dewhere .= ")"; $where[] = $dewhere; } if( !count($where) ) { return array(); } else { $where_statement = implode( " OR ", $where ); } $this->ipsclass->DB->build_query( array( 'select' => 'i.*', 'from' => array( 'gallery_images' => 'i' ), 'where' => "i.approved=1 AND e.member_id={$member_id} AND ({$where_statement})", 'add_join' => array( 1 => array( 'type' => 'left', 'from' => array( 'gallery_peoples' => 'e' ), 'where' => "e.member_id=i.member_id AND e.image_id = i.id", ), 2 => array( 'type' => 'left', 'select' => 'a.name as album_name, a.public_album', 'from' => array( 'gallery_albums' => 'a' ), 'where' => 'a.id=i.album_id', ), 3 => array( 'type' => 'left', 'select' => 'c.name as category_name', 'from' => array( 'gallery_categories' => 'c' ), 'where' => "c.id=i.category_id", ), 4 => array( 'type' => 'left', 'select' => 'm.members_display_name', 'from' => array( 'members' => 'm' ), 'where' => "m.id=i.member_id", ), 5 => array( 'type' => 'left', 'select' => 'r.id as rated, r.rate as _my_rate', 'from' => array( 'gallery_ratings' => 'r' ), 'where' => "r.img_id=i.id AND r.member_id={$this->ipsclass->member['id']}", ) ), 'order' => 'i.idate DESC', 'limit' => array( 0, $limit ) ) ); $this->res = $this->ipsclass->DB->exec_query(); $this->total = $this->ipsclass->DB->get_num_rows( $this->res ); //print_r($this->ipsclass->DB); if( $do_pull ) { while( $r = $this->ipsclass->DB->fetch_row() ) { $images[] = $r; } return $images; } } Далее идём суда: /sources/components_public/profile/ Файл: gde.conf.php <?php $CONFIG['plugin_name'] = 'Где я есть'; // что будет написано на кнопке $CONFIG['plugin_lang_bit'] = 'pp_tab_gde'; $CONFIG['plugin_key'] = 'gde'; $CONFIG['plugin_enabled'] = 1; // включение $CONFIG['plugin_order'] = 9; // порядок вывода закладок ?> Меняйте как хотите, пример взят выше. Затем самое интересное, файл gde.php. <?php /* +-------------------------------------------------------------------------- | Invision Power Board v<{%dyn.down.var.human.version%}> | ============================================= | by Matthew Mecham | (c) 2001 - 2005 Invision Power Services, Inc. | | ============================================= | | | | +--------------------------------------------------------------------------- | > $Date: 2007-07-16 18:11:06 -0400 (Mon, 16 Jul 2007) $ | > $Revision: 369 $ | > $Author: bfarber $ +--------------------------------------------------------------------------- | | > Personal Profile Portal Class: Mark people | > Module written by Worbis | > Date started: 29nd June 2008 | +-------------------------------------------------------------------------- */ /** * Main content * */ 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_gde { /** * 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_who( $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; } } ?> gde.php это переделаный модуль от галереи. Так же немного переделал функции при отмечание людей на фото. При нажимание теперь не вылазиет LightBox AJAX, которое надоедало раньше, работает в IE Opera Mozilla, но делал на 2.2, на старых версиях вроде нет таких функций. Если кому нужно выложу. Просто вспоминать зря не хочеться, что менял. Чуть не забыл сам пример:
  11. Stiks

    [2.1.x]Смена ID пользователя

    Ктож его знает... Меня Sannis запугал...я терь боюсь эксперементы делать.
  12. Stiks

    [2.1.x]Смена ID пользователя

    На мод, который меняет ID юзера.
  13. Stiks

    [2.1.x]Смена ID пользователя

    Значит не до конца мод работает. Или не для этой версии предназначен. Если не сложно, ссылочку на мод для версии 2.2.х будьте добры...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.