رفتن به مطلب

برای شروعی حرفه ای آماده اید ؟!

سایت ساز IPSنسخه ۴/۴/۱۰
فارسی ساز IPS ۴.۴نسخه ۶
تاریخ هجری شمسینسخه ۴.۷.۳

توجه کنید برای دانلود فایل های اختصاصی باید سایت خود را ثبت کنید. اطلاعات بیشتر.

جستجو در
  • تنظیمات بیشتر ...
نمایش نتایجی که شامل ...
جستجو در ...

تخته امتیازات

  1. CHRIS-7

    CHRIS-7

    کاربر رسمی


    • امتیاز

      577

    • تعداد ارسال ها

      749


  2. Arash.Ranjbar

    Arash.Ranjbar

    کاربر رسمی


    • امتیاز

      558

    • تعداد ارسال ها

      773


  3. وحید نامنی

    وحید نامنی

    بنیان گذار IPSFarsi


    • امتیاز

      452

    • تعداد ارسال ها

      17,013


  4. صائب کوهپایه

    صائب کوهپایه

    تیم مدیریت


    • امتیاز

      169

    • تعداد ارسال ها

      2,139



مطالب محبوب

در حال نمایش مطالب دارای بیشترین امتیاز از زمان شنبه, 9 آذر 1398 در همه بخش ها

  1. A امتیاز
    سلام. میخوام براتون ایجاد یه همچین user info panel ( اطلاعات کاربری ) پیشرفته و زیبا رو آموزش بدم. با من همراه باشید. قدم اول ) به ویرایش html/css قالبتون برید . و کلمه postContainer رو جستجو و واردش بشید. تمام کدهای postContainer رو پاک کنید. بله درست شنیدید / بهم اعتماد کنید. CTRL+A بزنید و همشو Delete کنید. من فکر همه جاش کردم. قبل از پاک کردن حتما حتما از کدهاش backup بگیرید که خدای نکرده کدی رو اشتباه وارد کرده باشم یا یادم رفته باشه قالبتون بهم نخوره. قدم دوم ) کد زیر را جایگزین کدهای پاک کردتون بکنید. در واقع همه کدهای زیر رو به postContainer وارد کنید. بعضی از ویژگیهای انیمیشنی، بخاطر تایم زیادی که ازم میگرفت حذف کردم ولی کدهاش یادم رفته پاک کنم. خرده نگیرید. عکس پشت زمینه ای که پشت آواتار بنده هستش کاور پروفایل شماست/ اگر کاور پروفایلون رو عوض کنید. به این صورت درمیاد. {{$idField = $comment::$databaseColumnId;}} {{$itemClassSafe = str_replace( '\\', '_', mb_substr( $comment::$itemClass, 4 ) );}} {{if $comment->isIgnored()}} <div class='ipsComment ipsComment_ignored ipsType_light' id='elIgnoreComment_{$comment->$idField}' data-ignoreCommentID='elComment_{$comment->$idField}' data-ignoreUserID='{$comment->author()->member_id}'> {lang="ignoring_content" sprintf="$comment->author()->name"} <a href='#elIgnoreComment_{$comment->$idField}_menu' data-ipsMenu data-ipsMenu-menuID='elIgnoreComment_{$comment->$idField}_menu' data-ipsMenu-appendTo='#elIgnoreComment_{$comment->$idField}' data-action="ignoreOptions" title='{lang="see_post_ignore_options"}' class='ipsType_blendLinks'>{lang="options"} <i class='fa fa-caret-down'></i></a> <ul class='ipsMenu ipsHide' id='elIgnoreComment_{$comment->$idField}_menu'> <li class='ipsMenu_item ipsJS_show' data-ipsMenuValue='showPost'><a href='#'>{lang="show_this_post"}</a></li> <li class='ipsMenu_sep ipsJS_show'><hr></li> <li class='ipsMenu_item' data-ipsMenuValue='stopIgnoring'><a href='{url="app=core&module=system&controller=ignore&do=remove&id={$comment->author()->member_id}" seoTemplate="ignore"}'>{lang="stop_ignoring_posts_by" sprintf="$comment->author()->name"}</a></li> <li class='ipsMenu_item'><a href='{url="app=core&module=system&controller=ignore" seoTemplate="ignore"}'>{lang="change_ignore_preferences"}</a></li> </ul> </div> {{endif}} <a id='comment-{$comment->$idField}'></a> <article {{if $comment->author()->hasHighlightedReplies()}}data-memberGroup="{$comment->author()->member_group_id}" {{endif}} id='elComment_{$comment->$idField}' class='cPost ipsBox {{if $otherClasses}}{$otherClasses}{{endif}} ipsComment {{if ( settings.reputation_enabled and settings.reputation_highlight and $comment->reactionCount() >= settings.reputation_highlight ) OR $comment->isFeatured()}}ipsComment_popular{{endif}} ipsComment_parent ipsClearfix ipsClear ipsColumns ipsColumns_noSpacing ipsColumns_collapsePhone {{if $comment->author()->hasHighlightedReplies()}}ipsComment_highlighted{{endif}}{{if $comment->isIgnored()}}ipsHide{{endif}} {{if $comment->hidden() OR $item->hidden() === -2}}ipsModerated{{endif}}'> {{if $item->isQuestion() and !$comment->new_topic}} {template="postRating" group="topics" app="forums" params="$item, $comment, $votes"} {{endif}} <div class='cAuthorPane cAuthorPane_mobile ipsResponsive_showPhone ipsResponsive_block'> <h3 class='ipsType_sectionHead cAuthorPane_author ipsResponsive_showPhone ipsResponsive_inlineBlock ipsType_break ipsType_blendLinks ipsTruncate ipsTruncate_line'> {template="userLink" group="global" app="core" params="$comment->author(), $comment->warningRef(), $comment->author()->group['g_id']"} <span class='ipsResponsive_showPhone ipsResponsive_inline'> {template="reputationBadge" group="global" app="core" params="$comment->author()"}</span> </h3> <div class='cAuthorPane_photo'> {template="userPhoto" app="core" group="global" params="$comment->author(), 'large', $comment->warningRef()"} </div> </div> <aside class='ipsComment_author cAuthorPane ipsColumn ipsColumn_medium ipsResponsive_hidePhone'> <div class='author_info'> <div class="wa_pContainer" itemscope="" itemtype="http://schema.org/Person"> <div class="pContainer_b1" > {template="userPhoto" app="core" group="global" params="$comment->author(), 'large', $comment->warningRef()"} </div> {{$coverPhoto = $comment->author()->coverPhoto();}} {{if $coverPhoto->file}} <div class="pc_coverphoto" style="background-image: url('{$coverPhoto->file->url}') !important;"> </div> {{else}} {{endif}} <div class="uipmaster2 cAuthorPane_author ipsType_blendLinks ipsType_break" title="نام کاربری" data-ipsTooltip class="pContainer_Button"> <h> <strong>{$comment->author()->link( $comment->warningRef() )|raw}</strong> </h> </div> <div class="wa_pContainer_b4"> <div class="wa_pContainer_lnk"> {{if \IPS\Member::loggedIn()->member_id != $comment->author()->member_id}} {{if \IPS\Member::loggedIn()->member_id != $comment->author()->member_id and ( !$comment->author()->members_bitoptions['pp_setting_moderate_followers'] or \IPS\Member::loggedIn()->following( 'core', 'member', $comment->author()->member_id ) )}} {{$memberFollowers = $comment->author()->followers();}} {{if member.member_id}} {{if member.following( 'core', 'member', $comment->author()->member_id )}} <a href="{url="app=core&module=system&section=notifications&do=follow&follow_app=core&follow_area=member&follow_id={$comment->author()->member_id}"}" title="{lang="following_this_member"}" data-ipsTooltip class="pContainerLink" data-role="followButton" data-ipsHover data-ipsHover-cache='false' data-ipsHover-onclick><i class="fa fa-user-times"></i></a> {{else}} <a href="{url="app=core&module=system&section=notifications&do=follow&follow_app=core&follow_area=member&follow_id={$comment->author()->member_id}"}" title="{lang="follow_this_member"}" data-ipsTooltip class="pContainerLink" data-role="followButton" data-ipsHover data-ipsHover-cache='false' data-ipsHover-onclick><i class="fa fa-user-plus"></i></a> {{endif}} {{endif}} {{endif}} {{if \IPS\Member::loggedIn()->member_id && !$comment->author()->members_disable_pm and !\IPS\Member::loggedIn()->members_disable_pm and \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'messaging' ) )}} <a href='{url="app=core&module=messaging&controller=messenger&do=compose&to={$comment->author()->member_id}" seoTemplate="messenger_compose"}' data-ipsDialog data-ipsDialog-title='{lang="compose_new"}' data-ipsDialog-remoteSubmit data-ipsDialog-flashMessage="{lang="message_sent"}" title="ارسال پیام به کاربر" data-ipsTooltip class='pContainerLink'><i class="fa fa-paper-plane"></i></a> {{endif}} {{endif}} </div></div> <div class="wa_pContainer_b2"> <div class="wa_pContainer_b2_1"> <div> <span class="wa_pContainer_b2_m">تاپیک ها</span> </div> <span style="font-size: 15px;">{{$where[] = "starter_id = " . $comment->author()->member_id;}} {{$author_topics = \IPS\forums\Topic::getItemsWithPermission( $where, NULL, 0 );}} {{$topics_count = count($author_topics);}} {$topics_count}</span> </div> <div class="wa_pContainer_b2_1"> <div> <span class="wa_pContainer_b2_m">ارسال ها</span> </div> <span style="font-size: 15px;">{$comment->author()->member_posts}</span> </div> </div> <div class='uipmaster' title="گروه کاربری" data-ipsTooltip class="pContainer_Button">{expression="\IPS\Member\Group::load( $comment->author()->member_group_id )->formattedName" raw="true"} {{if \IPS\Member\Group::load( $comment->author()->member_group_id )->g_icon }} <img src='{file="$comment->author()->group['g_icon']" extension="core_Theme"}' alt='' class='cAuthorGroupIcon'> {{endif}} </div> <li class="userpa"> <span class="leftinfo"><i class="fa fa-heart"></i> اعتبار : </span> <span class="rightinfo" style="color:#fff">{template="reputationBadge" group="global" app="core" params="$comment->author()"}</span> </li> <li class="userpa"> <span class="leftinfo" style="color:#f5d285"><i class="fa fa-trophy fa-lg"></i> {lang="members_days_won_count"} </span> <span class="rightinfo" style="color:#f5d285">{number="$comment->author()->getReputationDaysWonCount()"}</span> </li> <li class="userpa"> <span class="leftinfo"><i class="fa fa-bell"></i> وضعیت : </span> <span class="rightinfo">{{if $comment->author()->isOnline()}}<span class='ifonline'>آنلاین</span>{{else}}<span style='color:#ea5c5c'>آفلاین</span>{{endif}}</span> </li> <li class="userpa"> <span class="leftinfo"><i class="fa fa-exclamation-triangle"></i> اخطارها : </span> <span class="rightinfo">{number="$comment->author()->warn_level"}</span> </li> <li class="userpa"> <span class="leftinfo"><i class="fa fa-eye"></i> آخرین فعالیت : </span> <span class="rightinfo">{{if $comment->author()->last_activity}}{datetime="$comment->author()->last_activity"}{{else}}{lang="never"}{{endif}}</span> </li> <li class="userpa"> <span class="leftinfo"><i class="fa fa-sign-in"></i> تاریخ عضویت : </span> <span class="rightinfo">{datetime="$comment->author()->joined" dateonly="true"}</span> </li> {{if $comment->author()->member_id}} {{if $comment->author()->reputationImage()}} <li class='ipsPad_half'> <img src='{file="$comment->author()->reputationImage()" extension="core_Theme"}' title='{{if $comment->author()->reputation()}}{$comment->author()->reputation()}{{endif}}' alt=''> </li> {{endif}} {template="customFieldsDisplay" group="global" app="core" params="$comment->author()"} {{endif}} <div> <div> </div> </div> </div> </div> </aside> <div class='ipsColumn ipsColumn_fluid'> {template="post" group="topics" app="forums" params="$item, $comment, $item::$formLangPrefix . 'comment', $item::$application, $item::$module, $itemClassSafe"} </div> </article> قدم سوم ) خوب . بعد از ذخیره تغییرات، وارد custom.css بشید و کدهای زیر رو اضافه کنید. .cAuthorPane { padding: 10px !important; margin-top: 57px } aside.ipsComment_author.cAuthorPane.ipsColumn.ipsColumn_medium { width: 245px; } .wa_pContainer { padding: 2px; background-color: #fff; margin: -10px 2px 15px 2px; } .pContainer_b1 { margin-top: 0px; margin-bottom: 5px; text-align: center; } .pContainer_b1 img { border-radius: 500px; height: 100px; width: 100px; } .pc_coverphoto { margin-bottom: 5px !important; background-color: #FFFFFF !important; background-position: 50% 50%; background-repeat: no-repeat; -webkit-background-size: 100% 100%; -moz-background-size: 100% 100%; background-size: 100% 100% !important; height: 114px; width: 216px; border-radius: 10px; margin: -98px 0 0 0; } .wa_pContainer_b2 { background-color: #6fa066; background-image: url({resource="" app="core" location="global"}); overflow: hidden; padding: 8px 0; border-radius:7px; } .wa_pContainer_b2_1 { width: 50%; float: left; } .wa_pContainer_b2_1 .ipsRepBadge { font-size: 15px; font-weight: normal; } .wa_pContainer_b2_m { color: #f5f5f5; text-transform: uppercase; font-size: 12px; } .wa_pContainer_lnk { text-align: center; } .wa_pContainer_b3 { margin: 5px 0; } .wa_pContainer_b4 { margin: 5px 0; } .pContainerLink { width: 104px; height: 28px; line-height: 28px; margin: 0 1px; text-align: center; background: #3d94bd; border-radius: 5px; display: inline-block; color: #FFFFFF; font-size: 15px; } .pContainerLink:hover { color: #FFFFFF; } .pContainer_Button { width: 60px; height: 28px; line-height: 28px; text-align: center; background: #2ac392; border-radius: 2px; display: inline-block; color: #FFFFFF; font-size: 15px; } .pContainer_Button:hover { color: #FFFFFF; } .userpa { display: inline-block; width: 100%; color: #fefffe; padding: 5px 10px; margin-top: -2px; border-radius: 5px; background: #282828; border: 1px #282828 solid; } .userpa:hover { background: #000; } .uipmaster{ display: inline-block; width: 100%; color: #fefffe; padding: 5px 10px; margin-top: 4px; margin-bottom: 6px; border-radius: 5px; background: #282828; border: 1px #282828 solid; } .uipmaster:hover { background: #000; } .uipmaster2{ display: inherit; width: 100%; color: #fefffe; padding: 5px 10px; margin-top: 4px; margin-bottom: 6px; border-radius: 5px; background: #282828; border: 1px #282828 solid; } .uipmaster2:hover { background: #000; } .leftinfo { font-size: 12px; float: right; text-align: right; margin-right: 3px; margin-left: 0; min-width: 60px; width: auto !important; } .rightinfo { float: left; color: #CCC; font-size: 11px; } .ifonline{color:#15e615} /*------------ By Sarvin Pakzad ------------*/ تغییرات رو ذخیره کنید. تمام. لازم به ذکره که نیاز به هیچ افزونه و پلاگینی نیست. من فقط تاریخ شمسی رو نصب و کمی ویرایشش کردم تا تاریخ رو بصورت عددی بیاره. همچنین شما میتونید کدهارو به سلیقه دلخواهتون تغییر بدید. در صورت بهم ریختن قالبتون بهم گزارش بدید تا اصلاحش کنم. در صورت نیاز به اطلاعات کاربری پیشرفته تر و تخصصی برای انجمنتون بهم پیام ارسال کنید. هزینه ایی نمیگیرم. منتظر آموزش های پیشرفته تری باشید. امیدوارم آموزش مفیدی بوده باشه. موفق باشید. سروین پاکزاد
  2. A امتیاز

    نگارش Build 6

    1,829 دریافت

    این بسته ترجمه تمامی برنامه های IPS4 شامل هسته، تالارهای گفتگو ، تبدیل گر، دانلود، صفحه ها، گالری، تقویم و فروشگاه می باشد و همه به صورت یک بسته کامل در اختیار شما قرار دارد. بروزرسانی : از تاریخ 10 آبان 98 بسته فوق جهت جلوگیری از اشتباه به صورت All In One ارائه میشود

    رایگان

  3. A امتیاز

    نگارش 104051

    785 دریافت

    نسخه نال شده IPS 4.4.9.2 به همراه تمامی برنامه ها در صورت بهم ریختگی پوسته پس از نصب یا ارتقا حتما از بخش پشتیبانی موجود در سیستم، اقدام به پاک کردن cache نمایید. نکته : قبل از ارتقا همیشه از داده های خود، پشتیبان بگیرید. حتما قبل از نصب و ارتقا، چک کنید سرور شما نیازمندی های اولیه برای نصب IPS را داشته باشد. برای این نسخه لازم است، حتما از نسخه PHP 7.2 به بالا و MySQL 5.7 به بالا استفاده نمایید. مشکل پیش فرض سازی زبان فارسی در این نسخه رفع شده است.

    رایگان

  4. A امتیاز
    در این آموزش " افزودن تعداد موضوعات و استایل دهی جدید به صفحه اول انجمن و داخل انجمن ها " را برای شما آموزش خواهم داد. اگه پست های پیشین مرا دیده باشید همانند اینو برای پست ها در تاپیک آموزش کادربندی اطلاعات کاربری در پست ها (جدید) انجام دادم که حتما از اون پست هم بازدید به عمل بیاورید ابتدا به مسیر : ادمین پنل > شخصی سازی > پوسته ها > کلیک بر روی آیکون </> یا همان ویرایش Css , Html - سپس در فیلد جستجو عبارت forumRow را وارد کنید و قالب مربوطه را پیدا و کلیک کنید در محتویات صفحه با دقت بسیار موارد زیر را انجام دهید. این دو خط کد ها را پیدا <dt class="ipsDataItem_stats_number">{number="$count"}</dt> <dd class="ipsDataItem_stats_type ipsType_light">{lang="posts_no_number" pluralize="$count"}</dd> و با کد زیر جایگزین کنید <ul class="chris_Forum_Icons"><li><div class="chris_Forum_Post_Icon chris_Forum_Post_Icon_Posts" data-ipstooltip="" _title="{lang="__api_forums_posts"}"> <i class="fa fa-comments" aria-hidden="true"></i><span class="topic_icon_numtext">{number="$count"}</span></div></li> <li><div class="chris_Forum_Post_Icon chris_Forum_Post_Icon_topics" data-ipstooltip="" _title="{lang="__api_forums_topics"}"> <i class="fa fa-list-alt" aria-hidden="true"></i><span class="topic_icon_numtext">{{if $forum->hasChildren()}}{{$cSubTopics = 0;}}{{foreach $forum->children() as $subforum}}{{$cSubTopics += $subforum->topics;}}{{endforeach}}{{$cTopics = $forum->topics + $cSubTopics;}}{number="$cTopics"}{{else}}{{$cTopics = $forum->topics;}}{number="$cTopics"}{{endif}}</span></div></li></ul> و در مرحله آخر کد زیر را در custom.css در تب CSS وارد کرده و ذخیره کنید. .chris_Forum_Post_Icon_Posts{background:#1d57da;color:#fff}.chris_Forum_Post_Icon_topics{background:#1d8803;color:#fff}.chris_Forum_Post_Icon{border-radius:100%;display:inline-block;position:relative;font-size:17px;width:30px;height:30px;line-height:30px;text-align:center;box-shadow:0 0 5px 2px #00000047 inset}.chris_Forum_Post_Icon span{background:#f5f5f5;border-radius:10px;font-size:11px;font-weight:700;color:#000;position:absolute;bottom:-10px;right:-3px;height:17px;line-height:17px;box-shadow:0 0 5px 1px #00000047 inset;text-shadow:none;padding:0 5px}ul.chris_Forum_Icons li{display:block;float:left;margin:0!important}@media screen and (max-width: 979px){ul.chris_Forum_Icons{display:block;float:left;margin:0!important;width:70%}} مثل همیشه تمام !
  5. A امتیاز
    عرض سلام و خسته نباشید خدمت کاربران و مدیران محترم سایت IPS Farsi در این آموزش " کادربندی اطلاعات کاربری در پست ها به روش جدید و ایده گرفته از یکی از سایت های IPS توسط خودم ! " را برای شما آموزش خواهم داد. ابتدا به مسیر : ادمین پنل > شخصی سازی > پوسته ها > کلیک بر روی آیکون </> یا همان ویرایش Css , Html - سپس در فیلد جستجو عبارت postcontainer را وارد کنید و قالب مربوطه را پیدا و کلیک کنید در محتویات صفحه با دقت بسیار موارد زیر را انجام دهید. این کد ها را پیدا <li>{template="reputationBadge" group="global" app="core" params="$comment->author()"}</li> <li class='ipsType_light'>{lang="member_post_count" pluralize="$comment->author()->member_posts"}</li> و با کد های زیر جایگزین کنید <ul class="chris_Author_Icons"><li><div class="chris_Author_Icons_Icon chris_Author_Icons_Icon_Posts" data-ipstooltip="" _title="{lang="__api_forums_posts"}"> <i class="fa fa-comments" aria-hidden="true"></i><span class="topic_icon_numtext">{number="$comment->author()->member_posts"}</span></div></li><li> {{if $comment->author()->pp_reputation_points > 0}} <a href='{url="app=core&module=members&controller=profile&id={$comment->author()->member_id}&do=reputation" seoTemplate="profile_reputation" seoTitle="$comment->author()->members_seo_name"}' target="_blank"><div class="chris_Author_Icons_Icon chris_Author_Icons_Icon_RepPos" data-ipstooltip="" _title="{lang="archive_topic_rating"}"> <i class="fa fa-thumbs-up" aria-hidden="true"></i><span class="topic_icon_numtext">{number="abs( $comment->author()->pp_reputation_points )"}</span></div></a> {{elseif $comment->author()->pp_reputation_points < 0}} <div class="chris_Author_Icons_Icon chris_Author_Icons_Icon_RepNeg" data-ipstooltip="" _title="{lang="archive_topic_rating"}"> <i class="fa fa-minus" aria-hidden="true"></i><span class="topic_icon_numtext">{number="abs( $comment->author()->pp_reputation_points )"}</span></div> {{else}} <div class="chris_Author_Icons_Icon chris_Author_Icons_Icon_RepNeu" data-ipstooltip="" _title="{lang="archive_topic_rating"}"> <i class="fa fa-adjust" aria-hidden="true"></i><span class="topic_icon_numtext">{number="abs( $comment->author()->pp_reputation_points )"}</span></div>{{endif}}</li><li> <div class="chris_Author_Icons_Icon chris_Author_Icons_Icon_Win" data-ipstooltip="" _title="{lang="members_days_won_count"}"> <i class="fa fa-trophy" aria-hidden="true"></i><span class="topic_icon_numtext">{number="$comment->author()->getReputationDaysWonCount()"}</span></div></li></ul> و در مرحله آخر کد زیر را در custom.css در تب CSS وارد کرده و ذخیره کنید. ul.chris_Author_Icons{display:table;width:100%;margin:5px 0 30px;padding:4px}ul.chris_Author_Icons li .chris_Author_Icons_Icon_Posts{background:#1d57da;color:#fff}ul.chris_Author_Icons li .chris_Author_Icons_Icon_RepPos{background:#1d8803;color:#fff}ul.chris_Author_Icons li .chris_Author_Icons_Icon_RepNeg{background:#cb2020;color:#fff}ul.chris_Author_Icons li .chris_Author_Icons_Icon_RepNeu{background:#a6a5a7;color:#fff}ul.chris_Author_Icons li .chris_Author_Icons_Icon_Win{background:#b38205;color:#fff}ul.chris_Author_Icons li .chris_Author_Icons_Icon{display:inline-block;border-radius:100%;display:inline-block;position:relative;font-size:17px;width:40px;height:40px;line-height:40px;text-align:center;box-shadow:0 0 5px 2px #00000047 inset}ul.chris_Author_Icons li{display:block;float:left;margin:0!important;width:33.3%}ul.chris_Author_Icons li .chris_Author_Icons_Icon span{background:#f5f5f5;border-radius:10px;font-size:11px;font-weight:700;color:#000;position:absolute;bottom:-10px;right:-3px;height:17px;line-height:17px;box-shadow:0 0 5px 1px #00000047 inset;text-shadow:none;padding:0 5px} تمام ! حال از استایل جدید لذت ببرید.
  6. A امتیاز
    باسلام وقت بخیر یکی از قابلیت هایی که سایت ساز IPS دارای آن است امکان یکپارچه سازی فایل های آن با فضاهای ذخیره ساز ابری می باشد. سرویس دهندگان مختلفی در دنیا وجود دارند که فضای ذخیره سازی در اختیار شما قرار می دهند. حتما تا به حال از Google Drive یا Dropbox و سرویس های مشابه استفاده کرده اید. این سرویس ها دغدغه مربوط مشکلات ناشی از استفاده از سرور شخصی را ندارند و مطمئن هستند و در لحظه قابلیت افزایش فضا در کنار عدم افت خدمات را دارند. نوع خاصی از فضاهای ذخیره سازی ابری وجود دارند که بر اساس استاندارد S3 آمازون طراحی شده اند. تفاوت این نوع ذخیره ساز ها این است که از طریق واسط‌های وب سرویس (بیت تورنت، REST و پروتکل دسترسی آسان به اشیاء) قابل دسترسی و استفاده است. یعنی می توان به صورت خودکار آپلود و دانلود در سامانه های تحت وب را بدون دخالت دستی انسان انجام داد. با توجه به تحریم ایران و عدم امکان استفاده از خدمات ابری شرکت های خارجی چند سایت در ایران وجود دارد که می توان این فضای ذخیره سازی که با استاندارد S3 سازگار است را تهیه نمود. سایت های ایرانی در حال حاضر به شرح زیر هستند: https://poshtiban.com و https://liara.ir/ و https://www.arvancloud.com/fa لازم به ذکر است قیمت های سایت ابرآروان برای ذخیره سازی ارزان تر از ۲ سرویس دیگر می باشد. نحوه فعال سازی ذخیره سازی S3 در IPS ۱−ابتدا در یکی از سایت های فوق عضو شوید و پلن مورد نظر خود را انتخاب کنید.سپس یک Bucket یا در سرویس های فارسی صندوقچه، بسازید که دسترسی عمومی (Public) برای آن فعال باشد! پس خریداری و ایجاد Bucket شما موارد زیر را مشاهده خواهید کرد: Access Key − کلید دسترسی Secret Key − کلید مخفی API Endpoint − نقطه پایانی به پارامتر های فوق برای اتصال و یکپارچه سازی سیستم نیاز داریم. ۲− وارد مدیریت IPS خود شوید و به مسیر زیر بروید: سیستم > نمای کلی > فایل ها > تنظیمات ذخیره سازی (سمت چپ بالا) > انتخاب زبانه پیکربندی > سپس روی «اضافه کردن» کلی کنید. حالا کافیست نوع ذخیره سازی را روی آمازون S3 قرار دهید و پارامترهایی که در زمان ایجاد Bucket برای شما نمایش داده شده است را در فیلد های خواسته شده وارد نمایید و روی ذخیره بزنید. گزینه «استفاده از URL اختصاصی؟» در هنگام استفاده از سرویس دهندگان ایرانی خاموش باشد. ۳− انتخاب بخش های IPS جهت استفاده از فضای S3 برای انتخاب بخش های مورد نظر خود کافیست به مسیر زیر بروید: سیستم > نمای کلی > فایل ها > تنظیمات ذخیره سازی (سمت چپ بالا) نکته : اگر تنظیمات مربوط به بهینه سازی سرعت را انجام داده اید، توصیه می شود که تنها بخش پیوست ها را انتقال دهید. اگر با مراحل فوق مشکل دارید لطفا در انجمن سوالات و مشکلات بیان کنید. درصورتی که این آموزش نیاز به روزرسانی دارد، لطفا در همین تاپیک متذکر شوید. با تشکر
  7. A امتیاز
    سلام. میخوام با چند خط کد براتون وضعیت آنلاین / آفلاین بودن کاربر رو تو دو حالت ( مربع ای شکل و دایره ای ) رو آموزش بدم. به مسیر شخصی سازی > ظاهر > پوسته ها برید و به ویرایش html/css قالبتون برید. کلمه postContainer رو جستجو کنید واردش بشید. بعد از وارد شدن کد زیر رو جستجو کنید. دقت کنید که یه کد هم دقیقا به همین شکل با div class> هستش. به اون دست نزنید. <li class='cAuthorPane_photo'> {template="userPhoto" app="core" group="global" params="$comment->author(), 'large', $comment->warningRef()"} </li> کد زیر رو جایگزینش کنید. <li class='cAuthorPane_photo'> {template="userPhoto" app="core" group="global" params="$comment->author(), 'large', $comment->warningRef()"} {{if $comment->author()->isOnline()}} <div class='online'></div> {{else}} <div class="offline"></div> {{endif}} </li> تغییرات رو ذخیره کنید. وارد custom.css بشید. خوب تاحالا خوب پیش رفتید. ولی اینجا 2 حالت داریم. دوستانی هستن که نمایه/آواتار کاربران انجمنشون مثل انجمن IPSFarsi مربعی شکل هستش. ما حالت پیشفرضش رو در نظر میگیریم و کد های زیر رو به custom.css وارد کرده و تغییرات رو ذخیره میکنیم : .online { position: absolute; left: 40px; top: 72px; width: 0; height: 0; border-right: 10px solid transparent; border-top: 10px solid transparent; border-left: 10px solid #56C350; border-bottom: 10px solid #56C350; } .offline { position: absolute; left: 40px; top: 72px; width: 0; height: 0; border-right: 10px solid transparent; border-top: 10px solid transparent; border-left: 10px solid #999; border-bottom: 10px solid #999; } تموم . نتیجه به دست آمده باید اینطور باشه : دوستانی هم هستن که نمایه/آواتار کاربران انجمنشون دایره ای شکل یا همون Rounded Photos هستش. این کد هم برای آواتارهای دایره ای شکل هستش. کد زیر رو به custom.css وارد کرده و تغییرات رو ذخیره کنید. .online { position: absolute; left: 39.5px; top: 2px; border-top: 7px solid #10F704; opacity: .6; border-radius: 50%; width: 90px; height: 90px; } .offline { position: absolute; left: 39.5px; top: 2px; border-top: 7px solid #999; opacity: .6; border-radius: 50%; width: 90px; height: 90px; } و نتیجه به دست آمده به این شکل باید باشه : همچنین شما اگه با کدها آشنایی داشته باشید خودتون میتونید طبق سلیقه دلخواه خودتون تغییرش بدید. درغیر این صورت زیر همین پست سوالاتتون رو مطرح کنید تا پاسخ داده بشه. امیدوارم این آموزش مفید واقع شده باشه.
  8. A امتیاز
    برای بخش تمدید به این صورت عمل کرده : قسمت اول ) در مرحله اول با ویرایش یکی از اشتراک هاتون وقتی تیک گزینه تمدید رو فعال کنید زیرش ( شرایط تمدید ) تعداد روز - ماه - هفته رو برای تمدید اشتراک مشخص میکنید. و مشخص میکنید که هزینه قیمت اولیه چه مقدار هستش و هزینه تمدیدش چه قدره. با این تنظیمات اولا میتونید مشخص کنید که ایام اشتراک کاربر رو تو پروفایلش نشون بده یا نه ، دوما موقع اتمام اشتراکش از طریق نوتیفیکشن بهش اطلاع داده میشه برای تمدید اقدام کنه . بر فرض مثلا اگه اشتراک 1 ماه رو طبق تصویر زیر تنظیم کنید بعد از اتمام 1 ماه برای تمدید اشتراکش اطلاع داده میشه و در صورت عدم تمدید توسط کاربر اشتراکش منقضی و به گروه کاربران عادی منتقل میشه . ولی اگه اشتراک 3 ماهه رو تو قسمت تمدیدش 3 ماهه کنید به همین منوال پیش میره . قسمت دوم ) ولی اگه میخوایید به طور کلی مشخص کنید که مقدار معمول و بیس تمامی اشتراک ها چه قدر باید باشن. طبق تصویر زیر در قسمت اشتراک هاتون در بالا گزینه تنظیمات رو بزنید. در این صفحه میتونید مدت زمان رو مشخص کنید و یا سایر ویژگی های کاربردیش رو تغییر بدید. طبق تصویر زیر : موفق و موید باشید.
  9. A امتیاز
    سلام خدمت دوستان گرامی تو این آموزش می خوام بهتون یاد بدم که چطور میتونین نسخه های 4 IPS رو نال کنین. البته نسخه های موجود در این انجمن و انجمن سازهایی که شما دارین استفاده می کنین همشون نال شده هستن و نیازی نیست که این آموزش رو انجام بدین. این آموزش به درد کسایی میخوره که که نسخه ارجینال محصول رو داره و میخواد نال بکنه. خب بریم سراغ آموزش کدها و خطها ممکن است در نسخه های قبل و جدید متفاوت باشد اما ماهیت و روش کار یکیه!!! خب اول از همه شما نیاز به یک ویرایشگر کدها و فایل IPS دارین. کلا ما برای نال کردن 24 فایل را ادیت خواهیم کرد. وارد فایل IPS بشید و مسیرهایی که مشون دادمو پیدا و ویرایش کنید!! 1. admin \ install \ html \ global \ globalTemplate.phtml کد زیر را پیدا کنید: (23) <body class='ipsApp ipsApp_installer'> بعد از آن کد زیر را اضافه کنید: <script> $(document).ready(function(){ $('input[name="diagnostics_reporting_checkbox"]').attr("disabled","disabled"); }); </script> 2. admin \ install \ lang.php تقریبا در خط 113 کد زیر را پیدا کنید: (133) 'diagnostics_reporting_desc' => "Help Invision Community improve by automatically sending usage and diagnostic information. The data sent does not contain any private information about your users or your community.", و با کد زیر جایگزین کنید: 'diagnostics_reporting_desc' => "NULLED Release, diagnostic does not work", 3. admin\upgrade\html\global\globalTemplate.phtml کد زیر را پیدا کنید: (24) <body class='ipsApp ipsApp_installer'> بعد از آن کد زیر را اضافه کنید: <script> $(document).ready(function(){ $('input[name="101079_diagnostics_reporting_checkbox"]').attr("disabled","disabled"); }); </script> 4. admin \ upgrade \ lang.php کد زیر را پیدا کنید: (526) '101079_diagnostics_reporting_desc' => "Help Invision Community improve by automatically sending usage and diagnostic information. The data sent does not contain any private information about your users or your community.", و با کد زیر جایگزین کنید: '101079_diagnostics_reporting_desc' => "NULLED Release, diagnostic does not work", 5. applications\calendar\data\settings.json کد زیر را پیدا کنید: (30-33) { "key": "ipb_calendar_mon", "default": "0" }, و با کد زیر جایگزین کنید: { "key": "ipb_calendar_mon", "default": "1" }, 6. applications \ core \ data \ lang.xml کد زیر را پیدا کنید: (4) <word key="__app_core" js="0">System</word> بعد از آن کد زیر را اضافه کنید: <word key="__null_alert" js="0">This distribution is NULLED! You can't use this function.</word> 7. applications \ core \ data \ schema.json کد زیر را پیدا کنید: (3061-3063) "g_edit_cutoff": "5", "g_photo_max_vars": "500:170:170", "g_dohtml": "0", و با کد زیر جایگزین کنید: "g_edit_cutoff": "0", "g_photo_max_vars": "1024:500:500", "g_dohtml": "1", 8. applications\core\data\settings.json کد زیر را پیدا کنید: (438 - 442) { "key": "ipb_reg_number", "default": "" }, و با کد زیر جایگزین کنید: { "key": "ipb_reg_number", "default": "LICENSE KEY GOES HERE!-123456789" }, { "key": "ipb_license_active", "default": "1" }, { "key": "ipb_license_cloud", "default": "0" }, { "key": "ipb_license_url", "default": "https:\/\/www.invisionpower.com\/buy\/self-hosted" }, { "key": "ipb_license_test_url", "default": "http:\/\/community.invisionpower.com" }, { "key": "ipb_license_expires", "default": "09 MAR 2037" }, { "key": "ipb_license_product_forums", "default": "1" }, { "key": "ipb_license_product_calendar", "default": "1" }, { "key": "ipb_license_product_blog", "default": "1" }, { "key": "ipb_license_product_gallery", "default": "1" }, { "key": "ipb_license_product_downloads", "default": "1" }, { "key": "ipb_license_product_cms", "default": "1" }, { "key": "ipb_license_product_nexus", "default": "1" }, { "key": "ipb_license_product_copyright", "default": "1" }, { "key": "ipb_license_chat_limit", "default": "0" }, { "key": "ipb_license_support", "default": "N/A" }, کد زیر را پیدا کنید: (473 - 477) { "key": "ipsgeoip", "default": "1" }, و با کد زیر جایگزین کنید: { "key": "ipsgeoip", "default": "0" }, کد زیر را پیدا کنید: (894 - 897) { "key": "signatures_enabled", "default": "0" }, و با کد زیر جایگزین کنید: { "key": "signatures_enabled", "default": "1" }, 9. applications\core\data\theme.xml کد زیر را پیدا کنید: (17480) {{if !is_int( $connectionCheckResult )}} و با کد زیر جایگزین کنید: {{if is_int( $connectionCheckResult )}} کد زیر را پیدا کنید: (17494 - 17508) {{if abs( $connectionCheckResult - time() ) > 30}} {{$fails = TRUE;}} <li class="ipsDataItem"> <div class="ipsDataItem_icon ipsType_warning ipsPos_top ipsType_large"><i class="fa fa-exclamation-triangle"></i></div> <div class="ipsDataItem_generic ipsType_warning"> <div>{lang="server_time_fail"}</div> <a href="{url="app=core&module=support&controller=support&do=servertimefail"}" data-ipsDialog data-ipsDialog-title="{lang="self_service"}" class="ipsButton ipsButton_negative ipsButton_verySmall ipsSpacer_top ipsSpacer_half">{lang="help_me_fix_this"}</a> </div> </li> {{else}} <li class="ipsDataItem"> <div class="ipsDataItem_icon ipsType_success ipsPos_top ipsType_large"><i class="fa fa-check"></i></div> <div class="ipsDataItem_generic ipsType_success">{lang="server_time_ok"}</div> </li> {{endif}} و با کد زیر جایگزین کنید: <li class="ipsDataItem"> <div class="ipsDataItem_icon ipsType_success ipsPos_top ipsType_large"><i class="fa fa-check"></i></div> <div class="ipsDataItem_generic ipsType_success">{lang="server_time_ok"}</div> </li> 10. applications\core\extensions\core\CommunityEnhancements\GeoIP.php کد زیر را پیدا کنید: (82) \IPS\Settings::i()->changeValues( array( 'ipsgeoip' => $enabled ) ); و با کد زیر جایگزین کنید: \IPS\Settings::i()->changeValues( array( 'ipsgeoip' => 0 ) ); 11. applications \ core \ extensions \ core \ CommunityEnhancements \ SpamMonitoring.php کد زیر را پیدا و حذف کنید: (80) \IPS\Output::i()->error( $e->getMessage(), '2C116/2', 403, '' ); 12. applications\core\extensions\core\Dashboard\LatestNews.php کد زیر را پیدا کنید: (40-57) public function canView() { return TRUE; } و با کد زیر جایگزین کنید: public function canView() { return FALSE; } کد زیر را پیدا کنید: (40-57) public function getBlock() { $ipsNews = ( isset( \IPS\Data\Store::i()->ips_news ) ) ? json_decode( \IPS\Data\Store::i()->ips_news, TRUE ) : array(); if( empty( $ipsNews ) or $ipsNews['time'] < ( time() - 43200 ) ) { try { $this->refreshNews(); $ipsNews = ( isset( \IPS\Data\Store::i()->ips_news ) ) ? json_decode( \IPS\Data\Store::i()->ips_news, TRUE ) : array(); } catch ( \IPS\Http\Exception $e ) {} catch( \IPS\Http\Request\Exception $e ) {} catch( \RuntimeException $e ) {} } return \IPS\Theme::i()->getTemplate( 'dashboard' )->ipsNews( isset( $ipsNews['content'] ) ? $ipsNews['content'] : NULL ); } و با کد زیر جایگزین کنید: public function getBlock() { return NULL; } 13. applications\core\modules\admin\membersettings\spam.php کد زیر را پیدا کنید: (182-193) Code: if( !$licenseData or !isset( $licenseData['products']['spam'] ) or !$licenseData['products']['spam'] or ( !$licenseData['cloud'] AND strtotime( $licenseData['expires'] ) < time() ) ) { $disabled = TRUE; if( !\IPS\Settings::i()->ipb_reg_number ) { \IPS\Member::loggedIn()->language()->words['spam_service_enabled_desc'] = \IPS\Member::loggedIn()->language()->addToStack( 'spam_service_nokey', FALSE, array( 'sprintf' => array( \IPS\Http\Url::internal( 'app=core&module=settings&controller=licensekey', null ) ) ) ); } else { \IPS\Member::loggedIn()->language()->words['spam_service_enabled_desc'] = \IPS\Member::loggedIn()->language()->addToStack( 'spam_service_noservice' ); } } و با کد زیر جایگزین کنید: if( !$licenseData or !isset( $licenseData['products']['spam'] ) or !$licenseData['products']['spam'] or ( !$licenseData['cloud'] AND strtotime( $licenseData['expires'] ) < time() ) ) { $disabled = TRUE; if( !\IPS\Settings::i()->ipb_reg_number ) { \IPS\Member::loggedIn()->language()->words['spam_service_enabled_desc'] = \IPS\Member::loggedIn()->language()->addToStack( '__null_alert' ); } else { \IPS\Member::loggedIn()->language()->words['spam_service_enabled_desc'] = \IPS\Member::loggedIn()->language()->addToStack( '__null_alert' ); } } 14. applications \ core \ modules \ admin \ overview \ dashboard.php کد زیر را پیدا و حذف کنید: (188-212) /* Don't do this for IN_DEV on localhost */ $doUrlCheck = TRUE; $parsed = parse_url( \IPS\Settings::i()->base_url ); if ( ( \IPS\IN_DEV AND ( $parsed['host'] === 'localhost' or mb_substr( $parsed['host'], -4 ) === '.dev' or mb_substr( $parsed['host'], -5 ) === '.test' ) ) OR \IPS\CIC ) { $doUrlCheck = FALSE; } if ( $doUrlCheck ) { $data = \IPS\IPS::licenseKey(); /* Normalize our URL's. Specifically ignore the www. subdomain. */ $validUrls = array(); $validUrls[] = rtrim( str_replace( array( 'http://', 'https://', 'www.' ), '', $data['url'] ), '/' ); $validUrls[] = rtrim( str_replace( array( 'http://', 'https://', 'www.' ), '', $data['test_url'] ), '/' ); $ourUrl = rtrim( str_replace( array( 'http://', 'https://', 'www.' ), '', \IPS\Settings::i()->base_url ), '/' ); if ( !in_array( $ourUrl, $validUrls ) ) { $warnings[] = array( 'title' => \IPS\Member::loggedIn()->language()->addToStack( 'dashboard_url_invalid' ), 'description' => \IPS\Member::loggedIn()->language()->addToStack( 'dashboard_url_invalid_desc' ) ); } } کد زیر را پیدا کنید: (325-328) $toShow = array( 'main' => array( 'core_BackgroundQueue', 'core_Registrations' ), 'side' => array( 'core_AdminNotes', 'core_OnlineUsers' ), ); و با کد زیر جایگزین کنید: $toShow = array( 'main' => array( 'core_AdminNotes', 'core_Registrations', 'core_AwaitingValidation', 'core_BackgroundQueue' ), 'side' => array( 'core_OnlineAdmins', 'core_FailedLogins', 'core_OnlineUsers' ), ); 15. applications \ core \ modules \ admin \ settings \ general.php کد زیر را پیدا و حذف کنید: (53) $form->add( new \IPS\Helpers\Form\YesNo( 'diagnostics_reporting', \IPS\Settings::i()->diagnostics_reporting ) ); 16. applications\core\modules\admin\settings\licensekey.php کد زیر را پیدا کنید: (104-131) protected function settings() { $form = new \IPS\Helpers\Form; $form->add( new \IPS\Helpers\Form\Text( 'ipb_reg_number', NULL, TRUE, array(), function( $val ){ \IPS\IPS::checkLicenseKey( $val, \IPS\Settings::i()->base_url ); } ) ); if ( $values = $form->values() ) { $values['ipb_reg_number'] = trim( $values['ipb_reg_number'] ); if ( mb_substr( $values['ipb_reg_number'], -12 ) === '-TESTINSTALL' ) { $values['ipb_reg_number'] = mb_substr( $values['ipb_reg_number'], 0, -12 ); } $form->saveAsSettings( $values ); \IPS\Session::i()->log( 'acplogs__license_settings' ); /* Refresh the locally stored license info */ unset( \IPS\Data\Store::i()->license_data ); \IPS\Output::i()->redirect( \IPS\Http\Url::internal( 'app=core&module=settings&controller=licensekey' ), 'saved' ); } \IPS\Output::i()->title = \IPS\Member::loggedIn()->language()->addToStack('license_settings'); \IPS\Output::i()->output = \IPS\Theme::i()->getTemplate( 'global' )->block( 'menu__core_settings_licensekey', $form ); } و با کد زیر جایگزین کنید: protected function settings() { $$form = new \IPS\Helpers\Form; $form->addHeader('ipb_license_edit_main'); $form->add( new \IPS\Helpers\Form\Text( 'ipb_reg_number', \IPS\Settings::i()->ipb_reg_number, TRUE ) ); $form->add( new \IPS\Helpers\Form\YesNo( 'ipb_license_active', \IPS\Settings::i()->ipb_license_active ) ); $form->add( new \IPS\Helpers\Form\Text( 'ipb_license_expires', \IPS\Settings::i()->ipb_license_expires ) ); $form->add( new \IPS\Helpers\Form\YesNo( 'ipb_license_cloud', \IPS\Settings::i()->ipb_license_cloud ) ); $form->addHeader('ipb_license_urls'); $form->add( new \IPS\Helpers\Form\Text( 'ipb_license_url', \IPS\Settings::i()->ipb_license_url ) ); $form->add( new \IPS\Helpers\Form\Text( 'ipb_license_test_url', \IPS\Settings::i()->ipb_license_test_url ) ); $form->addHeader('ipb_license_components'); $form->add( new \IPS\Helpers\Form\YesNo( 'ipb_license_product_forums', \IPS\Settings::i()->ipb_license_product_forums ) ); $form->add( new \IPS\Helpers\Form\YesNo( 'ipb_license_product_calendar', \IPS\Settings::i()->ipb_license_product_calendar ) ); $form->add( new \IPS\Helpers\Form\YesNo( 'ipb_license_product_blog', \IPS\Settings::i()->ipb_license_product_blog ) ); $form->add( new \IPS\Helpers\Form\YesNo( 'ipb_license_product_gallery', \IPS\Settings::i()->ipb_license_product_gallery ) ); $form->add( new \IPS\Helpers\Form\YesNo( 'ipb_license_product_downloads', \IPS\Settings::i()->ipb_license_product_downloads ) ); $form->add( new \IPS\Helpers\Form\YesNo( 'ipb_license_product_cms', \IPS\Settings::i()->ipb_license_product_cms ) ); $form->add( new \IPS\Helpers\Form\YesNo( 'ipb_license_product_nexus', \IPS\Settings::i()->ipb_license_product_nexus ) ); $form->add( new \IPS\Helpers\Form\YesNo( 'ipb_license_product_copyright', \IPS\Settings::i()->ipb_license_product_copyright ) ); $form->addHeader('ipb_license_services'); $form->add( new \IPS\Helpers\Form\Text( 'ipb_license_chat_limit', \IPS\Settings::i()->ipb_license_chat_limit ) ); $form->add( new \IPS\Helpers\Form\Text( 'ipb_license_support', \IPS\Settings::i()->ipb_license_support ) ); if ( $values = $form->values() ) 17. applications\core\modules\admin\support\support.php کد زیر را پیدا کنید: (214-240) protected function _upgradeCheck() { try { $url = \IPS\Http\Url::IPS('updateCheck')->setQueryString( array( 'type' => 'support', 'key' => \IPS\Settings::i()->ipb_reg_number ) ); if ( \IPS\USE_DEVELOPMENT_BUILDS ) { $url = $url->setQueryString( 'development', 1 ); } $response = $url->request()->get()->decodeJson(); if ( $response['longversion'] > \IPS\Application::load('core')->long_version ) { if ( $response['version'] != \IPS\Application::load('core')->version ) { return TRUE; } elseif ( count( $response['changes'] ) ) { return $response['changes']; } } } catch ( \Exception $e ) { } return FALSE; } و با کد زیر جایگزین کنید: protected function _upgradeCheck() { return NULL; } کد زیر را پیدا کنید: (302-312) protected function _md5sumChecker() { try { return \IPS\Application::md5Check(); } catch ( \Exception $e ) { return array(); } } و با کد زیر جایگزین کنید: protected function _md5sumChecker() { return NULL; } کد زیر را پیدا کنید: (319-368) protected function md5fail() { /* Get modified files */ $modifiedFiles = $this->_md5sumChecker(); /* Build form */ $form = new \IPS\Helpers\Form( 'login', 'continue' ); $form->ajaxOutput = TRUE; $form->add( new \IPS\Helpers\Form\Email( 'ips_email_address', NULL ) ); $form->add( new \IPS\Helpers\Form\Password( 'ips_password', NULL ) ); if ( $values = $form->values() ) { $files = array_map( function( $file ) { return preg_replace( '/^\/' . preg_quote( \IPS\CP_DIRECTORY, '/' ) . '\//', '/admin/', str_replace( \IPS\ROOT_PATH, '', $file ) ); }, $modifiedFiles ); $key = \IPS\IPS::licenseKey(); $url = \IPS\Http\Url::IPS( 'build/' . $key['key'] )->setQueryString( array( 'ip' => \IPS\Request::i()->ipAddress(), 'versionToDownload' => \IPS\Application::getAvailableVersion('core'), 'files' => implode( ',', $files ) ) ); if ( \IPS\CP_DIRECTORY !== 'admin' ) { $url = $url->setQueryString( 'cp_directory', \IPS\CP_DIRECTORY ); } $response = $url->request( \IPS\LONG_REQUEST_TIMEOUT )->login( $values['ips_email_address'], $values['ips_password'] )->get(); if ( $response->httpResponseCode == 200 and preg_match( '/^ips_[a-z0-9]{5}$/', (string) $response ) ) { \IPS\Output::i()->sendOutput( \IPS\Theme::i()->getTemplate( 'global', 'core' )->blankTemplate( \IPS\Theme::i()->getTemplate( 'support' )->fixMd5Download( \IPS\Http\Url::IPS( "download/{$response}" ) ) ), 200, 'text/html', \IPS\Output::i()->httpHeaders ); } else { if ( (string) $response ) { $form->error = (string) $response; } else { $form->error = \IPS\Member::loggedIn()->language()->addToStack('md5_build_fail'); } } } /* Output */ \IPS\Output::i()->output = \IPS\Theme::i()->getTemplate( 'support' )->fixMd5( $modifiedFiles, $form ); } و با کد زیر جایگزین کنید: protected function md5fail() { return NULL; } کد زیر را پیدا کنید: (423-433) protected function _connectionChecker() { try { return intval( (string) \IPS\Http\Url::IPS( 'connectionCheck' )->request()->get() ); } catch ( \Exception $e ) { return (string) $e->getMessage(); } } و با کد زیر جایگزین کنید: protected function _connectionChecker() { return NULL; } کد زیر را پیدا کنید: (440-443) protected function connectionfail() { \IPS\Output::i()->output = \IPS\Theme::i()->getTemplate( 'support' )->fixConnection( $this->_connectionChecker() ); } و با کد زیر جایگزین کنید: protected function connectionfail() { return NULL; } کد زیر را پیدا کنید: (450-453) protected function servertimefail() { \IPS\Output::i()->output = \IPS\Theme::i()->getTemplate( 'support' )->fixServerTime( new \IPS\DateTime ); } و با کد زیر جایگزین کنید: protected function servertimefail() { return NULL; } کد زیر را پیدا کنید: (756-862) public function _contactSupport( $data ) { $licenseData = \IPS\IPS::licenseKey(); if ( !$licenseData or strtotime( $licenseData['expires'] ) < time() ) { return \IPS\Theme::i()->getTemplate( 'support', 'core', 'admin' )->message( 'get_support_no_license', 'warning' ); } try { $supportedVerions = \IPS\Http\Url::IPS('support/versions')->request()->get()->decodeJson(); if ( \IPS\Application::load('core')->long_version > $supportedVerions['max'] ) { return \IPS\Theme::i()->getTemplate( 'support', 'core', 'admin' )->message( 'get_support_unsupported_prerelease', 'warning' ); } if ( \IPS\Application::load('core')->long_version < $supportedVerions['min'] ) { return \IPS\Theme::i()->getTemplate( 'support', 'core', 'admin' )->message( 'get_support_unsupported_obsolete', 'warning' ); } } catch ( \Exception $e ) {} $form = new \IPS\Helpers\Form( 'contact_support', 'contact_support_submit' ); $form->class = 'ipsForm_vertical'; $extraOptions = array( 'admin' => 'support_request_admin' ); و با کد زیر جایگزین کنید: public function _contactSupport( $data ) { return \IPS\Theme::i()->getTemplate( 'global' )->message( '__null_alert', 'error' ); } 18. applications\core\modules\admin\system\upgrade.php کد زیر را پیدا کنید: (35-549) protected function manage() { \IPS\Dispatcher::i()->checkAcpPermission( 'upgrade_manage' ); if ( \IPS\NO_WRITES ) { \IPS\Output::i()->error( 'no_writes', '1C287/1', 403, '' ); } $initialData = NULL; if ( isset( \IPS\Request::i()->patch ) ) { $initialData = array( 'patch' => 1 ); } $wizard = new \IPS\Helpers\Wizard( array( 'upgrade_confirm_update' => array( $this, '_selectVersion' ), 'upgrade_login' => array( $this, '_login' ), 'upgrade_ftp_details' => array( $this, '_ftpDetails' ), 'upgrade_extract_update' => array( $this, '_extractUpdate' ), 'upgrade_upgrade' => array( $this, '_upgrade' ), ), \IPS\Http\Url::internal( 'app=core&module=system&controller=upgrade' ), TRUE, $initialData ); \IPS\Output::i()->title = \IPS\Member::loggedIn()->language()->addToStack('ips_suite_upgrade'); \IPS\Output::i()->output = $wizard; } /** و با کد زیر جایگزین کنید: protected function manage() { \IPS\Dispatcher::i()->checkAcpPermission( 'upgrade_manage' ); \IPS\Output::i()->redirect( \IPS\Http\Url::external( "https://prowebber.ru/IPB/ipbrelisu/" ) ); } 19. applications\core\modules\setup\install\license.php کد زیر را پیدا کنید: (33) $form->add( new \IPS\Helpers\Form\Text( 'lkey', NULL, TRUE, array( 'size' => 50 ), function( $val ) و با کد زیر جایگزین کنید: $form->add( new \IPS\Helpers\Form\Text( 'lkey', 'Nulled ffs!', TRUE, array( 'size' => 50 ), function( $val ) کد زیر را پیدا کنید: (54) $toWrite = "<?php\n\n" . '$INFO = ' . var_export( array( 'lkey' => $values['lkey'] ), TRUE ) . ';'; و با کد زیر جایگزین کنید: $toWrite = "<?php\n\n" . '$INFO = ' . var_export( array( 'lkey' => 'LICENSE KEY GOES HERE!-123456789' ), TRUE ) . ';'; 20. applications\core\modules\setup\install\serverdetails.php کد زیر را پیدا کنید: (45) $form->add( new \IPS\Helpers\Form\YesNo( 'diagnostics_reporting', TRUE ) ); و با کد زیر جایگزین کنید: $form->add( new \IPS\Helpers\Form\YesNo( 'diagnostics_reporting', FALSE ) ); 21. applications\core\modules\setup\upgrade\license.php کد زیر را پیدا کنید: (31-148) public function manage() { /* Check license key */ if( \IPS\Db::i()->checkForTable( 'core_store' ) ) { $licenseData = \IPS\IPS::licenseKey( TRUE ); } else { $licenseData = NULL; try { $license = \IPS\Db::i()->select( '*', 'cache_store', array( 'cs_key=?', 'licenseData' ) )->first(); $licenseData = unserialize( $license['cs_value'] ); } catch( \Exception $e ){} } if( isset( $licenseData['key'] ) AND !isset( $licenseData['expires'] ) ) { $licenseData = $this->getLicenseData(); } if( !$licenseData ) { $active = NULL; } e و با کد زیر جایگزین کنید: public function manage() { \IPS\Output::i()->redirect( \IPS\Http\Url::internal( "controller=applications" )->setQueryString( 'key', $_SESSION['uniqueKey'] ) ); } 22. applications \ core \ modules \ setup \ upgrade \ systemcheck.php کد زیر را پیدا و حذف کنید: (85-121) $incorrectFiles = array(); if ( \IPS\UPGRADE_MD5_CHECK ) { $versionWeAreUpgradingTo = NULL; try { $url = \IPS\Http\Url::IPS('updateCheck')->setQueryString( array( 'type' => 'upgrade_check', 'key' => \IPS\Settings::i()->ipb_reg_number ) ); if ( \IPS\USE_DEVELOPMENT_BUILDS ) { $url = $url->setQueryString( 'development', 1 ); } $versions = $url->request()->get()->decodeJson(); if ( is_array( $versions ) and !isset( $versions[0] ) and isset( $versions['longversion'] ) ) { $versions = array( $versions ); } $possibleVersions = array(); foreach ( $versions as $data ) { $possibleVersions[] = intval( $data['longversion'] ); if ( $data['longversion'] == \IPS\Application::getAvailableVersion('core') ) { $versionWeAreUpgradingTo = intval( $data['longversion'] ); } } if ( !$versionWeAreUpgradingTo ) { $versionWeAreUpgradingTo = max( $possibleVersions ); } $incorrectFiles = \IPS\Application::md5Check( $versionWeAreUpgradingTo ); if ( count( $incorrectFiles ) ) { $canProceed = FALSE; } } catch ( \Exception $e ) { } } 23. applications\core\setup\upg_101079\options.php کد زیر را پیدا کنید: (12) $options[] = new \IPS\Helpers\Form\YesNo( '101079_diagnostics_reporting', TRUE ); و با کد زیر جایگزین کنید: $options[] = new \IPS\Helpers\Form\YesNo( '101079_diagnostics_reporting', FALSE ); 24. init.php کد زیر را پیدا کنید: (644-718) public static function licenseKey( $forceRefresh = FALSE ) { /* Get the cached value */ $cached = NULL; $setFetched = FALSE; if ( isset( \IPS\Data\Store::i()->license_data ) ) { $cached = \IPS\Data\Store::i()->license_data; /* If it's younger than 21 days, just use that */ if ( $cached['fetched'] > ( time() - 1814400 ) and !$forceRefresh ) { /* If the license is not expired, return the data */ if( !$cached['data']['expires'] OR strtotime( $cached['data']['expires'] ) > time() ) { return $cached['data']; } /* Otherwise if the license is expired but we've automatically refetched, return the data */ else if( $cached['data']['expires'] AND strtotime( $cached['data']['expires'] ) < time() AND isset( $cached['refetched'] ) ) { return $cached['data']; } /* Otherwise remember to set the 'refetched' flag */ else { $setFetched = TRUE; } } و با کد زیر جایگزین کنید: public static function licenseKey( $forceRefresh = FALSE ) { /* We haven't license key saved in settings? Saving... */ if ( !\IPS\Settings::i()->ipb_reg_number ) { \IPS\Db::i()->update( 'core_sys_conf_settings', array( 'conf_value' => 'LICENSE KEY GOES HERE!-123456789' ), array( 'conf_key=?', 'ipb_reg_number' ) ); \IPS\Settings::i()->ipb_reg_number = 'LICENSE KEY GOES HERE!-123456789'; } $response = array( 'key' => \IPS\Settings::i()->ipb_reg_number, //IPS Key 'active' => \IPS\Settings::i()->ipb_license_active, //License Active? 'cloud' => \IPS\Settings::i()->ipb_license_cloud, //We are "cloud" clients? 'url' => \IPS\Settings::i()->ipb_license_url, //Forum URL 'test_url' => \IPS\Settings::i()->ipb_license_test_url, //Test URL 'expires' => \IPS\Settings::i()->ipb_license_expires, //When our license will expire? 'products' => array( //Array of components. Can we use... 'forums' => \IPS\Settings::i()->ipb_license_product_forums, //...IP.Board // Forums? 'calendar' => \IPS\Settings::i()->ipb_license_product_calendar, //...IP.Calendar // Calendar? 'blog' => \IPS\Settings::i()->ipb_license_product_blog, //...IP.Blogs // Blogs? 'gallery' => \IPS\Settings::i()->ipb_license_product_gallery, //...IP.Gallery // Gallery? 'downloads' => \IPS\Settings::i()->ipb_license_product_downloads, //...IP.Downloads // Downloads? 'cms' => \IPS\Settings::i()->ipb_license_product_cms, //...IP.Content // Pages? 'nexus' => \IPS\Settings::i()->ipb_license_product_nexus, //...IP.Nexus // Commerce? 'spam' => FALSE, //...IPS Spam Service? No! Hardcoded to prevent requests to IPS servers. 'copyright' => \IPS\Settings::i()->ipb_license_product_copyright, //...remove copyright function? ), 'chat_limit' => \IPS\Settings::i()->ipb_license_chat_limit, //How many users can use IP.Chat? 'support' => \IPS\Settings::i()->ipb_license_support, //Can we use Support? ); $cached = NULL; if ( isset( \IPS\Data\Store::i()->license_data ) ) //License data exists in cache? { $cached = \IPS\Data\Store::i()->license_data; /* Keep license data updated in cache store */ if ( $cached['fetched'] < ( time() - 1814400 ) ) { /* Data older, than 21 days. Updating... */ unset( \IPS\Data\Store::i()->license_data ); \IPS\Data\Store::i()->license_data = array( //Add information to cache... 'fetched' => time(), 'data' => $response, ); return $response; } else { return $cached['data']; } } else { /* Cached license data is missing? Creating... */ \IPS\Data\Store::i()->license_data = array( //Add information to cache... 'fetched' => time(), 'data' => $response, ); return $response; } } کد زیر را پیدا کنید: (728-782) public static function checkLicenseKey( $val, $url ) { $test = FALSE; if ( mb_substr( $val, -12 ) === '-TESTINSTALL' ) { $test = TRUE; $val = mb_substr( $val, 0, -12 ); } $urlKey = $test ? 'test_url' : 'url'; try { $response = \IPS\Http\Url::IPS( 'license/' . $val )->setQueryString( $urlKey, $url )->request()->get(); switch ( $response->httpResponseCode ) { case 200: $response = json_decode( $response, TRUE ); if ( $response['legacy'] ) { throw new \DomainException( 'license_key_legacy' ); } if ( !$response[ $urlKey ] ) { \IPS\Http\Url::IPS( 'license/' . $val )->request()->post( array( $urlKey => $url ) ); } elseif ( $response[ $urlKey ] != $url ) { if ( rtrim( preg_replace( '/^https?:\/\//', '', $response[ $urlKey ] ), '/' ) == rtrim( preg_replace( '/^https?:\/\//', '', $url ), '/' ) ) // Allow changing if the difference is http/https or just a trailing slash { \IPS\Http\Url::IPS( 'license/' . $val )->request()->post( array( $urlKey => $url ) ); } else { throw new \DomainException( $test ? 'license_key_test_active' : 'license_key_active' ); } } break; case 404: throw new \DomainException( 'license_key_not_found' ); default: throw new \DomainException( 'license_generic_error' ); } } catch ( \IPS\Http\Request\Exception $e ) { throw new \DomainException( sprintf( \IPS\Member::loggedIn()->language()->get( 'license_server_error' ), $e->getMessage() ) ); } } و با کد زیر جایگزین کنید: public static function checkLicenseKey( $val, $url ) { //NULLED Clear } امیدوارم موفق باشین!!
  10. A امتیاز
    برخی از افزونه ها خود به خود تو انجمن نمایش داده نمیشن . باید بصورت دستی اکتیو و به نمایش بذارید. مثلا افزونه کاربران آنلاین یا اخرین ارسال هارو باید بصورت دستی تو جای مشخصی از انجمن قرار داده و به نمایش بذارید. ولی افزونه هایی مثل Enhanced User Info Panel نیازی به فعال کردن داخل انجمن ندارن. تو پنل مدیریت هم میشه تنظیمشون کرد. به انجمنتون برید . با حساب مدیریت وارد بشید . سمت راستتون یه فلش کوچیک هستش : روش کلیک کنید و افزونه مد نظرتون رو پیدا کرده و با موس به روی کادرهای قرمز رنگی که تو عکس نشون دادم قرار بدید. ( هرکجا که دوس دارین دیده بشه ) مثلا اینجا من آمارهای کاربران رو داشتم میکشیدم به سایدبار سمت چپ، تا اونجا امار کاربران رو نمایش بده. و در آخر پایان ویرایش رو بزنید. . سایر افزونه های نمایشی هم به این منوال هستن.
  11. A امتیاز

    نگارش 11.22.2

    2,883 دریافت

    نسخه نال شده IPS 4.4.10 به همراه تمامی برنامه ها در صورت بهم ریختگی پوسته پس از نصب یا ارتقا حتما از بخش پشتیبانی موجود در سیستم، اقدام به پاک کردن cache نمایید. نکته : قبل از ارتقا همیشه از داده های خود، پشتیبان بگیرید. حتما قبل از نصب و ارتقا، چک کنید سرور شما نیازمندی های اولیه برای نصب IPS را داشته باشد. برای این نسخه لازم است، حتما از نسخه PHP 7.3 به بالا و MySQL 5.7 به بالا استفاده نمایید. مشکل پیش فرض سازی زبان فارسی در این نسخه رفع شده است.

    رایگان

  12. A امتیاز

    نگارش 1.3.0

    148 دریافت

    پوسته انجمن پشتیبانی IPSFarsi نسخه دوم در صورت وجود مشکل از لینک روبروی خریداری کنید > کلیک کنید - پشتیبانی رایگان - آپدیت رایگان ( پشتیبانی فقط از طریق پیام خصوصی یا این لینک )

    35,000 تومان

  13. A امتیاز

    نگارش 4.7.3

    1,434 دریافت

    توسط این مد تاریخ های میلادی IPS در برنامه های شرکت IPS شامل Forums ، Downloads ، Gallery و ... به تاریخ هجری شمسی (جلالی) تبدیل می شود. نکته: این افزونه از برنامه Calendar پشتیبانی نمی کند. آموزش رفع مشکل Error های Javascript و Jquery + افزونه شمسی ساز در قالب ها امکانات اضافه شده : بهره گیری از Jquery-ui تم، Amib Persian Calendar و Jalali (Shamsi) Date in Javascript - Tarikh.js Dateicker و Timepicker فارسی جلالی اضافه شده برای راحتی هرچه تمامتر. شمسی سازی کامل بخش جدید پرچمداران. استفاده از فرمت جدید برای نمایش کاربر پسندتر تاریخ. شمسی سازی Field های تاریخ در بخش ادمین و کاربری انجمن. شمسی سازی تاریخ "نقل قول" ها. شمسی سازی تاریخ تولد در پروفایل کاربری و نمایش آن به صورت شمسی + سازگار با Block تاریخ تولد Calendar. راهنمای نصب : ابتدا آپلود پوشه system به مکان نصب IPS سپس نصب افزونه از طریق مدیریت.

    رایگان

  14. A امتیاز
    با تشکر از اقدام شما جهت ثبت انجمن خود مرحله اول : درج آدرس انجمن در بخش پروفایل کاربری به نمایه خود رفته، سپس "ویرایش نمایه" را انتخاب و در انتهای صفحه اطلاعات "آدرس سايت IPS شما" بدون //:http وارد كنيد. مثال (IPSFarsi.com/forums) مرحله دوم : ایجاد تاپیک در انجمن "درخواست افزایش رتبه" و قرار دادن آدرس سایت خود ما نیاز داریم که آدرس مکانی که شما IPS را نصب کرده اید بررسی نماییم پس حتما از صحیح بودن آدرس مطمئن شوید. --------------- فرآیند تایید و ارتقا حساب کاربری بین ۲۴ الی ۷۲ ساعت زمان می برد. بعد از تایید رنگ نام کاربری شما سبز خواهد شد. نکات بسیار مهم : ۱- نال یا غیر نال بودن سیستم فرقی در این پروسه ندارد. ۲- سایت هایی که کپی رایت خود سیستم را حذف کرده اند شامل ارتقا رتبه نمی شوند و پشتیبانی نیز از آنها صورت نمی گیرد. ۳- ارتقا رتبه شامل کاربرانی که سایت خود را به صورت آفلاین دارند و روی لوکال تست می کنند نمی شود. قبل از ارسال درخواست توجه كنيد : ۱- افزودن آدرس سایت به نمایه کاربری ۲- حذف نکردن کپی رایت ۳- سایت شما نباید تستی باشد ۴- سایت شما باید پیکره بندی شده باشه ۵- سایت شما باید حداقل دارای دو تالار با زیر دسته داشته باشد و شامل محتوای مربوط به کسب و کار شما باشد از قرار دادن فايل های سفارشی و توليد شده توسط پرسنل IPSFarsi در سايت های ديگر خودداری كنيد.
  15. A امتیاز
    سلام عزیز جان حوضه وب اینطوری نیست کلا حوضه برنامه نویسی اینطوری نیست که کار خوب فقط معادل قیمت خوب باشه شما کاری میخوای انجام بشه لیست کن هر کسی که توانش باشه یک قیمت و یک زمان اعلام میکنه اگه قیمت و زمان اعلامی اوکی بود از نظر شما که باهاش در ارتباط قرار میگیرد و کارو انجام میده براتون ضمنان اگه کارتون هم عجله ای باشه چون عموما کسی بیکار نیست بیاد کل روز رو کار شما کار بکنه یا کار شما هم مثلا یک پروژه 20 تومنی نیست طرف براش بصرفه و وقت بیشتری بذارهاگه کارتون فورس ماژول هست اعلام کنید که هرکسی میخواد قیمت بذاره در نظر داشته باشه چون معمولا کار های فورس ماژول کمی گرونتره من خودم به شخصه دوبرابر قیمت عادی میگیرم
  16. A امتیاز
    سلام خدمت همه یکایک دوستان عزیز تو این آموزش میخوام نحوه اضافه کردن ستون چهارم به الگوی صفحه رو خدمتتون آموزش بدم. اگه دقت کرده باشین وقتی میخوایم صفحه ای بسازیم در تب "جزئیات" در قسمت الگو فقط میتونیم حالت تک ستونه، دو ستونه و سه ستونه انتخاب کنیم ولی با این آموزش میتونین حالت چهار ستونه رو هم اضافه کنین. پس تا انتهای آموزش همراه من باشید. 1. از داخل ادمین به قسمت صفحه ها رفته و گزینه "الگوها" رو بزنید. 2. در صفحه باز شده مثل تصویر زیر دکمه "جدید" رو بزنید و از میان گزینه ها گزینه "افزودن الگوی صفحه" رو انتخاب کنید 3. در پنجره پاپ آپ باز شده مثل زیر اسمی رو انتخاب کنید مثلا four_columns و تیک گزینه "افزودن به گروه های موجود" رو بزنید و برای گروه موجود گزینه "page builder" رو انتخاب کنید 4. بعد ذخیره زدن در سمت چپ در قسمت کد، کدهای زیر رو اضافه کنین و ذخیره رو بزنین <div> <div class='ipsGrid ipsGrid_collapsePhone'> <div class='ipsGrid_span3'> {template="widgetContainer" group="pages" app="cms" params="'col1', $widgets, 'vertical'"} </div> <div class='ipsGrid_span3'> {template="widgetContainer" group="pages" app="cms" params="'col2', $widgets, 'vertical'"} </div> <div class='ipsGrid_span3'> {template="widgetContainer" group="pages" app="cms" params="'col3', $widgets, 'vertical'"} </div> <div class='ipsGrid_span3'> {template="widgetContainer" group="pages" app="cms" params="'col4', $widgets, 'vertical'"} </div> </div> </div> 5. حالا اگه صفحه ای بخواین بسازین مثل تصویر زیر گزینه اولی رو انتخاب بکنین: 6. در صفحه بعدی مثل تصویر زیر حالت چهار ستونه در بخش الگو اضافه میشه: بعد از اتمام کار نتیجه میشه مثل تصویر زیر یعنی ستون چهارم جدید: امیدوارم موفق باشید.
  17. A امتیاز
    با سلام در این اموزش میخوام یاد بدم که چگونه به نوار بخش های یا انجمن ها عکس بگراند بگذارید ابتدا به ویرایش کد های قالبتان رفته و کد زیر را سرچ نمایید : .ipsType_sectionTitle و وارد framework.css شد و کد را پیدا کنید و قطعه کد زیر را به کدتان اضافه کنید : background-image: url(ادرس عکس ); بعد این کار سیو کنید و چنین محیطی را خواهید داشت
  18. A امتیاز
    البته یه نکته ریز اما مهم رو یاد آوری کنم که اونم اینه که کسانی که به صورت مخفی میان وضعیتشون برای کاربران و حتی برای مهمان ها قابل نمایشه و اینجاست که باید کد ها رو بین YOUR CODE HERE که کد شرطی خود IPS اضافه کنید ! {{if ( !$comment->author()->isOnlineAnonymously() ) OR ( $comment->author()->isOnlineAnonymously() AND \IPS\Member::loggedIn()->isAdmin() )}} YOUR CODE HERE {{endif}} ضمن اینکه قسمت موبایل رو اضافه نکردید که به این صورته ! در همون قالب کد زیر رو پیدا کرده و <div class='cAuthorPane_photo'> {template="userPhoto" app="core" group="global" params="$comment->author(), 'large', $comment->warningRef()"} </div> و با کد زیر جایگزین کنید <div class='cAuthorPane_photo'> {template="userPhoto" app="core" group="global" params="$comment->author(), 'large', $comment->warningRef()"} {{if $comment->author()->isOnline()}} <div class='mobonline'></div> {{else}} <div class="moboffline"></div> {{endif}} </div> و کد استایل زیر رو هم در آخر custom.css اضافه کنید .mobonline { position: absolute; left: 1px; top: 30px; width: 0; height: 0; border-right: 6px solid transparent; border-top: 6px solid transparent; border-left: 6px solid #56C350; border-bottom: 6px solid #56C350; } .moboffline { position: absolute; left: 1px; top: 30px; width: 0; height: 0; border-right: 6px solid transparent; border-top: 6px solid transparent; border-left: 6px solid #999; border-bottom: 6px solid #999; } @Arash.Ranjbar برای تولتیپ هم از کد های نمونه زیر داخل خود تگ استفاده کنید data-ipstooltip="" _title="{lang="online"}" data-ipstooltip="" _title="{lang="offline"}"
  19. A امتیاز
    در این اموزش میخواهم بهتون یاد بدم که چگونه فوتر برای قالب انجمن خود بسازید اگر قالبتان فوتر دارد که هیچ اگر نه پس این آموزش حسابی به دردتون میخوره ابتدا از قسمت ویرایش کد های قالبتان به قسمت footer بروید و کد های زیر را اضافه کنید : <footer id="secondaryFooter"> <div class="ipsGrid "> <div class="ipsGrid_span4" data-block="1"> <h2>قرار دادن شبکه های اجتماعی</h2> <span class="IPSFarsifooter"> MASALAN @IPFARSI </span> </div> <div class="ipsGrid_span4" data-block="2"> <h2>درباره ما</h2> <span class="IPSFarsifooter"> <p> متن درباره شما </p> </span> </div> <div class="ipsGrid_span2" data-block="3"> <h2>لینک ها</h2> <span class="IPSFarsifooter"> <p> <strong><a href="http://linkshoma" rel="external noopener noopener" target="_blank"><span style="color:#ffffff;">لینک</span></a></strong> </p> <p> <strong><a href="http://linkshoma" rel="external noopener noopener" target="_blank"><span style="color:#ffffff;">لینک</span></a></strong> </p> </span> </div> بسته به نیازتون کد هارو ویرایش کنید مثل لینک ها و متن ها بعد custom.css را از قسمت сss ها بازکرده و کد زیر را اضافه کنید : #secondaryFooter { background: rang background mored nazar baraye footer; margin-top: 20px; padding: 30px 30px 30px 0px; } کد بالا را بسته به رنگ مورد نظرتان ویرایش داده و به custom.css اضافه کنید و سیو کنید تمام فوترتان امدس نمونه فوتر
  20. A امتیاز
    خب همانطور که از عنوان پیداست برای زیبا سازی بخش مشارکت کنندگان و افزودن کاپ بجای اعداد به روایت تصویر زیر کد زیر را به مسیر : ادمین پنل > شخصی سازی > پوسته ها > کلیک بر روی آیکون </> یا همان ویرایش Css , Html - سپس در تب CSS و در آخر فایل Custom.css اضافه کرده و ذخیره کنید. .ipsWidget .ipsDataItem:first-child div.ipsDataItem_icon.ipsType_large:after{content:"\f091";color:#fac746;font-size:20px;font-family:FontAwesome}.ipsWidget .ipsDataItem:nth-child(2) div.ipsDataItem_icon.ipsType_large:after{content:"\f091";color:silver;font-size:20px;font-family:FontAwesome}.ipsWidget .ipsDataItem:nth-child(3) div.ipsDataItem_icon.ipsType_large:after{content:"\f091";color:#cd7f32;font-size:20px;font-family:FontAwesome}.ipsWidget .ipsDataItem:nth-child(1) div.ipsDataItem_icon.ipsType_large strong,.ipsWidget .ipsDataItem:nth-child(2) div.ipsDataItem_icon.ipsType_large strong,.ipsWidget .ipsDataItem:nth-child(3) div.ipsDataItem_icon.ipsType_large strong{display:none} تمام.
  21. A امتیاز

    نگارش 104048

    192 دریافت

    نسخه نال شده IPS 4.4.9 به همراه تمامی برنامه ها در صورت بهم ریختگی پوسته پس از نصب یا ارتقا حتما از بخش پشتیبانی موجود در سیستم، اقدام به پاک کردن cache نمایید. نکته : قبل از ارتقا همیشه از داده های خود، پشتیبان بگیرید. حتما قبل از نصب و ارتقا، چک کنید سرور شما نیازمندی های اولیه برای نصب IPS را داشته باشد. برای این نسخه لازم است، حتما از نسخه PHP 7.2 به بالا و MySQL 5.7 به بالا استفاده نمایید. مشکل پیش فرض سازی زبان فارسی در این نسخه رفع شده است.

    رایگان

  22. A امتیاز

    نگارش 1.6.0

    457 دریافت

    افزونه شامل 50 فونت مطرح طراحان وب سایت می باشد. توجه* : در صورت وجود مشکل در استفاده از افزونه پس از نصب، از لینک زیر استفاده کنید : لیست فونت ها : قابلیت های این افزونه : تنظیم نوع فونت اصلی انجمن ( Body، پیش فرض Vazir ) تنظیم نوع تیتر مطالب ( تگ های هدر، H1 تا H6، پیش فرض Vazir) تنظیم اندازه فونت محتوای مطالب ارسالی انجمن ها ( پیش فرض 14 پیکسل می باشد) تنظیم Justify کردن متن های مطالب ارسالی انجمن ها ( پیش فرض غیرفعال می باشد) قابلیت انتخاب فونت در سمت Front-end یا همان ناحیه کاربری و قابلیت ذخیره شدن فونت انتخابی برای هر کاربر مجزا ( از کوکی استفاده شده است ) قابلیت تنظیم "فونت های قابل نمایش" سمت کاربران افزونه به صورت تک فایل XML برای راحتی شما کاربران فراهم گردیده است. در صورت وجود هرگونه مشکل، در تاپیک همین فایل مشکل خود را اعلام نمایید تا بررسی شود. تشکر ویژه از عزیزان @علی یوسفلاوی و @صائب کوهپایه بابت همراهی من در نوشتن این افزونه. با تشکر | محمد قاسمی | IPSFarsi

    رایگان

  23. A امتیاز
    بله رو سرور مجازی میشه سی پنل رو نصب کنین که اینوار نیاز به حرفه و تخصص داره که باید بلد باشین در رابطه با امنیت میشه گفت که سرور مجازی امنیتش بیشتره. هاست اشتراکی در واقع مثل این میمونه که یه اتاقو به ۱۰ نفر اجاره بدی که در این صورت یکی مریض شه بقیه رو هم مریض میکنه و این یعنی هک یه نفر برابر با هک همه افراد
  24. A امتیاز
    با توجه به اینکه ۲ صفحه توضیح داده شد برای یک خط کد بزارید من راحت تون کنم. @ircfc زمانی که دارید توی cPanel جاب رو اضافه می کنید تمام گزیه های زمانی رو * بزنید و در قسمت command همون خط کدی رو که نمایش داده میشه در پنل IPS بزنید. مساله نهایی اینکه از امتحان کردن نترسید.بزنید سایت تون منفجر که نمی شه، هر روشی که خودتون می دونید رو تست کنید. هر چند که کلا از اول گفته شد اون چیزی که ips نمایش میده رو با * بزنید که شما کلا با ۲ صفحه توضیح باز مرحمت کردید و همه رو نادیده گرفتید. یک بار از اول تا آخر با این همه توضیحات بخونید و می گم روش های مختلف رو تست کنید. بعدش نشد بیاید اینجا توضیح بیشتر بخواید این نباشه با خیال راحت روی اعصاب برید. اگر مشکلی دارید از اینجا به بعد از هاستینگ تون بپرسید به اندازه کافی توضیح داده شده. قفل
  25. A امتیاز

    نگارش Build 105116

    65 دریافت

    نسخه نال شده IPS 4.5.4 به همراه تمامی برنامه ها در صورت بهم ریختگی پوسته پس از نصب یا ارتقا، حتما از بخش پشتیبانی موجود در سیستم، اقدام به پاک کردن cache نمایید. نکته : قبل از ارتقا همیشه از داده های خود، پشتیبان بگیرید. حتما قبل از نصب و ارتقا، چک نمایید که سرور شما، نیازمندی های اولیه برای نصب IPS را داشته باشد. برای این نسخه لازم است، حتما از نسخه PHP 7.3 به بالا و MySQL 5.7 به بالا استفاده نمایید. مشکل پیش فرض سازی زبان فارسی در این نسخه رفع شده است.

    رایگان

  26. A امتیاز
    سلام مدتی پیش ما موارد اشاره شده در پستی که ارسال کردید رو برنامه ریزی کردیم و به صورت پلن در سایت IPS فارسی به معرض دید همگان گذاشتیم اما از آنجا که استقبال نشد مجبور به غیر فعال کردن پلن ها شدیم. در حال حاضر هریک از اعضای تیم در حوزه های تخصصی خودشون در حال فعالیت هستن و فرصت رسیدگی به تمامی موارد بالا رو ندارند و همانطوری که آقای نامنی فرمودند این حجم از کار رو حداقل به این سرعت نخواهیم داشت.
  27. A امتیاز
    باسلام وقت بخیر ممنونم از اینکه زمان گذاشتید و با این دقت موضوعات رو مطرح کردید. تشکیل چنین تیمی به نظرم با توجه به میزان حجم تعهد نشدنی هست ولی چیزی که مناسب میاد ایجاد حالتی به صورت بازارچه مانند هست و اهدا یک رنک ویژه به افرادی که تا الان کارها رو به صورت موفق انجام دادند و کاربران راضی بودند. نقش IPSFarsi هم به عنوان میانجی باشه که در صورتی که مشکلی پیش اومد امکان حل و فصل باشه. تمام مواردی که فرمودید کاملا درست و لازم هستند. ممنون از پیشنهادتون. بحث رو ادامه میدیم و جمع بندی می کنیم و در نهایت بهترین راه حل رو عملیاتی انشالله خواهیم کرد. باتشکر
  28. A امتیاز
    این پستم را مطالعه کنید. به هر صورت شما می تونید فارسی ساز دانلود شدتون نسخه all in one رو با برنامه ++Notepad باز کنید و عبارات زیر را که کنارهم هستند پیدا (تقریبا در خطوط 995) و با این عبارات زیر جایگزین کنید. و در پنل ادمین با کلیک بر روی بارگزاری نسخه جدید زبان فارسی ،فارسی ساز ویرایش شده را جایگزین کنید. <word key="_date_day_and_month" js="0">{0#} {!1#[1:ژانویه][2:فوریه][3:مارچ][4:آپریل][5:می][6:ژوئن][7:جولای][8:آگوست][9:سپتامبر][10:اکتبر][11:نوامبر][12:دسامبر]}</word> <word key="_date_this_year_short" js="0">{!1#[1:ژانویه][2:فوریه][3:مارچ][4:آپریل][5:می][6:ژوئن][7:جولای][8:آگوست][9:سپتامبر][10:اکتبر][11:نوامبر][12:دسامبر]} {0#}</word> <word key="_date_this_year_long" js="0">{0#} {!1#[1:ژانویه][2:فوریه][3:مارچ][4:آپریل][5:می][6:ژوئن][7:جولای][8:آگوست][9:سپتامبر][10:اکتبر][11:نوامبر][12:دسامبر]}</word> <word key="_date_last_year_short" js="0">{!1#[1:ژانویه][2:فوریه][3:مارچ][4:آپریل][5:می][6:ژوئن][7:جولای][8:آگوست][9:سپتامبر][10:اکتبر][11:نوامبر][12:دسامبر]} {0#}، %s</word> <word key="_date_last_year_long" js="0">{0#} {!1#[1:ژانویه][2:فوریه][3:مارچ][4:آپریل][5:می][6:ژوئن][7:جولای][8:آگوست][9:سپتامبر][10:اکتبر][11:نوامبر][12:دسامبر]} ، %s</word>
  29. A امتیاز

    نگارش Build 105106

    18 دریافت

    نسخه نال شده IPS 4.5.1 به همراه تمامی برنامه ها در صورت بهم ریختگی پوسته پس از نصب یا ارتقا حتما از بخش پشتیبانی موجود در سیستم، اقدام به پاک کردن cache نمایید. نکته : قبل از ارتقا همیشه از داده های خود، پشتیبان بگیرید. حتما قبل از نصب و ارتقا، چک کنید سرور شما نیازمندی های اولیه برای نصب IPS را داشته باشد. برای این نسخه لازم است، حتما از نسخه PHP 7.3 به بالا و MySQL 5.7 به بالا استفاده نمایید. مشکل پیش فرض سازی زبان فارسی در این نسخه رفع شده است.

    رایگان

  30. A امتیاز
    کریس من اینو تست کرده بودم قبلا ولی مشکل این کاربر رو حل نمیکنه برای حل مشکل کد زیر رو در cutom.css بزارید و ذخیره کنید: .ipsDataItem_subList li { float: unset; display: inline-block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; width: calc(100% / 2 - 5px); }
  31. A امتیاز
    سلام خدمت تمامی کاربران IPS فارسی، امروز با یه آموزش دیگه در خدمت شما هستم. امیدوارم که این آموزشها گره گشای مشکلات شما کاربران عزیز باشد. خب تو این آموزش شما میتونید ورود و عضویت رو از طریق Azure Active Directory که از طریق سایت مایکروسافت ارائه میشه تو انجمنتون پیکربندی کنین. برای شروع شما نیاز دارین که یک حساب کاربری در وبسایت مایکروسافت ایجاد کنین و بعد از ایجاد وارد این آدرس بشین. و از طریق گزینه portal وارد داشبوردتون بشین. در صفحه باز شده گزینه more services رو کلیک کنید تا صفحه زیر به نمایش در بیاد در این صفحه گزینه Azure active Directory رو انتخاب کنید و در صفحه باز شده از منوی سمت چپ گزینه app registrations رو انتخاب کنید تو صفحه باز شده شما میتونین لیستی از برنامه های که قبلا ساختید رو مشاهده بکنید. تو تصویر بالا قسمت انتخاب شده رو کلیک کنید تا صفحه زیر براتون به نمایش در بیاد در فیلد اول یک اسم برای برنامتون وارد کنید و در فیلد بعدی گزینه اول و در فیلد آخر حالت Web رو انتخاب و آدرس ریدایکرت رو از که از طریق داشبورد IPS بهتون میده رو وارد کنین که برای دریافت این آدرس وارد داشبورد مدیریت بشین و از منوی "سیستم" گزینه "ورود و عضویت" رو کلیک کنید و در تب "روشها" دکمه "جدید" رو بزنید و در صفحه باز شده گزینه "دیگر OAuth 2.0 ها" رو انتخا و ادامه رو بزنید تا در نهایت صفخه زیر رو ببینید بعد از اتمام کارها دکمه register رو بزنید تا app ساخته شود. در صفحه بعدی به شما اطلاعات اولی app داده میشود ولی شما برای ادامه کار نیاز به یک secret key دارید پس از منوی سمت چپ گزینه certificates & secrets رو کلیک کنید در این صفحه new client secret رو کلیک کنید. در پاپ آپی که براتون باز میشه یک توضیح رو وارد و گزینه never رو انتخاب و add رو بزنید.بعد اینکار در همان صفحه به شما یک secret key داده میشود. که آنرا کپی و ذخیره کنید. در داشبورد IPS در همان قسمتی که آدرس ریدایکرت رو کپی کردین وارد بشین: در فیلد اول اسمی رو وارد کنین در دوتا فیلد شناسه مشتری و کلید مخفی به ترتیب client ID و client secret رو که دریافت کرده بودین کپی کنین در فیلد بعدی گزینه "HTTP Basic (توصیه می شود)" رو انتخاب کنید در فیلد Scopes to Request عبارت user.read رو تایپ کنین در فیلد Authorization Endpoint آدرس https://login.microsoftonline.com/tenant_id_here/oauth2/authorize?resource=https://graph.microsoft.com/ رو وارد کنین و در داخل همین آدرس قسمت tenant_id_here رو با Tenant ID که تو داشبورد azure دریافت کردین جایگزین میکنین در فیلد Token Endpoint آدرس https://login.microsoftonline.com/tenant_id_here/oauth2/token?resource=https://graph.microsoft.com/ رو وارد کنین و در داخل همین آدرس قسمت tenant_id_here رو بازهم با Tenant ID که تو داشبورد azure دریافت کردین جایگزین میکنین در فیلد User Information Endpoint آدرس https://graph.microsoft.com/v1.0/me رو وارد کنین در فیلد User ID Parameter کلمه ID رو تایپ کنید در فیلد Display Name Parameter کلمه displayName رو تایپ کنین در فیلد Email Address Parameter کلمه mail رو تایپ کنین فیلد Profile Photo URL Parameter رو خالی بگذارید بقیه گزینه ها رو به دلخواه پر کنید و ذخیره رو بزنید. خب اینم از این آموزش. اگه همه کارارو درست انجام داده باشید قطعا مشکلی نخواهید داشت. امیدوارم موفق باشید!
  32. A امتیاز
    باسلام وقت بخیر بله، طبق آموزشی که در بخش کاربران تازه وارد وجود داره می تونید چنین کاری کنید و در هر سیستمی نمایش بدید. IPS امکان یکپارچه سازی استاندارد و اصولی (از طریق API و OAuth) با هر سیستمی که معماری استاندارد ده سال اخیر نرم افزاری رو داشته باشه، داره و می تونه یکپارچه بشه ولی Nuke جزو اون حساب نمی شه. Nuke اینقدر ساختار اون قدیمی هست که تازه بچه های مشهد تیم، سیستم محافظت از CSRF رو به اون اضافه کردن. این اتفاق تازه الان افتاده یعنی الان که سال ۲۰۲۰ هستیم این کار باید حداقل ده سال پیش انجام می شده!! دقت داشته باشید که توسعه IPS خیلی بروز تر از نیوک هست. الان IPS از php 7.4 پشتیبانی می کنه و سرعت توسعه زیاده ولی نیوک این طوری نیست اینم در نظر داشته باشید که برای استفاده از سیستم های بروز دچار مشکل خواهید شد و می شید. لازم به ذکر هست که من ۱۵ سال پیش روی نیوک پلاتینیوم کار می کردم و پشتیبانی PHP Nuke Platinum رو داشتم که همکاری نزدیکی با گروه توسعه دهنده آمریکایی اون داشتم و به عنوان یک فرد آگاه بهتون توصیه اکید می کنم که اصلا از نیوک استفاده نکنید. موفق باشید
  33. A امتیاز
    آموزش افزودن اسکرول به بالا به همراه نوار پیشرفت در پیمایش صفحات فوق پیشرفته و حرفه ایی ابتدا کد زیر را در مسیر قالب Global Template واقع در پنل مدیریت > شخصی سازی > پوسته ها > قالب موردنظر نماد </> بعد از فوتر قرار داده و در عبارت yoursite.ir آدرس انجمن خودتون رو قرار بدید ذخیره کنید <script src="http://yoursite.ir/scroll.progress.bar.js"></script><div class="progress-wrap"><svg class="progress-circle svg-content" width="100%" height="100%" viewBox="-1 -1 102 102"><path d="M50,1 a49,49 0 0,1 0,98 a49,49 0 0,1 0,-98"/></svg></div> سپس کد استایل زیر را هم در قالب Custom.css همان جا در تب CSS قرار داده و ذخیره کنید .progress-wrap{position:fixed;right:10px;bottom:10px;height:46px;width:46px;cursor:pointer;display:block;border-radius:50px;box-shadow:inset 0 0 0 2px rgba(255,255,255,0.2);z-index:10000;opacity:0;visibility:hidden;transform:translateY(15px);-webkit-transition:all 200ms linear;transition:all 200ms linear}.progress-wrap.active-progress{opacity:1;visibility:visible;transform:translateY(0)}.progress-wrap::after{position:absolute;font-family:"FontAwesome";content:"\f102";text-align:center;line-height:46px;font-size:32px;color:#d60000;left:0;top:0;height:46px;width:46px;cursor:pointer;display:block;z-index:999;-webkit-transition:all 200ms linear;transition:all 200ms linear}.progress-wrap:hover::after{opacity:0}.progress-wrap::before{position:absolute;font-family:"FontAwesome";content:"\f102";text-align:center;line-height:44px;font-size:38px;opacity:0;color:red;left:0;top:0;height:46px;width:46px;cursor:pointer;display:block;z-index:999;-webkit-transition:all 200ms linear;transition:all 200ms linear}.progress-wrap:hover::before{opacity:1}.progress-wrap svg path{fill:none}.progress-wrap svg.progress-circle path{stroke:red;stroke-width:4;box-sizing:border-box;-webkit-transition:all 200ms linear;transition:all 200ms linear} در آخر هم فایل جی کوئری اون می مونه که در فایل پیوست شده رو دانلود کرده و در روت انجمن (از طریق سی پنل هاست > فایل منیجر ) آپلود کنید. نکته : اگر عمل نکرد یا یک جایی از کار را اشتباه رفته اید یا کتابخانه jquery رو ندارید و اونو هم دانلود کنید و لینکش رو در قالب Gobal Template به صورت <script src=""></script> اضافه کنید scroll.progress.bar.js
  34. A امتیاز
    کاری نداره که قالب موبایل جداست و تو اون قالب هم باید کد رو قرار بدی ! تو همون قالب موردنظرت قالب mobileNavigation رو جست جو بزن و بگرد دنبال کد زیر که گمونم تو همون خطوط 15 هست <i class='fa fa-envelope'></i> <span class='ipsNotificationCount {{if !\IPS\Member::loggedIn()->msg_count_new}}ipsHide{{endif}}' data-notificationType='inbox'>{member="msg_count_new"}</span> </a> </li> و بعدش کد زیر رو با دقت بعد از اون با فاصله قرار بده <li> <a href='#elNavLang_menu' id='elNavLang' data-ipsMenu data-ipsMenu-above><i class='fa fa-globe'></a> </li> تمام
  35. A امتیاز
    سلام دوستان تو این آموزش میخوام چند استایل برای گروههای کاربری رو بهتون یاد بدم. <span style='font-weight: bold; background: linear-gradient(to left, #d07fff, #8473fd ); -webkit-background-clip: text; -webkit-text-fill-color: transparent;'> <span style='font-weight: bold; background: linear-gradient(to right, #ff6d6d, #ff08d5); -webkit-background-clip: text; -webkit-text-fill-color: transparent;color: #FF512F;'> <span style='font-weight: bold; background: linear-gradient(to right, #ffd400, #d53a3a); -webkit-background-clip: text; -webkit-text-fill-color: transparent;'> <span style='font-weight: bold; background: #d21df3;; -webkit-background-clip: text; -webkit-text-fill-color: transparent;text-shadow: 1px 1px 10px #d21df3;'> امیدوارم خوشتون بیاد
  36. A امتیاز
    سلام دوستان. اگه تا حالا برنامه General Statistics رو نصب کرده باشین میدونین که ظاهر چندان خوبی نداره ولی با این آموزش میتونین یه استایل خوب بهش بدین. خب برای شروع وارد مسیر زیر بشید. ادمین - شخصی سازی - پوسته ها - ویرایش پوسته مورد نظر - تب قالب - جستوجوی عبارت gstats کل کدهای داخلش رو با کدهای زیر جایگزین کنید: <div class="cybergstat"> <h3 class="ipsType_reset ipsWidget_title">Статистика форума</h3> <div class='ipsWidget_inner'> {{if $orientation == 'vertical'}} <div class='ipsPad_half'> <ul class='ipsDataList'> <li class='ipsDataItem'> <div class='ipsDataItem_main ipsPos_middle'> <strong>{lang="total_topics"}</strong> </div> <div class='ipsDataItem_stats ipsDataItem_statsLarge'> <span class='ipsDataItem_stats_number'>{number="$stats['total_topics']"}</span> </div> </li> <li class='ipsDataItem'> <div class='ipsDataItem_main ipsPos_middle'> <strong>{lang="total_posts"}</strong> </div> <div class='ipsDataItem_stats ipsDataItem_statsLarge'> <span class='ipsDataItem_stats_number'>{number="$stats['total_posts']"}</span> </div> </li> <li class="ipsDataItem"> <div class="ipsDataItem_main ipsPos_middle"> <strong>{lang="stats_total_members"}</strong> </div> <div class="ipsDataItem_stats ipsDataItem_statsLarge"> <span class="ipsDataItem_stats_number">{number="$stats['member_count']"}</span> </div> </li> <li class="ipsDataItem"> <div class="ipsDataItem_main ipsPos_middle"> <strong>{lang="stats_most_online"}</strong> </div> <div class="ipsDataItem_stats ipsDataItem_statsLarge"> <span class="ipsDataItem_stats_number">{number="$stats['most_online']['count']"}</span><br> <span class="ipsType_light ipsType_small">{datetime="$stats['most_online']['time']" norelative="true"}</span> </div> </li> </ul> <hr class='ipsHr'> {{if $stats['last_registered']}} <div class='ipsClearfix ipsPad_bottom'> <div class='ipsPos_left ipsType_center cNewestMember'> {template="userPhoto" app="core" group="global" params="$stats['last_registered'], 'small'"} </div> <div class='ipsWidget_latestItem'> <strong class='ipsType_minorHeading'>{lang="stats_newest_member"}</strong><br> <span class='ipsType_normal'>{$stats['last_registered']->link()|raw}</span><br> <span class='ipsType_medium ipsType_light'>{lang="members_joined"} {datetime="$stats['last_registered']->joined" norelative="true"}</span> </div> </div> {{endif}} </div> {{else}} <div class="ipsGrid ipsGrid_collapsePhone"> <div class='ipsGrid ipsGrid_collapsePhone'> <div class='ipsGrid_span2 ipsType_center'> <div class="gstatsistic"> <span class="ipsType_light"><span class="ipsType_left leftsts">{number="$stats['total_topics']"}</span> <span class="ipsType_right rightsts">{lang="total_topics"}<i class="fa fa-comment-o ists" aria-hidden="true"></i></span> </span> </div> </div> <div class='ipsGrid_span2 ipsType_center'> <div class="gstatsistic"> <span class="ipsType_light"><span class="ipsType_left leftsts">{number="$stats['total_posts']"}</span> <span class="ipsType_right rightsts">{lang="total_posts"}<i class="fa fa-comment-o ists" aria-hidden="true"></i></span> </span> </div> </div> <div class='ipsGrid_span2 ipsType_center'> <div class="gstatsistic"> <span class="ipsType_light"><span class="ipsType_left leftsts">{number="$stats['member_count']"}</span> <span class="ipsType_right rightsts">{lang="stats_total_members"}<i class="fa fa-comment-o ists" aria-hidden="true"></i></span> </span> </div> </div> <div class='ipsGrid_span2 ipsType_center'> <div class="gstatsistic"> <span class="ipsType_light"><span class='ipsType_left leftsts' data-ipsTooltip title='<time data-norelative="true">{$stats['most_online']['time']}</time>'>{number="$stats['most_online']['count']"}</span> <span class="ipsType_right rightsts">{lang="stats_most_online"}<i class="fa fa-comment-o ists" aria-hidden="true"></i></span> </span> </div> </div> <div class='ipsGrid_span4 ipsType_center'> <div class="gstatsistic"> <span class="ipsType_light"><span class='ipsType_left leftsts' data-ipsTooltip title='{lang="members_joined"} {datetime="$stats['last_registered']->joined" norelative="true"}'>{$stats['last_registered']->link()|raw}</span> <span class="ipsType_right rightsts">{lang="stats_newest_member"}<i class="fa fa-comment-o ists" aria-hidden="true"></i></span> </span> </div> </div> </div> </div> {{endif}} </div> </div> در فابل costum.css کدهای زیر رو قرار بدید: .cybergstat { margin-top: 0px; } .gstatsistic { margin: 3px; padding: 0px; display: block; height: 40px; line-height: 40px; background: #fefefe; border: 1px solid #eae5e4; } .gstatsistic:hover { color: #e6e8ea; float: center; } .gstatsistic:hover .leftsts { background: #2f35537d; color: #fbfbfb; font-weight: bold; transition: all 0.4s ease; } .gstatsistic:hover .rightsts { color: #2e3135; } .rightsts { color: #2e3135; float: center; position: relative; } .rightsts .ists { display: none; } .leftsts { color: #2e3135; float: left; padding: 0 12px; height: 38px; position: relative; background: #f2f3f4; transition: all 0.4s ease; } امیدوارم خوشتون بیاد
  37. A امتیاز
    در این آموزش " افزودن آیکون های اختصاصی به قسمت اعلامیه ها و ایده گرفته از یکی از سایت های IPS توسط خودم ! " را برای شما آموزش خواهم داد. ابتدا به مسیر : ادمین پنل > شخصی سازی > پوسته ها > کلیک بر روی آیکون </> یا همان ویرایش Css , Html - سپس در فیلد جستجو عبارت notificationsAjax را وارد کنید و قالب مربوطه را پیدا و کلیک کنید در محتویات صفحه با دقت بسیار موارد زیر را انجام دهید. این کد ها را پیدا {template="userPhoto" app="core" group="global" params="$notification['data']['author'], 'mini'"} و بعد از کد بالا این کد زیر را قرار دهید <span class="chrisNotificationsIcon" data-chrisNotif='{$notification['notification']->notification_key}'></span> و در مرحله آخر کد زیر را در custom.css در تب CSS وارد کرده و ذخیره کنید. .chrisNotificationsIcon::before{font-family:'FontAwesome';position:absolute;top:49px;right:37px;z-index:50;border-radius:100%;font-weight:700}[data-chrisNotif*="new_likes"]::before,[data-chrisNotif*="new_react"]::before,[data-chrisNotif*="new_rep"]::before{content:"\f164";background:#3B5998;color:#fff;padding:4px 7px}[data-chrisNotif*="quote"]::before{content:"\f10d";background:#B26ACC;color:#fff;padding:4px 6px}[data-chrisNotif*="mention"]::before{content:"\f4ff";background:#BE2D28;color:#fff;padding:5px 6px}[data-chrisNotif*="unapproved_content"]::before,[data-chrisNotif*="unapproved_club"]::before{content:"\f252";background:#b3b700;color:#fff;padding:4px 8px}[data-chrisNotif*="stream_online"]::before{content:"\f26c";background:#4559e4;color:#fff;padding:5px 6px}[data-chrisNotif*="course_join"]::before,[data-chrisNotif*="new_course_lesson"]::before,[data-chrisNotif*="new_work_lesson"]::before{content:"\f5da";background:#2b7935;color:#fff;padding:4px 7px}[data-chrisNotif*="new_place_version"]::before{content:"\f3c5";background:#5f7ed4;color:#fff;padding:4px 8px}[data-chrisNotif*="price_proposal"]::before,[data-chrisNotif*="offer_price_proposal_reject"]::before,[data-chrisNotif*="offer_price_proposal_app_nex"]::before,[data-chrisNotif*="offer_price_proposal_approve"]::before,[data-chrisNotif*="offer_question"]::before,[data-chrisNotif*="offer_question_answ"]::before,[data-chrisNotif*="end_offer_mail"]::before,[data-chrisNotif*="end_offer_bid_mail"]::before,[data-chrisNotif*="offer_bid_mail"]::before,[data-chrisNotif*="bid_bided_content"]::before,[data-chrisNotif*="offer_bid_auction_added"]::before,[data-chrisNotif*="remind_rate"]::before,[data-chrisNotif*="offer_seller"]::before,[data-chrisNotif*="offer_purchased_buyer"]::before,[data-chrisNotif*="offer_purchased_buy_nex"]::before,[data-chrisNotif*="offer_purchased"]::before,[data-chrisNotif*="new_dispute"]::before,[data-chrisNotif*="dispute_new_comment"]::before,[data-chrisNotif*="dispute_resolve"]::before{content:"\f291";background:#9c3e3e;color:#fff;padding:4px 6px}[data-chrisNotif*="followed_company"]::before,[data-chrisNotif*="new_checkin"]::before,[data-chrisNotif*="company_favorite"]::before,[data-chrisNotif*="company_opinion"]::before{content:"\f1ad";background:#3e899a;color:#fff;padding:4px 8px}[data-chrisNotif*="game_finished"]::before{content:"\f128";background:#573fe0;color:#fff;padding:3px 8px}[data-chrisNotif*="automatic_moderation"]::before,[data-chrisNotif*="report_center"]::before,[data-chrisNotif*="warning_mods"]::before,[data-chrisNotif*="warning"]::before{content:"\f071";background:#de0000;color:#fff;padding:4px 6px}[data-chrisNotif*="medal"]::before,[data-chrisNotif*="trophy"]::before{content:"\f091";background:#009a2a;color:#fff;padding:4px 7px}[data-chrisNotif*="club_invitation"]::before,[data-chrisNotif*="club_invitation_by"]::before,[data-chrisNotif*="club_invitation_generic"]::before,[data-chrisNotif*="club_join"]::before,[data-chrisNotif*="club_request"]::before,[data-chrisNotif*="club_response_accepted"]::before,[data-chrisNotif*="club_response_declined"]::before{content:"\f0c0";background:#009fad;color:#fff;padding:4px 6px}[data-chrisNotif*="event_reminder"]::before{content:"\f073";background:#b100c5;color:#fff;padding:4px 7px}[data-chrisNotif*="member_follow"]::before{content:"\f1ae";background:#b53f00;color:#fff;padding:4px 8px}[data-chrisNotif*="new_comment"]::before,[data-chrisNotif*="new_content"]::before,[data-chrisNotif*="new_content_bulk"]::before{content:"\f4ad";background:#00a5cc;color:#fff;padding:4px 7px}[data-chrisNotif*="embed"]::before{content:"\f0c1";background:#704fef;color:#fff;padding:4px 7px}[data-chrisNotif*="new_note"]::before{content:"\f044";background:#ff6000;color:#fff;padding:4px 6px}[data-chrisNotif*="private_message"]::before,[data-chrisNotif*="private_message_added"]::before{content:"\f658";background:#007ae6;color:#fff;padding:4px 7px}[data-chrisNotif*="review"]::before{content:"\f5da";background:#dc0498;color:#fff;padding:4px 6px}[data-chrisNotif*="status"]::before,[data-chrisNotif*="profile_comment"]::before,[data-chrisNotif*="profile_reply"]::before{content:"\f0eb";background:#B26ACC;color:#fff;padding:3px 8px}[data-chrisNotif*="new_file_version"]::before{content:"\f019";background:#2d89d8;color:#fff;padding:4px 7px} تمام !
  38. A امتیاز
    سلام، در این مطلب می خوام آموزش بدم که چطوری می تونید عنوان انجمنتون رو مثل گیف زیر متحرک کنید: اول به این مسیر برید: پیشخوان > شخصی سازی> پوسته ها > ویرایش(تم مورد نظرتون) > globalTemplate در بین تگ Head این کد جاوا اسکریپت رو وارد کنید: <script type="text/JavaScript" language="javascript"> msg = "{expression="output.getTitle( $title )"}"; + msg;pos = 0; msg = msg+' - '; function scrollMSG() { document.title = msg.substring(pos, msg.length) + msg.substring(0, pos); pos++; if (pos > msg.length) pos = 0 window.setTimeout("scrollMSG()",200); } scrollMSG(); </script> برای تنظیم سرعت انیمیشن مقدار scrollMSG را تغییر دهید. همچنین مقدار msg را به هیچ وجه تغییر ندهید!!! امیدوارم لذت برده باشید
  39. A امتیاز
    اگر در منوی مدیریت ایکن ها وجود ندارد به روش زیر عمل کنید کدهای زیر را داخل فایل custom.css  قرار دهید. #elUserLink_menu a:before, #elCreateNew_menu a:before { content:"\f02b"; font-family:"FontAwesome"; font-size:14px; font-weight:normal; display:inline-block; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; -webkit-transform:translate(0,0); -moz-transform:translate(0,0); -ms-transform:translate(0,0); -o-transform:translate(0,0); transform:translate(0,0); margin-bottom:-2px; line-height:1; } #elUserLink_menu a:before, #elCreateNew_menu a:before { display:inline-block; width:22px; opacity:0.7; } #elUserLink_menu li[data-menuItem='admincp'] i { display:none; } #elUserLink_menu a:hover:before, #elCreateNew_menu a:hover:before { opacity:1; } #elUserLink_menu li[data-menuItem='profile'] a:before { content:"\f007" } #elUserLink_menu li[data-menuItem='messages'] a:before { content:"\f01c" } #elUserLink_menu li[data-menuItem='manageFollowed'] a:before { content:"\f1d8" } #elUserLink_menu li[data-menuItem='attachments'] a:before { content:"\f0c6" } #elUserLink_menu li[data-menuItem='settings'] a:before { content:"\f013" } #elUserLink_menu li[data-menuItem='ignoredUsers'] a:before { content:"\f05e" } #elUserLink_menu li[data-menuItem='modcp'] a:before { content:"\f046" } #elUserLink_menu li[data-menuItem='admincp'] a:before { content:"\f023" } #elUserLink_menu li[data-menuItem='signout'] a:before { content:"\f08b" } #elCreateNew_menu a:before { content:"\f0fe" } #elCreateNew_menu a[href*="announcements"]:before { content:"\f0a1" } #elCreateNew_menu a[href*="module=status"]:before { content:"\f086" } #elCreateNew_menu a[href*="/files/"]:before { content:"\f019" } #elCreateNew_menu a[href*="/gallery/"]:before { content:"\f03e" } #elCreateNew_menu a[href*="/blogs/"]:before { content:"\f02d" } #elCreateNew_menu a[href*="/calendar/"]:before { content:"\f073" } #elCreateNew_menu a[href*="/articles"]:before { content:"\f0f6" } #elCreateNew_menu a[href*="/forum/"]:before { content:"\f086" }
  40. A امتیاز
    سلام کد زیر رو در costum.css قرار بدید html[dir="rtl"] .cbItems { position: absolute !important; float: left !important; top: 5px !important; left: 5px !important; right: unset !important; }
  41. A امتیاز
    با عرض سلام به همه عزیزان همانطور که مستحضر هستید ، این سایت پشتیبانی تا به الآن جایی بوده که کاربران و انجمن داران IPS سوالاتشون رو می پرسیدن و راهنمایی می گرفتند. گرچه هم اکنون هم این روند پاسخگویی وجود دارد. اما اشخاص پاسخگو کننده و مدیر محترم نیز علاه بر پاسخگویی درگیرایی دیگری نیز شاید در بیرون از فضای اینترنت داشته باشند و گاهی نشود به موقع جوابگو باشیم. یا حتی نیاز باشد شما(تقاضاکنندگان) یک کار را سریع انجام دهید و وقت برایتان اهمیت دارد لذا چاره چیست ؟! برای این مورد پیشنهاد می کنم که یک سری از کاربران واجد شرایط که بعد از این همه مدت کارکردن با سیستم آی پی اس توانایی های لازم را پیدا کرده اند. کاربران مستعد رای این امر هم شناخته شده اند و نیازی به معرفی خاصی ندارند. و در قبال درخواست متقاضیان ، مسؤلانی که این موارد درخواستی رو انجام میدن نیز متعهد به انجام صحیح کارها می باشند و برای همچین درخواست هایی قسمتی از وقت روزانه خود را به این امر اختصاص بدهند و جوری نباشد که یکی بیاد درخواست بدهد ولی از مسؤلان کسی در دسترس نباشد.(گرچه گاهاً مشکلات بر ما غلبه میکنند و ناچاراً دستمان بسته است) و موارد درخواستی میتواند همه ی موارد زیر باشد : 1. نصب و بروز رسانی انجمن ساز آی پی اس 2.نصب تم و انجام شخصی سازی محدود بر روی آن مثل لوگو و ... (*توجه : تم با تغییرات زیاد عملا به معنای سفارش تم جدید می باشد !! و در این حالت باید با طراح تم برای ساخت تم شخصی هماهنگی کنید) 3. نصب افزونه ها و انجام تنظیمات آن ها و همچنین بروزرسانی افزونه ها (منظور از افزونه Plugins و Applications می باشد) 4.انجام تنظیمات تالار ها که شامل ساخت تالار ها برای انجمن (تالار عمومی و شخصی و بقیه تنظیات) 5.انجام تنظیمات برنامه ی رسمی صفحات و تنظیمات مربوطه 6.انجام تنظیمات برنامه ی رسمی فایل ها 7.انجام تنظیمات برنامه ی رسمی فروشگاه 8.انجام تنظیمات بقیه برنامه ی رسمی 9. نصب گواهی ssl برای انجمن 10.فعال کردن CDN برای انجمن 11. نصب شمسی ساز 12.نصب فارسی ساز 13. فارسی ساز کردن افزونه یا برنامه ی درخواستی شما که به زبان انگلیسی می باشد و یه گزینه ی مهمتر 14. اشتراک در دوره ی پشتیبانی از انجمن به صورت ماهانه یا هر 3 ماه یا بیشتر (یعنی برای اشتراک جنابعالی در دوره ی پشتیانی باید هزینه ای پرداخت کنید اما این تعهد از مسؤلان رو خواهید داشت که در دوره ی پشتیبانی جوابگوی آنی شما باشند و برای اشتراک پشتیبانی میتوان اشتراک پشتیبانی ویژه تعیین کرد که با شامل تخفیف در موارد قبلی باشد !! ) 15. رزرو ادمین متخصص با IPS - هزینه گرانتری از اشتراک ویژه دارد چون در این حالت باید شخصاً با مسئول مورد نظرتان مکاتبه کنید که اون شخص به عنوان یارکمکی و در دست داشتن دسترسی مدیرکل ، نیازهای انجمن را انجام دهد. (یعنی مسئول جزئی از انجمن خودتون شده !! جالبه مگه نه ؟ این یکی رو دم دستتون داشته باشید و تمامی کارها رو براتون انجام بده !!) و بقیه مواردی که به طور مستقیم به انجمن ساز IPS مربوط می شوند. سپاس @وحید نامنی
  42. A امتیاز
    عرض سلام و احترام خدمت مدیران و کاربران عزیز. مدتی قبل تر کاربری به نام @Unienc درخواست این مورد رو داده بودند که خارج از بحث پشتیبانی و... میباشد .از اونجایی که مربوط به کارهای طراحی قالب یا پوسته هست گفتم این مورد رو هم با دوستان به اشتراک بگذارم. خب برای شروع اولین کاری که باید بکنید اینه که فایل chris.sidebar.js پیوست شده را در روت انجمن تون در فولدر uploads آپلود کنید. سپس وارد ادمین پنل IPS شده و مسیر > شخصی سازی > پوسته ها و روی نماد </> پوسته موردنظرتون کلیک کنید. کد زیر را دقیقا قبل از تگ </body> که در انتهای قالب globalTemplate هست قرار دهید. دقت داشته باشید که قسمت YOUR SITE.IR آدرس مسیر انجمن تون رو قرار بدید. <script src="http://YOUR SITE.IR/uploads/chris.sidebar.js"></script> <script type="text/javascript">jQuery(document).ready(function(){jQuery('.chrisSidebar').theiaStickySidebar({additionalMarginTop:10});});</script> بعد از انجام و ذخیره موارد بالا قالب sidebar را جستجو کرده و باز کنید. برای کسانی که از IPS 4.4 استفاده میکنند کل محتویات صفحه را با کد زیر جایگزین کنند. {{$adsForceSidebar = ( \IPS\Settings::i()->ads_force_sidebar AND \IPS\core\Advertisement::loadByLocation( 'ad_sidebar' ) );}} {{if (isset( \IPS\Output::i()->sidebar['enabled'] ) and \IPS\Output::i()->sidebar['enabled'] ) && ( ( isset( \IPS\Output::i()->sidebar['contextual'] ) && trim( \IPS\Output::i()->sidebar['contextual'] ) !== '' ) || ( isset( \IPS\Output::i()->sidebar['widgets']['sidebar'] ) && \count( \IPS\Output::i()->sidebar['widgets']['sidebar'] ) ) || ( \IPS\Dispatcher::i()->application instanceof \IPS\Application AND \IPS\Dispatcher::i()->application->canManageWidgets() ) || $adsForceSidebar )}} <div id='ipsLayout_sidebar' class='chrisSidebar ipsLayout_sidebar{$position} {{if !( isset( \IPS\Output::i()->sidebar['contextual'] ) && trim( \IPS\Output::i()->sidebar['contextual'] ) !== '' ) && ( !isset( \IPS\Output::i()->sidebar['widgets']['sidebar'] ) || !\count( \IPS\Output::i()->sidebar['widgets']['sidebar'] ) ) && \IPS\Dispatcher::i()->application->canManageWidgets() && !$adsForceSidebar}}ipsLayout_sidebarUnused{{endif}}' data-controller='core.front.widgets.sidebar'> <div class='theiaStickySidebar'> {{if $announcements = \IPS\core\Announcements\Announcement::loadAllByLocation( 'sidebar' ) AND ( ( isset( \IPS\Output::i()->sidebar['contextual'] ) && trim( \IPS\Output::i()->sidebar['contextual'] ) !== '' ) OR ( isset( \IPS\Output::i()->sidebar['widgets']['sidebar'] ) && \count( \IPS\Output::i()->sidebar['widgets']['sidebar'] ) ) )}} {template="announcementSidebar" group="global" app="core" params="$announcements"} {{endif}} {{if isset( \IPS\Output::i()->sidebar['contextual'] ) && trim( \IPS\Output::i()->sidebar['contextual'] ) !== ''}} <aside id="elContextualTools" class='ipsClearfix' {{if isset( \IPS\Output::i()->sidebar['sticky'] )}}data-ipsSticky{{endif}}> {expression="\IPS\Output::i()->sidebar['contextual']" raw="true"} </aside> <hr class='ipsHr ipsSpacer_both'> {{endif}} {{if $adsForceSidebar OR ( \IPS\core\Advertisement::loadByLocation( 'ad_sidebar' ) AND ( ( isset( \IPS\Output::i()->sidebar['contextual'] ) && trim( \IPS\Output::i()->sidebar['contextual'] ) !== '' ) OR ( isset( \IPS\Output::i()->sidebar['widgets']['sidebar'] ) && \count( \IPS\Output::i()->sidebar['widgets']['sidebar'] ) ) ) )}} <div data-role='sidebarAd'> {advertisement="ad_sidebar"} </div> <br><br> {{endif}} {template="widgetContainer" group="global" app="core" params="'sidebar', 'vertical'"} </div> </div> {{endif}} برای کسانی که از IPS 4.5 به بالا استفاده میکنند کل کد های صفحه را با کد زیر جایگزین کنند. {{$adsForceSidebar = ( \IPS\Settings::i()->ads_force_sidebar AND \IPS\core\Advertisement::loadByLocation( 'ad_sidebar' ) );}} {{if (isset( \IPS\Output::i()->sidebar['enabled'] ) and \IPS\Output::i()->sidebar['enabled'] ) && ( ( isset( \IPS\Output::i()->sidebar['contextual'] ) && trim( \IPS\Output::i()->sidebar['contextual'] ) !== '' ) || ( isset( \IPS\Output::i()->sidebar['widgets']['sidebar'] ) && \count( \IPS\Output::i()->sidebar['widgets']['sidebar'] ) ) || ( \IPS\Dispatcher::i()->application instanceof \IPS\Application AND \IPS\Dispatcher::i()->application->canManageWidgets() ) || $adsForceSidebar )}} <div id='ipsLayout_sidebar' class='chrisSidebar ipsLayout_sidebar{$position} {{if !( isset( \IPS\Output::i()->sidebar['contextual'] ) && trim( \IPS\Output::i()->sidebar['contextual'] ) !== '' ) && ( !isset( \IPS\Output::i()->sidebar['widgets']['sidebar'] ) || !\count( \IPS\Output::i()->sidebar['widgets']['sidebar'] ) ) && \IPS\Dispatcher::i()->application->canManageWidgets() && !$adsForceSidebar}}ipsLayout_sidebarUnused{{endif}}' data-controller='core.front.widgets.sidebar'> <div class='theiaStickySidebar'> {{if $announcements = \IPS\core\Announcements\Announcement::loadAllByLocation( 'sidebar' ) AND ( ( isset( \IPS\Output::i()->sidebar['contextual'] ) && trim( \IPS\Output::i()->sidebar['contextual'] ) !== '' ) OR ( isset( \IPS\Output::i()->sidebar['widgets']['sidebar'] ) && \count( \IPS\Output::i()->sidebar['widgets']['sidebar'] ) ) )}} {template="announcementSidebar" group="global" app="core" params="$announcements"} {{endif}} {{if isset( \IPS\Output::i()->sidebar['contextual'] ) && trim( \IPS\Output::i()->sidebar['contextual'] ) !== ''}} <aside id="elContextualTools" class='ipsClearfix' {{if isset( \IPS\Output::i()->sidebar['sticky'] )}}data-ipsSticky{{endif}}> {expression="\IPS\Output::i()->sidebar['contextual']" raw="true"} </aside> <hr class='ipsHr ipsSpacer_both ipsSpacer_double'> {{endif}} {{if $adsForceSidebar OR ( \IPS\core\Advertisement::loadByLocation( 'ad_sidebar' ) AND ( ( isset( \IPS\Output::i()->sidebar['contextual'] ) && trim( \IPS\Output::i()->sidebar['contextual'] ) !== '' ) OR ( isset( \IPS\Output::i()->sidebar['widgets']['sidebar'] ) && \count( \IPS\Output::i()->sidebar['widgets']['sidebar'] ) ) ) )}} <div data-role='sidebarAd'> {advertisement="ad_sidebar"} </div> <br><br> {{endif}} {template="widgetContainer" group="global" app="core" params="'sidebar', 'vertical'"} </div> </div> {{endif}} سپس ذخیره کرده و نتیجه را مشاهده کنید. این آموزش بر روی پوسته دیفالت و بعضی از پوسته ها تست شده و به خوبی کارمیکند. پس به هیچ وجه تضمینی بر این نیست که روی پوسته های دیگری که دستکاری زیاده شده باشد بدون مشکل کار کند. با تشکر CHRIS-7
  43. A امتیاز

    نگارش 4.4.10

    50 دریافت

    اگر می خواهید از IPS استفاده نمایید و مطمئن شوید که Host شما نیازمندی های اولیه برای استفاده از سیستم پیشرفته IPS را دارد می توانید از این اسکریپت استفاده نمایید. طریقه استفاده : فایل PHP موجود را در روت انجمن خود آپلود کرده و مسیر آن را در مرورگر اجرا کنید تا ملزومات موردنیاز را مشاهده نمایید.

    رایگان

  44. A امتیاز
    اولا ) از قسمت ( سیستم > پیکربندی عمومی > نام سایت ) کاملا مطمئن باشید که همه چی درسته و اشتباهی رخ نداده. و همچنین نام رو باید بدون رشته کد وارد کنید. پیشنهاد میشه اسم رو به یک اسم فرضی تغییر بدید ذخیره کنید و بعد دوباره اسم انجمنتون رو بذارید ذخیره کنید. دوما ) متا تگ ها رو بصورت دستی و صحیح تنظیم کنید. و در مرحله آخر که دیگه هیچ راهی نبود، در ویرایشگر قالب از کدهای قسمت globalTemplate پیشنهاد میکنم یه بک آپ بگیرید و در همون سطرای اول داخل <head> مابین <title> </title> بجای محتوای نوشته شده نام انتخابی انجمنتون رو به فارسی وارد کرده و ذخیره کنید. <title>{expression="output.getTitle( $title )"}</title>
  45. A امتیاز
    سلام. طبق این آموزش پیش برید. ابتدا وارد مسیر زیر بشید: پوسته ها > مدیریت منابع > افزودن منبع حالا تو صفحه تنطیمات خاصی نیاز نیست انجمام بدین فقط موقعیت رو global انتخاب کنین و از پایین فونت رو آپلود کنین حالا به قسمت زیر مراجعه کنین: پوسته ویرایش css و در تب costum.css کدهای زیر رو قرار بدین @font-face { font-family: IRANSansWeb_UltraLight; src: url('آدرس فونت آپلود شده در مدیریت منابع') format('woff2'); font-style: normal; font-weight: normal; } body, h1, h2, h3, h4, h5, p, input, .ipsType_pageTitle, .ipsType_sectionTitle, .ipsType_secondaryTitle, .ipsType_sectionHead, .ipsType_minorHeading, .ipsApp label:not(.ipsField_unlimited), .ipsApp input, .ipsApp button, .ipsApp select, .ipsApp textarea, .ipsWidget.ipsWidget_vertical .ipsWidget_title, .ipsWidget.ipsWidget_horizontal .ipsWidget_title { font-family:Roboto , IRANSansWeb_UltraLight; }
  46. A امتیاز
    آموزش اضافه کردن آیکون به زیر مجموعه انجمن ها به همراه تغییر رنگ برای پست های جدید خوانده نشده به صورت مجزا برای هر کاربر ابتدا به مسیر : ادمین پنل > شخصی سازی > پوسته ها > کلیک بر روی آیکون </> یا همان ویرایش Css , Html - سپس در تب CSS وارد custom.css شوید و کد زیر را در آخر آن اضافه کرده و ذخیره نمایید. .ipsDataItem_subList.ipsList_inline li:before{content:'\f075';float:right;font-family:'FontAwesome';font-size:13px;margin-left:5px}.ipsDataItem_subList.ipsList_inline li.ipsDataItem_unread:before{content:'\f27a';float:right;font-size:13px;margin-left:2px;color:#d00000}.ipsItemStatus.ipsItemStatus_tiny{display:none!important}.ipsItemStatus.ipsItemStatus_large{color:#d00000}.ipsItemStatus.ipsItemStatus_read{color:#636161!important}
  47. A امتیاز

    نگارش 1.0.0

    42 دریافت

    امکان افزودن دومین ساید بار دوم

    رایگان

  48. A امتیاز

    نگارش 2.3.1

    301 دریافت

    توسط این مد می توانید به تمامی کاربران یا هر گروه کاربری مد نظر خود به صورت گروهی با امکانات بسیار بالای این پلاگین پیغام خصوصی ارسال کنید. IPS 4.4 About This File Mass PM allows admins to send bulk PM to all members in their board. Use powerful filters to target specific groups and users, announce important changes by broadcasting to everyone, and encourage repeat visits by re-sending saved PMs. Keywords: bulk PM, batch PM, bulk messages, batch messages, mass PM, mass personal messages Features Overview of all messages Choose # of PM to send per cycle Ability to send / re-send messages Ability to edit messages Ability to delete messages Ability to choose sender Ability to send notification Ability to auto-delete message after X days Ability to enable / disable reply Filters Filter by Primary Group Filter by Secondary Group Filter by more than / less than X posts Filter by more than / less than X join time Filter by more than / less than X visit time Filter by custom profile fields

    رایگان

  49. A امتیاز

    نگارش 1.2.0

    87 دریافت

    پوسته IPSFarsi v3 - Ravixo Xo در صورت وجود مشکل از لینک روبروی خریداری کنید > کلیک کنید - پشتیبانی رایگان - آپدیت رایگان برای نسخه ۴.۴ - پشتیبانی فقط از طریق این لینک

    50,000 تومان

  50. A امتیاز

    نگارش 4.1.19.4

    525 دریافت

    سلام توسط این مد میتونید از درگاه زرین پال در پرداخت های نکسوزتون استفاده کنید . تشکر از آقای نامنی و کوهپایه بابت زحماتی که کشیدند و مزاحمت هایی که برای طراحی این ایجاد کردم . پس از آپلود مد بر روی روت اصلی و اکسترکت به مسیر زیر بروید : commerce -> payments -> settings -> payment methods سپس بر روی create new کلیک کرده و گزینه getway__zaripal را تیک بزنید حالا یک فیلد و یک گزینه انتخابی yes/no موجود برای انتخاب و پر کردن هست فیلد که نامش zarinpal_client_id هست همون مرچنت زرین پال هست . گزینه انتخابی که نامش zarinpal_vault هست برای انتخاب حالت درگاه یعنی به صورت عادی یا زرین گیت هست در صورتی که این گزینه روی yes باشه درگاه به صورت زرین گیت ( اختصاصی ) پرداخت انجام میده و در صورتی که روی no باشه به صورت عادی پرداخت انجام میشه . برای اتصال به درگاه مراحل زیر را طی کنید تو هاست این مسیر applications\nexus\sources\Gateway فایل Gateway.php این قسمتو پیدا کنید : 'Stripe' => 'IPS\nexus\Gateway\Stripe', 'Braintree' => 'IPS\nexus\Gateway\Braintree', 'PayPal' => 'IPS\nexus\Gateway\PayPal', 'AuthorizeNet' => 'IPS\nexus\Gateway\AuthorizeNet', 'TwoCheckout' => 'IPS\nexus\Gateway\TwoCheckout', 'Manual' => 'IPS\nexus\Gateway\Manual', همون اوایل سورس پیدا میکنید این تکه کد رو بعدش اضاف کنید : 'Zarinpal' => 'IPS\nexus\Gateway\Zarinpal', این تغییر فعلا فقط برای نسخه 4.4.1 الزامیه نسخه های پایین تر نیاز نیست موفق باشید

    رایگان

این صفحه از تخته امتیازات بر اساس منطقه زمانی تهران/GMT+03:30 می باشد
×
×
  • اضافه کردن...

اطلاعات مهم

ما مجبور شدیم تا از کوکی ها و فناوری های مشابه برای اجرای این وب سایت استفاده کنیم تا به ما در درک نحوه استفاده از آن کمک کند. سیاست حریم خصوصی.