Changeset 750 for trunk


Ignore:
Timestamp:
04/05/11 10:02:44 (14 months ago)
Author:
r2
Message:

billing support

Location:
trunk
Files:
9 added
55 edited

Legend:

Unmodified
Added
Removed
  • trunk/admin/applets/cats.php

    r710 r750  
    4242    $inDB = cmsDatabase::getInstance(); 
    4343 
    44         $GLOBALS['cp_page_title'] = 'Ðàçäåëû ñàéòà'; 
    45         cpAddPathway('Ðàçäåëû ñàéòà', 'index.php?view=tree'); 
     44    $GLOBALS['cp_page_title'] = 'Ðàçäåëû ñàéòà'; 
     45    cpAddPathway('Ðàçäåëû ñàéòà', 'index.php?view=tree'); 
    4646 
    4747    $inCore->loadModel('content'); 
    4848    $model = new cms_model_content(); 
    4949 
    50         if (isset($_REQUEST['do'])) { $do = $_REQUEST['do']; } else { $do = 'list'; } 
    51         if (isset($_REQUEST['id'])) { $id = (int)$_REQUEST['id']; } else { $id = -1; } 
    52         if (isset($_REQUEST['co'])) { $co = $_REQUEST['co']; } else { $co = -1; } //current ordering, while resort 
    53                  
     50    if (isset($_REQUEST['do'])) { $do = $_REQUEST['do']; } else { $do = 'list'; } 
     51    if (isset($_REQUEST['id'])) { $id = (int)$_REQUEST['id']; } else { $id = -1; } 
     52    if (isset($_REQUEST['co'])) { $co = $_REQUEST['co']; } else { $co = -1; } //current ordering, while resort 
     53 
     54    define('IS_BILLING', $inCore->isComponentInstalled('billing')); 
     55    if (IS_BILLING) { $inCore->loadClass('billing'); } 
     56     
    5457        if ($do == 'list'){ 
    5558                $toolmenu = array(); 
     
    187190                        $category['url']                        = $inCore->request('url', 'str'); 
    188191                        $category['parent_id']          = $inCore->request('parent_id', 'int'); 
    189                         $category['description']        = $inCore->request('description', 'html'); 
    190             $category['description']    = $inDB->escape_string($category['description']); 
     192                        $category['description']        = $inCore->request('description', 'html'); 
     193            $category['description']      = $inDB->escape_string($category['description']); 
    191194                        $category['published']          = $inCore->request('published', 'int', 0); 
    192195                        $category['showdate']           = $inCore->request('showdate', 'int', 0); 
     
    201204                        $category['is_public']          = $inCore->request('is_public', 'int', 0); 
    202205                        $category['tpl']                        = $inCore->request('tpl', 'str', 'com_content_view.tpl'); 
    203                          
     206 
     207            $category['cost']           = $inCore->request('cost', 'str', ''); 
     208            if (!is_numeric($category['cost'])) { $category['cost'] = ''; } 
     209 
    204210                        $album = array(); 
    205211                        $album['id']       = $inCore->request('album_id', 'int', 0); 
     
    221227            $seolink    = $model->getCategorySeoLink($category); 
    222228 
    223                         $sql = "UPDATE cms_category  
    224                                         SET parent_id={$category['parent_id']}, 
    225                                                 title='{$category['title']}', 
    226                                                 description='{$category['description']}', 
    227                                                 published={$category['published']}, 
    228                                                 showdate={$category['showdate']}, 
    229                                                 showcomm={$category['showcomm']}, 
    230                                                 orderby='{$category['orderby']}', 
    231                                                 orderto='{$category['orderto']}', 
    232                                                 modgrp_id='{$category['modgrp_id']}', 
    233                                                 maxcols='{$category['maxcols']}', 
    234                                                 showtags={$category['showtags']}, 
    235                                                 showrss={$category['showrss']}, 
    236                                                 showdesc={$category['showdesc']}, 
    237                                                 is_public={$category['is_public']}, 
    238                                                 photoalbum='$photoalbum', 
     229            $sql = "UPDATE cms_category 
     230                    SET parent_id={$category['parent_id']}, 
     231                        title='{$category['title']}', 
     232                        description='{$category['description']}', 
     233                        published={$category['published']}, 
     234                        showdate={$category['showdate']}, 
     235                        showcomm={$category['showcomm']}, 
     236                        orderby='{$category['orderby']}', 
     237                        orderto='{$category['orderto']}', 
     238                        modgrp_id='{$category['modgrp_id']}', 
     239                        maxcols='{$category['maxcols']}', 
     240                        showtags={$category['showtags']}, 
     241                        showrss={$category['showrss']}, 
     242                        showdesc={$category['showdesc']}, 
     243                        is_public={$category['is_public']}, 
     244                        photoalbum='$photoalbum', 
     245                        cost='{$category['cost']}', 
    239246                        seolink='$seolink', 
    240247                        url='{$category['url']}', 
    241248                        tpl='{$category['tpl']}' 
    242                                         WHERE id = {$category['id']} 
    243                                         LIMIT 1"; 
    244                         dbQuery($sql) ;  
    245                         reorder(); 
     249                     WHERE id = {$category['id']} 
     250                     LIMIT 1"; 
     251            dbQuery($sql) ; 
     252            reorder(); 
    246253             
    247254            //îáíîâëÿåì ÓÐËû âñåõ âëîæåííûõ ðàçäåëîâ 
     
    269276                         
    270277                        if (!isset($_SESSION['editlist']) || @sizeof($_SESSION['editlist'])==0){ 
    271                                 header('location:?view=tree'); 
     278                                header('location:?view=tree&cat_id='.$category['id']); 
    272279                        } else { 
    273280                                header('location:?view=cats&do=edit');           
     
    278285        if ($do == 'submit'){ 
    279286 
    280         $category['title']                      = $inCore->request('title', 'str'); 
    281         $category['url']                        = $inCore->request('url', 'str'); 
    282         $category['parent_id']          = $inCore->request('parent_id', 'int'); 
    283         $category['description']        = $inCore->request('description', 'html'); 
     287        $category['title']          = $inCore->request('title', 'str'); 
     288        $category['url']            = $inCore->request('url', 'str'); 
     289        $category['parent_id']      = $inCore->request('parent_id', 'int'); 
     290        $category['description']    = $inCore->request('description', 'html'); 
    284291        $category['description']    = $inDB->escape_string($category['description']); 
    285         $category['published']          = $inCore->request('published', 'int', 0); 
    286         $category['showdate']           = $inCore->request('showdate', 'int', 0); 
    287         $category['showcomm']           = $inCore->request('showcomm', 'int', 0); 
    288         $category['orderby']            = $inCore->request('orderby', 'str'); 
    289         $category['orderto']            = $inCore->request('orderto', 'str'); 
    290         $category['modgrp_id']          = $inCore->request('modgrp_id', 'int', 0); 
    291         $category['maxcols']            = $inCore->request('maxcols', 'int', 0); 
    292         $category['showtags']           = $inCore->request('showtags', 'int', 0); 
    293         $category['showrss']            = $inCore->request('showrss', 'int', 0); 
    294         $category['showdesc']           = $inCore->request('showdesc', 'int', 0); 
    295         $category['is_public']          = $inCore->request('is_public', 'int', 0); 
    296                 $category['tpl']                        = $inCore->request('tpl', 'str', 'com_content_view.tpl'); 
     292        $category['published']      = $inCore->request('published', 'int', 0); 
     293        $category['showdate']       = $inCore->request('showdate', 'int', 0); 
     294        $category['showcomm']       = $inCore->request('showcomm', 'int', 0); 
     295        $category['orderby']        = $inCore->request('orderby', 'str'); 
     296        $category['orderto']        = $inCore->request('orderto', 'str'); 
     297        $category['modgrp_id']      = $inCore->request('modgrp_id', 'int', 0); 
     298        $category['maxcols']        = $inCore->request('maxcols', 'int', 0); 
     299        $category['showtags']       = $inCore->request('showtags', 'int', 0); 
     300        $category['showrss']        = $inCore->request('showrss', 'int', 0); 
     301        $category['showdesc']       = $inCore->request('showdesc', 'int', 0); 
     302        $category['is_public']      = $inCore->request('is_public', 'int', 0);         
     303        $category['tpl']            = $inCore->request('tpl', 'str', 'com_content_view.tpl'); 
     304 
     305        $category['cost']           = $inCore->request('cost', 'str', 0); 
     306        if (!is_numeric($category['cost'])) { $category['cost'] = ''; } 
    297307 
    298308        $album = array(); 
     
    303313        $album['orderto']  = $inCore->request('album_orderto', 'str', ''); 
    304314        $album['maxcols']  = $inCore->request('album_maxcols', 'int', 0); 
    305         $album['max']      = $inCore->request('album_max', 'int', 0); 
     315        $album['max']     = $inCore->request('album_max', 'int', 0); 
    306316         
    307317        $photoalbum = serialize($album); 
    308318                 
    309                 $ns = $inCore->nestedSetsInit('cms_category'); 
    310                 $category['id'] = $ns->AddNode($category['parent_id']); 
     319        $ns = $inCore->nestedSetsInit('cms_category'); 
     320        $category['id'] = $ns->AddNode($category['parent_id']); 
    311321 
    312322        if (!$category['title']) { $category['title'] = 'Ðàçäåë #'.$category['id']; } 
     
    315325        $seolink    = $model->getCategorySeoLink($category); 
    316326                 
    317                 if ($category['id']){ 
     327        if ($category['id']){ 
    318328 
    319329                        $sql = "UPDATE cms_category 
     
    333343                                                is_public={$category['is_public']}, 
    334344                                                photoalbum='$photoalbum', 
     345                        cost='{$category['cost']}', 
    335346                        seolink='$seolink', 
    336347                        url='{$category['url']}', 
    337348                        tpl='{$category['tpl']}' 
    338                                         WHERE id = {$category['id']} 
    339                                         LIMIT 1"; 
    340  
    341                         dbQuery($sql) ; 
    342                 } 
     349                    WHERE id = {$category['id']} 
     350                    LIMIT 1"; 
     351 
     352                        dbQuery($sql); 
     353 
     354        } 
    343355         
    344                 reorder(); 
     356        reorder(); 
    345357 
    346358        $inmenu = $inCore->request('createmenu', 'str', ''); 
    347359 
    348                 if ($inmenu){ 
    349                         createMenuItem($inmenu, $category['id'], $category['title']); 
    350                 } 
    351          
    352                 header('location:?view=tree'); 
    353         }          
     360        if ($inmenu){ 
     361            createMenuItem($inmenu, $category['id'], $category['title']); 
     362        } 
     363         
     364        header('location:?view=tree'); 
     365 
     366    } 
    354367 
    355368   if ($do == 'add' || $do == 'edit'){ 
     
    549562                            </select> 
    550563                        </div> 
    551  
     564                        <?php if (IS_BILLING){ ?> 
     565                            <div style="margin-top:15px"> 
     566                                <strong>Ñòîèìîñòü äîáàâëåíèÿ ñòàòüè</strong><br/> 
     567                                <div style="color:gray">Åñëè íå óêàçàíà çäåñü, òî èñïîëüçóåòñÿ öåíà ïî-óìîë÷àíèþ, óêàçàííàÿ â íàñòðîéêàõ áèëëèíãà</div> 
     568                            </div> 
     569                            <div> 
     570                                <input type="text" name="cost" value="<?php echo $mod['cost']; ?>" style="width:50px"/> áàëëîâ 
     571                            </div> 
     572                        <?php } ?> 
    552573                        <div style="margin-top:20px"> 
    553574                            <strong>Ðåäàêòîðû ðàçäåëà</strong><br/> 
  • trunk/admin/components/board/backend.php

    r645 r750  
    1414    $inCore->loadModel('board'); 
    1515    $model = new cms_model_board(); 
     16 
     17    define('IS_BILLING', $inCore->isComponentInstalled('billing')); 
     18    if (IS_BILLING) { $inCore->loadClass('billing'); } 
    1619 
    1720        cpAddPathway('Äîñêà îáúÿâëåíèé', '?view=components&do=config&id='.$_REQUEST['id']); 
     
    3740                $cfg['comments']  = $inCore->request('comments', 'int'); 
    3841                $cfg['extend']    = $inCore->request('extend', 'int'); 
    39  
     42                $cfg['vip_enabled']    = $inCore->request('vip_enabled', 'int', 0); 
     43                $cfg['vip_prolong']    = $inCore->request('vip_prolong', 'int', 0); 
     44                $cfg['vip_max_days']   = $inCore->request('vip_max_days', 'int', 30); 
     45                $cfg['vip_day_cost']   = $inCore->request('vip_day_cost', 'str', 5); 
     46 
     47        $cfg['vip_day_cost'] = str_replace(',', '.', trim($cfg['vip_day_cost'])); 
     48         
    4049                $inCore->saveComponentConfig('board', $cfg); 
    4150                 
     
    231240                if (@$msg) { echo '<p class="success">'.$msg.'</p>'; } 
    232241                         
    233                 echo '<div style="padding:10px">'; 
    234  
    235                 echo '<table border="0" cellpadding="0" cellspacing="0"><tr>';           
    236                         echo '<td width="200" valign="top">'; 
    237                                 $cats_total = dbRowsCount('cms_board_cats', 'id>0'); 
    238                                 $cats_pub = dbRowsCount('cms_board_cats', 'published=1'); 
    239                                 echo '<div><strong><a href="index.php?view=components&do=config&id='.(int)$_REQUEST['id'].'&opt=list_cats">Ðóáðèê:</a></strong> '.$cats_total.'</div>'; 
    240                                 echo '<div>Ïóáëèêóåìûõ ðóáðèê: '.$cats_pub.'</div>';             
    241                         echo '</td>'; 
    242                         echo '<td width="200"  valign="top">'; 
    243                                 $items_total = dbRowsCount('cms_board_items', 'id>0'); 
    244                                 $items_pub = dbRowsCount('cms_board_items', 'published=1'); 
    245                                 $items_unpub = $items_total - $items_pub; 
    246                                 echo '<div><strong><a href="index.php?view=components&do=config&id='.(int)$_REQUEST['id'].'&opt=list_items">Îáúÿâëåíèé:</a></strong> '.$items_total.'</div>'; 
    247                                 echo '<div>Ïóáëèêóåìûõ îáúÿâëåíèé: '.$items_pub.'</div>';        
    248                         echo '</td>';    
    249                 echo '</tr></table>';    
    250                  
     242        $items_total = dbRowsCount('cms_board_items', 'id>0'); 
     243        $items_pub = dbRowsCount('cms_board_items', 'published=1'); 
     244        $items_unpub = $items_total - $items_pub; 
     245 
    251246                if ($items_unpub) { 
    252247                        echo '<div style="margin-top:10px;color:#FF3333" ><strong>Íåîïóáëèêîâàííûõ îáúÿâëåíèé:</strong> '.$items_unpub.' - <a href="index.php?view=components&do=config&id='.(int)$_REQUEST['id'].'&opt=list_items">Ïîêàçàòü</a></div>'; 
    253248                } 
    254249                 
    255                 echo '</div>'; 
    256                  
     250        $GLOBALS['cp_page_head'][] = '<script type="text/javascript" src="/includes/jquery/jquery.form.js"></script>'; 
     251        $GLOBALS['cp_page_head'][] = '<script type="text/javascript" src="/includes/jquery/tabs/jquery.ui.min.js"></script>'; 
     252        $GLOBALS['cp_page_head'][] = '<link href="/includes/jquery/tabs/tabs.css" rel="stylesheet" type="text/css" />'; 
     253 
    257254                //DEFAULT VALUES         
    258255                if (!isset($cfg['photos'])) { $cfg['photos'] = 1; } 
     
    266263                if (!isset($cfg['aftertime'])) { $cfg['aftertime'] = ''; } 
    267264                if (!isset($cfg['extend'])) { $cfg['extend'] = 0; } 
     265                if (!isset($cfg['vip_enabled'])) { $cfg['vip_enabled'] = 0; } 
     266                if (!isset($cfg['vip_prolong'])) { $cfg['vip_prolong'] = 0; } 
     267                if (!isset($cfg['vip_max_days'])) { $cfg['vip_max_days'] = 30; } 
     268                if (!isset($cfg['vip_day_cost'])) { $cfg['vip_day_cost'] = 5; } 
    268269         
    269270                ?> 
     
    272273                <?php cpCheckWritable('/images/board/small', 'folder'); ?>                               
    273274 
    274         <form action="index.php?view=components&amp;do=config&amp;id=<?php echo (int)$_REQUEST['id'];?>" method="post" name="optform" target="_self" id="form1"> 
    275             <table width="600" border="0" cellpadding="0" cellspacing="10" class="proptable"> 
     275<form action="index.php?view=components&amp;do=config&amp;id=<?php echo (int)$_REQUEST['id'];?>" method="post" name="optform" target="_self" id="form1"> 
     276 
     277    <div id="config_tabs" style="margin-top:12px;"> 
     278 
     279        <ul id="tabs"> 
     280            <li><a href="#basic"><span>Îáùèå</span></a></li> 
     281            <li><a href="#access"><span>Äîñòóï</span></a></li> 
     282            <li><a href="#types"><span>Òèïû</span></a></li> 
     283            <li><a href="#vip"><span>VIP</span></a></li> 
     284        </ul> 
     285 
     286        <div id="basic"> 
     287            <table width="600" border="0" cellpadding="0" cellspacing="10" class="proptable" style="border:none"> 
    276288                <tr> 
    277                     <td><strong>Ôîòîãðàôèè:</strong></td> 
     289                    <td><strong>Ðàçðåøèòü ôîòîãðàôèè:</strong></td> 
    278290                    <td width="250"> 
    279                         <input name="photos" type="radio" value="1" <?php if (@$cfg['photos']) { echo 'checked="checked"'; } ?>/> Ðàçðåøèòü 
    280                         <input name="photos" type="radio" value="0" <?php if (@!$cfg['photos']) { echo 'checked="checked"'; } ?>/>  Çàïðåòèòü 
     291                        <input name="photos" type="radio" value="1" <?php if (@$cfg['photos']) { echo 'checked="checked"'; } ?>/> Äà 
     292                        <input name="photos" type="radio" value="0" <?php if (@!$cfg['photos']) { echo 'checked="checked"'; } ?>/> Íåò 
    281293                    </td> 
    282294                </tr> 
    283295                <tr> 
    284296                    <td valign="top"> 
    285                         <strong>Íàíîñèòü âîäÿíîé çíàê:</strong><br /> 
    286                         <span class="hinttext">Åñëè âêëþ÷åíî, òî íà âñå çàãðóæàåìûå ôîòîãðàôèè áóäåò íàíîñèòñÿ èçîáðàæåíèå èç ôàéëà &quot;<a href="/images/watermark.png" target="_blank">/images/watermark.png</a>&quot;</span> 
     297                        <strong>Íàíîñèòü âîäÿíîé çíàê:</strong> 
    287298                    </td> 
    288299                    <td valign="top"> 
     
    304315                    <td width="250"><input name="maxcols" type="text" id="maxcols" size="5" value="<?php echo @$cfg['maxcols'];?>"/> øò</td> 
    305316                </tr> 
     317            </table> 
     318        </div> 
     319 
     320        <div id="access"> 
     321            <table width="600" border="0" cellpadding="0" cellspacing="10" class="proptable" style="border:none"> 
    306322                <tr> 
    307                     <td> 
    308                         <strong>Äîáàâëåíèå îáúÿâëåíèé ïîëüçîâàòåëÿìè: </strong><br/> 
    309                         <span class="hinttext">Äîïîëíèòåëüíî çàâèñèò îò íàñòðîåê ïðàâ ãðóïïû ïîëüçîâàòåëÿ</span> 
     323                    <td width="250"> 
     324                        <strong>Äîáàâëåíèå îáúÿâëåíèé: </strong><br/> 
     325                        <span class="hinttext">Äîïîëíèòåëüíî çàâèñèò îò íàñòðîåê<br/>ïðàâ ãðóïïû ïîëüçîâàòåëÿ</span> 
    310326                    </td> 
    311327                    <td valign="top"> 
     
    339355                <tr> 
    340356                    <td> 
    341                         <strong>Ðàçðåøàòü ïîëüçîâàòåëÿì ïðîäëåâàòü îáúÿâëåíèÿ: </strong><br/> 
     357                        <strong>Ðàçðåøàòü ïîëüçîâàòåëÿì ïðîäëåâàòü ñðîêè ïîêàçà îáúÿâëåíèé: </strong><br/> 
    342358                        <span class="hinttext">Ðàáîòàåò, åñëè âûáðàíà îïöèÿ "ñêðûâàòü" äëÿ ïðîñðî÷åííûõ îáúÿâëåíèé.</span> 
    343359                    </td> 
     
    347363                    </td> 
    348364                </tr> 
     365            </table> 
     366        </div> 
     367 
     368        <div id="types"> 
     369            <table width="600" border="0" cellpadding="0" cellspacing="10" class="proptable" style="border:none"> 
    349370                <tr> 
    350                     <td valign="top"> 
     371                    <td width="250" valign="top"> 
    351372                        <div><strong>Òèïû îáúÿâëåíèé:</strong></div> 
    352373                        <div class="hinttext">Êàæäûé òèï ñ íîâîé ñòðîêè</div> 
     
    354375                    </td> 
    355376                    <td valign="top"> 
    356                         <textarea name="obtypes" style="width:250px" rows="6"><?php echo @$cfg['obtypes'];?></textarea> 
     377                        <textarea name="obtypes" style="width:250px" rows="10"><?php echo @$cfg['obtypes'];?></textarea> 
    357378                    </td> 
    358379                </tr> 
    359380            </table> 
    360             <p> 
    361                 <input name="opt" type="hidden" id="do" value="saveconfig" /> 
    362                 <input name="save" type="submit" id="save" value="Ñîõðàíèòü" /> 
    363                 <input name="back" type="button" id="back" value="Îòìåíà" onclick="window.location.href='index.php?view=components';"/> 
    364             </p> 
    365         </form> 
     381        </div> 
     382 
     383        <div id="vip"> 
     384            <?php if (!IS_BILLING){ ?> 
     385                <p> 
     386                    Äëÿ ïîääåðæêè VIP-îáúÿâëåíèé íåîáõîäèì êîìïîíåíò &laquo;<a href="http://www.instantcms.ru/billing/about.html">Áèëëèíã ïîëüçîâàòåëåé</a>&raquo; 
     387                </p> 
     388                <p> 
     389                    Ïîëüçîâàòåëè ñìîãóò ïîêóïàòü VIP-ñòàòóñû äëÿ ñâîèõ îáúÿâëåíèé.<br/> 
     390                    VIP-îáúÿâëåíèÿ âûäåëÿþòñÿ öâåòîì, âñåãäà âûâîäÿòñÿ â íà÷àëå ñïèñêà <br/> 
     391                    è ìîãóò áûòü âûâåäåíû íà ãëàâíóþ â îòäåëüíîì ìîäóëå &laquo;VIP-Îáúÿâëåíèÿ&raquo; 
     392                </p> 
     393                <p> 
     394                    Áåç êîìïîíåíòà &laquo;<a href="http://www.instantcms.ru/billing/about.html">Áèëëèíã ïîëüçîâàòåëåé</a>&raquo; VIP-ñòàòóñû äëÿ îáúÿâëåíèé<br/> 
     395                    ìîæåò óñòàíàâëèâàòü òîëüêî àäìèíèñòðàòîð, ïðè ñîçäàíèè èëè ðåäàêòèðîâàíèè <br/> 
     396                    ëþáîãî îáúÿâëåíèÿ íà ñàéòå. 
     397                </p> 
     398            <?php } else { ?> 
     399                <table width="550" border="0" cellpadding="0" cellspacing="10" class="proptable" style="border:none"> 
     400                    <tr> 
     401                        <td><strong>Ðàçðåøèòü VIP-îáúÿâëåíèÿ:</strong></td> 
     402                        <td width="250"> 
     403                            <input name="vip_enabled" type="radio" value="1" <?php if (@$cfg['vip_enabled']) { echo 'checked="checked"'; } ?>/> Äà 
     404                            <input name="vip_enabled" type="radio" value="0" <?php if (@!$cfg['vip_enabled']) { echo 'checked="checked"'; } ?>/> Íåò 
     405                        </td> 
     406                    </tr> 
     407                    <tr> 
     408                        <td><strong>Ðàçðåøèòü ïðîäëåâàòü VIP-ñòàòóñ:</strong></td> 
     409                        <td width="250"> 
     410                            <input name="vip_prolong" type="radio" value="1" <?php if (@$cfg['vip_prolong']) { echo 'checked="checked"'; } ?>/> Äà 
     411                            <input name="vip_prolong" type="radio" value="0" <?php if (@!$cfg['vip_prolong']) { echo 'checked="checked"'; } ?>/> Íåò 
     412                        </td> 
     413                    </tr> 
     414                    <tr> 
     415                        <td><strong>Ìàêñèìàëüíûé ñðîê VIP-ñòàòóñà: </strong></td> 
     416                        <td width="250"> 
     417                            <input name="vip_max_days" type="text" id="vip_max_days" size="5" value="<?php echo @$cfg['vip_max_days'];?>"/> äíåé 
     418                        </td> 
     419                    </tr> 
     420                    <tr> 
     421                        <td><strong>Ñòîèìîñòü VIP-ñòàòóñà: </strong></td> 
     422                        <td width="250"> 
     423                            <input name="vip_day_cost" type="text" id="vip_day_cost" size="5" value="<?php echo @$cfg['vip_day_cost'];?>"/> áàëëîâ çà 1 äåíü 
     424                        </td> 
     425                    </tr> 
     426                </table> 
     427            <?php } ?> 
     428        </div> 
     429    </div> 
     430     
     431    <script type="text/javascript">$('#config_tabs > ul#tabs').tabs();</script> 
     432 
     433    <p> 
     434        <input name="opt" type="hidden" id="do" value="saveconfig" /> 
     435        <input name="save" type="submit" id="save" value="Ñîõðàíèòü" /> 
     436        <input name="back" type="button" id="back" value="Îòìåíà" onclick="window.location.href='index.php?view=components';"/> 
     437    </p> 
     438</form> 
     439 
    366440                <?php 
    367441        } 
  • trunk/admin/components/catalog/backend.php

    r645 r750  
    3737    $cfg = $inCore->loadComponentConfig('catalog'); 
    3838    $opt = $inCore->request('opt', 'str', 'list_cats'); 
     39 
     40    define('IS_BILLING', $inCore->isComponentInstalled('billing')); 
     41    if (IS_BILLING) { $inCore->loadClass('billing'); } 
    3942 
    4043        cpAddPathway('Óíèâåðñàëüíûé êàòàëîã', '?view=components&do=config&id='.$_REQUEST['id']); 
     
    546549        } 
    547550 
    548         $cat['is_public'] = $inCore->request('is_public', 'int', 0); 
    549         $cat['can_edit']  = $inCore->request('can_edit', 'int', 0); 
     551        $cat['is_public']   = $inCore->request('is_public', 'int', 0); 
     552        $cat['can_edit']    = $inCore->request('can_edit', 'int', 0); 
     553 
     554        $cat['cost']        = $inCore->request('cost', 'str', ''); 
     555        if (!is_numeric($cat['cost'])) { $cat['cost'] = ''; } 
    550556 
    551557        $cat['id'] = $model->addCategory($cat); 
     
    616622            $cat['is_public'] = $inCore->request('is_public', 'int', 0); 
    617623            $cat['can_edit']  = $inCore->request('can_edit', 'int', 0); 
     624 
     625            $cat['cost']      = $inCore->request('cost', 'str', ''); 
     626            if (!is_numeric($cat['cost'])) { $cat['cost'] = ''; } 
    618627 
    619628            if ($cat['is_public']){ 
     
    14011410                                </div> 
    14021411                            </div> 
     1412 
     1413                            <?php if (IS_BILLING){ ?> 
     1414                                <div style="margin:5px"> 
     1415                                    <strong>Ñòîèìîñòü äîáàâëåíèÿ çàïèñè</strong><br/> 
     1416                                    <div style="color:gray">Åñëè íå óêàçàíà çäåñü, òî èñïîëüçóåòñÿ öåíà ïî-óìîë÷àíèþ, èç íàñòðîåê áèëëèíãà</div> 
     1417                                    <input type="text" name="cost" value="<?php echo $mod['cost']; ?>" style="width:50px"/> áàëëîâ 
     1418                                </div> 
     1419                            <?php } ?> 
    14031420 
    14041421                            <table width="100%" cellpadding="0" cellspacing="0" border="0" class="checklist" style="margin-top:5px"> 
  • trunk/admin/components/clubs/backend.php

    r705 r750  
    437437    </table> 
    438438    {tab=Îïèñàíèå} 
    439     <table width="625" border="0" cellspacing="5" class="proptable"> 
    440         <tr> 
    441             <td width="606"><strong>Îïèñàíèå:</strong> <span class="hinttext">Îòîáðàæàåòñÿ íà ïåðâîé ñòðàíèöå ïðè ïðîñìîòðå êëóáà </span></td> 
     439    <table width="100%" border="0" cellspacing="5" class="proptable"> 
     440        <tr> 
     441            <td><strong>Îïèñàíèå:</strong> <span class="hinttext">Îòîáðàæàåòñÿ íà ïåðâîé ñòðàíèöå ïðè ïðîñìîòðå êëóáà </span></td> 
    442442        </tr> 
    443443        <tr> 
     
    445445                <?php 
    446446 
    447                     $inCore->insertEditor('description', $mod['description'], '250', '100%'); 
     447                    $inCore->insertEditor('description', $mod['description'], '400', '100%'); 
    448448                 
    449449                ?> 
     
    559559    <table width="680" border="0" cellpadding="10" cellspacing="0" class="proptable"> 
    560560        <tr> 
     561            <td><strong>Êîëè÷åñòâî êëóáîâ íà ñòðàíèöå:</strong><br /></td> 
     562            <td><input name="perpage" type="text" id="perpage" style="width:300px" value="<?php echo @$cfg['perpage'];?>"/></td> 
     563        </tr> 
     564        <tr> 
    561565            <td><strong>SEO äëÿ êëóáîâ:</strong><br /> 
    562566            <span class="hinttext">×åì çàïîëíÿòü òåã meta description ïðè ïðîñìîòðå êëóáà?</span></td> 
     
    578582        </tr> 
    579583        <tr> 
    580             <td><strong>Êîëè÷åñòâî êëóáîâ íà ñòðàíèöå:</strong><br /></td> 
    581             <td><input name="perpage" type="text" id="perpage" style="width:300px" value="<?php echo @$cfg['perpage'];?>"/></td> 
    582         </tr> 
    583         <tr> 
    584584            <td><strong>Ôîòîàëüáîìû êëóáîâ:</strong><br /> 
    585585            <span class="hinttext">Âêëþ÷èòü/âûêëþ÷èòü ôîòîàëüáîìû </span></td> 
  • trunk/admin/components/faq/backend.php

    r645 r750  
    6868        $cfg = $inCore->loadComponentConfig('faq'); 
    6969 
     70    if(!isset($cfg['guest_enabled'])) { $cfg['guest_enabled'] = 1; } 
    7071    if(!isset($cfg['user_link'])) { $cfg['user_link'] = 1; } 
    7172    if(!isset($cfg['publish'])) { $cfg['publish'] = 0; } 
     
    7778        if($opt=='saveconfig'){  
    7879                $cfg = array(); 
     80                $cfg['guest_enabled']  = (int)$_REQUEST['guest_enabled']; 
    7981                $cfg['user_link']  = (int)$_REQUEST['user_link']; 
    8082                $cfg['publish']    = (int)$_REQUEST['publish']; 
     
    9799        <form action="index.php?view=components&do=config&id=<?php echo (int)$_REQUEST['id'];?>&opt=config" method="post" name="optform" target="_self" id="form1"> 
    98100                <table width="680" border="0" cellpadding="10" cellspacing="0" class="proptable"> 
     101                        <tr> 
     102                                <td> 
     103                                        <strong>Ïðèíèìàòü âîïðîñû îò íåçàðåãèñòðèðîâàííûõ:</strong><br /> 
     104                                </td> 
     105                                <td valign="top"> 
     106                                        <input name="guest_enabled" type="radio" value="1"  <?php if (@$cfg['guest_enabled']) { echo 'checked="checked"'; } ?> /> Äà 
     107                                        <input name="guest_enabled" type="radio" value="0"  <?php if (@!$cfg['guest_enabled']) { echo 'checked="checked"'; } ?> /> Íåò 
     108                                </td> 
     109                        </tr> 
    99110                        <tr> 
    100111                                <td> 
  • trunk/admin/components/forum/backend.php

    r645 r750  
    163163         
    164164        if ($opt == 'submit_forum'){     
    165                         $category_id = (int)$_REQUEST['category_id']; 
    166                         $title = $inCore->strClear($_REQUEST['title']); 
    167                         $published = $_REQUEST['published']; 
    168                         $auth_group = $_REQUEST['auth_group']; 
    169                         $parent_id = $_REQUEST['parent_id'];                     
    170                         $description = $_REQUEST['description']; 
    171                          
     165                        $category_id    = $inCore->request('category_id', 'int'); 
     166                        $title          = $inCore->request('title', 'str'); 
     167                        $published      = $inCore->request('published', 'int'); 
     168                        $auth_group     = $inCore->request('auth_group', 'int'); 
     169                        $parent_id      = $inCore->request('parent_id', 'int'); 
     170                        $description    = $inCore->request('description', 'str'); 
     171                        $topic_cost     = $inCore->request('topic_cost', 'int', 0); 
     172 
    172173                        $ns = $inCore->nestedSetsInit('cms_forums'); 
    173174                        $myid = $ns->AddNode($parent_id); 
     
    178179                                                description='$description',  
    179180                                                auth_group='$auth_group',  
    180                                                 published=$published 
    181                                         WHERE id = $myid";       
     181                                                published=$published, 
     182                        topic_cost='$topic_cost' 
     183                                        WHERE id = $myid"; 
     184 
    182185                        dbQuery($sql) ;  
    183186                        reorder(); 
     
    189192                        $id = $_REQUEST['item_id']; 
    190193                         
    191                         if (!empty($_REQUEST['category_id'])) { $category_id = $_REQUEST['category_id']; } else { error("Óêàæèòå êàòåãîðèþ!"); } 
    192                         if (!empty($_REQUEST['title'])) { $title = $_REQUEST['title']; } else { error("Óêàæèòå çàãîëîâîê ôîòîãðàôèè!"); } 
    193                         $published = $_REQUEST['published']; 
    194                         $auth_group = $_REQUEST['auth_group']; 
    195                         $parent_id = $_REQUEST['parent_id']; 
    196                         $description = $_REQUEST['description']; 
     194                        $category_id    = $inCore->request('category_id', 'int'); 
     195                        $title          = $inCore->request('title', 'str'); 
     196                        $published      = $inCore->request('published', 'int'); 
     197                        $auth_group     = $inCore->request('auth_group', 'int'); 
     198                        $parent_id      = $inCore->request('parent_id', 'int'); 
     199                        $description    = $inCore->request('description', 'str'); 
     200                        $topic_cost     = $inCore->request('topic_cost', 'int', 0); 
    197201                         
    198202                        $ns = $inCore->nestedSetsInit('cms_forums'); 
     
    200204 
    201205                        $sql = "UPDATE cms_forums 
    202                                         SET category_id = $category_id, 
    203                                                 title='$title',  
     206                                        SET category_id=$category_id, 
     207                                                title='$title', 
    204208                                                description='$description', 
     209                                                auth_group='$auth_group', 
    205210                                                published=$published, 
    206                                                 auth_group=$auth_group 
     211                        topic_cost='$topic_cost' 
    207212                                        WHERE id = $id 
    208213                                        LIMIT 1"; 
     214 
    209215                        dbQuery($sql) ;          
    210216 
     
    686692                ?> 
    687693        <form action="index.php?view=components&do=config&id=<?php echo $_REQUEST['id'];?>" method="post" name="addform" id="addform"> 
    688             <table width="514" border="0" cellspacing="5" class="proptable"> 
    689                 <tr> 
    690                     <td width="236" valign="top">Íàçâàíèå ôîðóìà: </td> 
    691                     <td width="259" valign="top"><input name="title" type="text" id="title" size="30" value="<?php echo @$mod['title'];?>" style="width:250px"/></td> 
    692                 </tr> 
    693                 <tr> 
    694                     <td valign="top">Îïèñàíèå ôîðóìà: </td> 
    695                     <td valign="top"><textarea name="description" cols="35" rows="2" id="description" style="width:250px"><?php echo @$mod['description']?></textarea></td> 
    696                 </tr> 
    697                 <tr> 
    698                     <td valign="top">Ðîäèòåëüñêèé ôîðóì: </td> 
    699                     <td valign="top"> 
     694            <table width="514" border="0" cellspacing="10" class="proptable"> 
     695                <tr> 
     696                    <td width="236"><strong>Íàçâàíèå ôîðóìà:</strong></td> 
     697                    <td width="259"><input name="title" type="text" id="title" size="30" value="<?php echo @$mod['title'];?>" style="width:254px"/></td> 
     698                </tr> 
     699                <tr> 
     700                    <td valign="top"><strong>Îïèñàíèå ôîðóìà:</strong></td> 
     701                    <td><textarea name="description" cols="35" rows="2" id="description" style="width:250px"><?php echo @$mod['description']?></textarea></td> 
     702                </tr> 
     703                <tr> 
     704                    <td><strong>Ïóáëèêîâàòü ôîðóì?</strong></td> 
     705                    <td> 
     706                        <input name="published" type="radio" value="1" checked="checked" <?php if (@$mod['published']) { echo 'checked="checked"'; } ?> /> Äà 
     707                        <input name="published" type="radio" value="0"  <?php if (@!$mod['published']) { echo 'checked="checked"'; } ?> /> Íåò 
     708                    </td> 
     709                </tr> 
     710                <tr> 
     711                    <td><strong>Ðîäèòåëüñêèé ôîðóì:</strong></td> 
     712                    <td> 
    700713                        <?php $rootid = dbGetField('cms_forums', 'parent_id=0', 'id'); ?> 
    701                         <select name="parent_id" size="8" id="parent_id" style="width:250px"> 
     714                        <select name="parent_id" id="parent_id" style="width:260px"> 
    702715                                <option value="<?php echo $rootid?>" <?php if (@$mod['parent_id']==$rootid || !isset($mod['parent_id'])) { echo 'selected'; }?>>-- Êîðåíü ôîðóìîâ --</option> 
    703716                        <?php 
     
    712725                </tr> 
    713726                <tr> 
    714                     <td valign="top">Êàòåãîðèÿ:</td> 
    715                     <td valign="top"> 
    716                         <select name="category_id" id="category_id" style="width:250px"> 
     727                    <td><strong>Êàòåãîðèÿ:</strong></td> 
     728                    <td> 
     729                        <select name="category_id" id="category_id" style="width:260px"> 
    717730                        <?php 
    718731                            if (isset($mod['category_id'])) {  
     
    730743                </tr> 
    731744                <tr> 
    732                     <td valign="top">Ïóáëèêîâàòü ôîðóì?</td> 
    733                     <td valign="top"> 
    734                         <input name="published" type="radio" value="1" checked="checked" <?php if (@$mod['published']) { echo 'checked="checked"'; } ?> /> Äà 
    735                         <input name="published" type="radio" value="0"  <?php if (@!$mod['published']) { echo 'checked="checked"'; } ?> /> Íåò 
    736                     </td> 
    737                 </tr> 
    738                 <tr> 
    739                 <td valign="top">Ïîêàçûâàòü ãðóïïå: </td> 
    740                 <td valign="top"> 
    741                     <select name="auth_group" id="auth_group" style="width:250px"> 
    742                         <option value="0" <?php if (@$mod['auth_group']=='0') { echo "selected"; }?>>Âñåì ãðóïïàì</option> 
    743                         <?php 
    744                             if (isset($mod['auth_group'])) { 
    745                                 echo $inCore->getListItems('cms_user_groups', $mod['auth_group']); 
    746                             } else { 
    747                                 echo $inCore->getListItems('cms_user_groups'); 
    748                             } 
    749                         ?> 
    750                     </select> 
    751                 </td> 
    752             </tr> 
     745                    <td><strong>Ïîêàçûâàòü ãðóïïå:</strong></td> 
     746                    <td> 
     747                        <select name="auth_group" id="auth_group" style="width:260px"> 
     748                            <option value="0" <?php if (@$mod['auth_group']=='0') { echo "selected"; }?>>Âñåì ãðóïïàì</option> 
     749                            <?php 
     750                                if (isset($mod['auth_group'])) { 
     751                                    echo $inCore->getListItems('cms_user_groups', $mod['auth_group']); 
     752                                } else { 
     753                                    echo $inCore->getListItems('cms_user_groups'); 
     754                                } 
     755                            ?> 
     756                        </select> 
     757                    </td> 
     758                </tr> 
     759                <tr> 
     760                    <td width="236"> 
     761                        <strong>Ñòîèìîñòü ñîçäàíèÿ òåìû:</strong><br/> 
     762                        <span class="hinttext">0 &mdash áåñïëàòíî</span> 
     763                    </td> 
     764                    <td width="259"> 
     765                        <input name="topic_cost" type="text" id="title" value="<?php echo @$mod['topic_cost'];?>" style="width:60px"/> áàëëîâ 
     766                    </td> 
     767                </tr> 
    753768        </table> 
    754769        <p> 
  • trunk/admin/login.php

    r608 r750  
    5353                    </form> 
    5454                </div> 
    55                 <div id="copy"><a href="http://www.instantcms.ru/">InstantCMS</a> &copy; 2007-2010</div> 
     55                <div id="copy"><a href="http://www.instantcms.ru/">InstantCMS</a> &copy; 2007-2011</div> 
    5656 
    5757            </td> 
  • trunk/admin/template.php

    r465 r750  
    8181            <td height="50"> 
    8282                <div id="footer" style="text-align:center;background:#ECECEC;height:50px;line-height:50px;"> 
    83                     <a href="http://www.instantcms.ru/"><strong>InstantCMS</strong></a><strong> v<?php echo CORE_VERSION?> &copy; 2010</strong><br /> 
     83                    <a href="http://www.instantcms.ru/"><strong>InstantCMS</strong></a><strong> v<?php echo CORE_VERSION?> &copy; 2011</strong><br /> 
    8484                </div> 
    8585            </td> 
  • trunk/components/blogs/frontend.php

    r705 r750  
    3333    $inCore->loadModel('blogs'); 
    3434    $model = new cms_model_blogs(); 
     35 
     36    define('IS_BILLING', $inCore->isComponentInstalled('billing')); 
     37    if (IS_BILLING) { $inCore->loadClass('billing'); } 
    3538                 
    3639        //Çàãðóçêà íàñòðîåê áëîãîâ 
     
    101104    //Ïîêàç ôîðìû ñîçäàíèÿ áëîãà 
    102105    if (!$inCore->inRequest('goadd')){ 
     106 
     107        if (IS_BILLING){ cmsBilling::checkBalance('blogs', 'add_blog'); } 
     108 
    103109        $inPage->setTitle($_LANG['CREATE_BLOG']); 
    104110        $inPage->backButton(false); 
     
    162168                'description' => '' 
    163169            )); 
     170             
     171            if (IS_BILLING){ cmsBilling::process('blogs', 'add_blog'); } 
     172 
    164173            //Âûâîäèì ñîîáùåíèå î òîì ÷òî áëîã ñîçäàí 
    165174            $smarty  = $inCore->initSmarty('components', 'com_blog_create_ok.tpl'); 
     
    675684        //Ïðîâåðÿåì äîñòóï 
    676685                if (!$myblog && !$is_author && !$is_admin) { $inCore->redirectBack(); } 
     686 
     687        if (IS_BILLING){ cmsBilling::checkBalance('blogs', 'add_post'); } 
     688         
    677689        //Óñòàíàâëèâàåì çàãîëîâêè 
    678690        $inPage->addPathway($_LANG['NEW_POST'], $_SERVER['REQUEST_URI']); 
     
    780792                if ($blog['owner']=='user'){ 
    781793                    if ($myblog || (!$blog['premod'])){ $published = 1; } else { $published = 0; } 
     794                    if (IS_BILLING){ cmsBilling::process('blogs', 'add_post'); } 
    782795                } 
    783796 
  • trunk/components/board/frontend.php

    r600 r750  
    103103    if (!isset($cfg['aftertime'])) { $cfg['aftertime'] = ''; } 
    104104        if (!isset($cfg['extend'])) { $cfg['extend'] = 0; } 
    105      
     105    if (!isset($cfg['vip_enabled'])) { $cfg['vip_enabled'] = 0; } 
     106    if (!isset($cfg['vip_prolong'])) { $cfg['vip_prolong'] = 0; } 
     107    if (!isset($cfg['vip_max_days'])) { $cfg['vip_max_days'] = 30; } 
     108    if (!isset($cfg['vip_day_cost'])) { $cfg['vip_day_cost'] = 5; } 
     109 
     110    define('IS_BILLING', $inCore->isComponentInstalled('billing')); 
     111    if (IS_BILLING) { $inCore->loadClass('billing'); } 
     112 
    106113    $inCore->loadModel('board'); 
    107114    $model      = new cms_model_board(); 
     
    253260        $smarty->assign('items', $items); 
    254261        $smarty->assign('maxcols', $maxcols); 
    255         $smarty->assign('colwidth', $colwidth); 
    256                 $smarty->assign('messages', cmsCore::getSessionMessages()); 
     262        $smarty->assign('colwidth', $colwidth);          
    257263        $smarty->assign('pagebar', cmsPage::getPagebar($total, $page, $perpage, '/board/%catid%-%page%', array('catid'=>$id))); 
    258264        $smarty->assign('is_user', $inUser->id); 
     
    314320                        $smarty->assign('is_user', $inUser->id); 
    315321                        $smarty->assign('user_id', $inUser->id); 
    316                         $smarty->assign('messages', cmsCore::getSessionMessages()); 
    317322                $smarty->display('com_board_item.tpl'); 
    318323         
     
    338343 
    339344    if ( !(loadedByUser24h($inUser->id, $cat['id'])<$cat['uplimit'] || $cat['uplimit'] == 0) ){        
    340                 cmsCore::addSessionMessage('<p>'.$_LANG['MAX_VALUE_OF_ADD_ADV'].'</p>', 'error'); 
     345                cmsCore::addSessionMessage($_LANG['MAX_VALUE_OF_ADD_ADV'], 'error'); 
    341346                $inCore->redirect('/board/'.$id);       
    342347    } 
    343348    
    344349    if ( !$cat['public'] ){ 
    345                 cmsCore::addSessionMessage('<p>'.$_LANG['YOU_CANT_ADD_ADV'].'</p>', 'error'); 
     350                cmsCore::addSessionMessage($_LANG['YOU_CANT_ADD_ADV'], 'error'); 
    346351                $inCore->redirect('/board/'.$id);   
    347352    } 
     
    349354    ///////////// first upload step //////////////////////////////////////////// 
    350355    if ( !$inCore->inRequest('submit') ) { 
     356 
     357        if (IS_BILLING) { cmsBilling::checkBalance('board', 'add_item'); } 
    351358 
    352359        $inPage->setTitle($_LANG['ADD_ADV']); 
     
    367374        $smarty->assign('is_admin', $inUser->is_admin); 
    368375        $smarty->assign('catslist', $inCore->getListItemsNS('cms_board_cats')); 
    369                 $smarty->assign('messages', cmsCore::getSessionMessages()); 
     376                $smarty->assign('is_billing', IS_BILLING); 
     377        if (IS_BILLING){ $smarty->assign('balance', $inUser->balance); } 
    370378        $smarty->display('com_board_edit.tpl'); 
    371379        return; 
     
    384392        $title      = $obtype .' '. $title_r; 
    385393        $content        = $inCore->request('content', 'str', ''); 
    386  
    387394        $captcha    = $inCore->request('code', 'str', ''); 
    388  
    389395        $city_ed    = $inCore->request('city_ed', 'str', ''); 
    390396        $city       = $inCore->request('city', 'str', ''); 
    391397        $city       = $city ? $city : $city_ed; 
     398 
     399        $vipdays    = $inCore->request('vipdays', 'int', 0); 
    392400 
    393401        $published  = 0; 
     
    445453                                    'file'=>$filename 
    446454                                )); 
     455 
     456        if ($inUser->is_admin && $vipdays){ 
     457            $model->setVip($item_id, $vipdays); 
     458        } 
     459 
     460        if (IS_BILLING) { 
     461            cmsBilling::process('board', 'add_item'); 
     462            if ($cfg['vip_enabled'] && $vipdays && $cfg['vip_day_cost']){ 
     463                if ($vipdays > $cfg['vip_max_days']) { $vipdays = $cfg['vip_max_days']; } 
     464                $summ = $vipdays * $cfg['vip_day_cost']; 
     465                if ($inUser->balance >= $summ){ 
     466                    cmsBilling::pay($inUser->id, $summ, $_LANG['VIP_BUY_LOG']); 
     467                    $model->setVip($item_id, $vipdays); 
     468                }                 
     469            } 
     470        } 
     471 
    447472                if ($published == 1) { 
    448473                //ðåãèñòðèðóåì ñîáûòèå 
     
    512537        $smarty->assign('file', $item['file']); 
    513538        $smarty->assign('category_id', $item['cat_id']); 
     539        $smarty->assign('is_vip', $item['is_vip']); 
     540        $smarty->assign('vipdate', $item['vipdate']); 
    514541        $smarty->assign('is_admin', $inUser->is_admin); 
     542                $smarty->assign('is_billing', IS_BILLING); 
     543        if (IS_BILLING){ $smarty->assign('balance', $inUser->balance); } 
    515544        $smarty->assign('catslist',  $inCore->getListItemsNS('cms_board_cats')); 
    516                 $smarty->assign('messages', cmsCore::getSessionMessages()); 
    517545        $smarty->display('com_board_edit.tpl'); 
    518546    } 
    519547 
    520548    if ($inCore->inRequest('submit')){ 
     549 
    521550        $errors = ''; 
    522551        $uid        = $inUser->id; 
     
    527556        $content        = $inCore->request('content', 'str', ''); 
    528557        $captcha    = $inCore->request('code', 'str', ''); 
     558        $vipdays    = $inCore->request('vipdays', 'int', 0); 
    529559 
    530560        $new_cat_id     = $inCore->request('category_id', 'int', 0); 
     
    550580 
    551581                $errors = false; 
    552         if (!$title_r)   { cmsCore::addSessionMessage($_LANG['NEED_TITLE'], 'error'); $errors = true; } 
     582        if (!$title_r) { cmsCore::addSessionMessage($_LANG['NEED_TITLE'], 'error'); $errors = true; } 
    553583        if (!$content) { cmsCore::addSessionMessage($_LANG['NEED_TEXT_ADV'], 'error'); $errors = true; } 
    554584        if (!$city)    { cmsCore::addSessionMessage($_LANG['NEED_CITY'], 'error'); $errors = true; } 
     
    602632                                )); 
    603633 
     634        if ($inUser->is_admin && $vipdays){ 
     635            $model->setVip($id, $vipdays); 
     636        } 
     637 
     638        if (IS_BILLING) { 
     639            if ($cfg['vip_enabled'] && $cfg['vip_prolong'] && $vipdays && $cfg['vip_day_cost']){ 
     640                if ($vipdays > $cfg['vip_max_days']) { $vipdays = $cfg['vip_max_days']; } 
     641                $summ = $vipdays * $cfg['vip_day_cost']; 
     642                if ($inUser->balance >= $summ){ 
     643                    cmsBilling::pay($inUser->id, $summ, $_LANG['VIP_BUY_LOG']); 
     644                    $model->setVip($id, $vipdays); 
     645                } 
     646            } 
     647        } 
     648 
    604649        //finish 
    605650                if (!$published) { $prmoder = '<p>'.$_LANG['ADV_EDIT_PREMODER_TEXT'].'</p>'; } 
  • trunk/components/board/model.php

    r594 r750  
    127127                $inCore = cmsCore::getInstance(); 
    128128        $this->deleteOldRecords(); 
     129        $this->clearOldVips(); 
    129130 
    130131        $city_filter = isset($_SESSION['board_city']) ? "AND city = '".$_SESSION['board_city']."'" : ''; 
     
    137138                FROM cms_board_items i, cms_users u, cms_board_cats cat 
    138139                WHERE i.user_id = u.id AND i.published = 1 $city_filter $type_filter $catsql 
    139                 ORDER BY $orderby $orderto 
     140                ORDER BY is_vip DESC, $orderby $orderto 
    140141                LIMIT ".($page-1)*$perpage.", $perpage"; 
    141142 
     
    162163 
    163164        $this->deleteOldRecords(); 
     165        $this->clearOldVips(); 
    164166 
    165167        $sql = "SELECT i.*,  
     
    190192                $record['fpubdate']   = $record['pubdate']; 
    191193                $record['pubdate']        = cmsCore::dateFormat($record['pubdate']); 
     194                $record['vipdate']        = cmsCore::dateFormat($record['vipdate']); 
    192195 
    193196        $record = cmsCore::callEvent('GET_BOARD_RECORD', $record); 
     
    290293    } 
    291294 
     295    public function clearOldVips() { 
     296 
     297        $this->inDB->query("UPDATE cms_board_items SET is_vip=0 WHERE DATE(vipdate) <= CURRENT_DATE"); 
     298 
     299        return true; 
     300 
     301    } 
     302 
     303/* ==================================================================================================== */ 
     304/* ==================================================================================================== */ 
     305 
     306    public function setVip($id, $days){ 
     307 
     308        // Óñòàíîâèòü ñòàòóñ VIP è äàòó îêîí÷àíèÿ ñ÷èòàÿ îò òåêóùåé, 
     309        // åñëè äî ýòîãî ñòàòóñà VIP íå áûëî 
     310        $sql = "UPDATE cms_board_items 
     311                SET is_vip = 1, vipdate = DATE_ADD(NOW(), INTERVAL {$days} DAY) 
     312                WHERE id='{$id}' AND is_vip=0 
     313                LIMIT 1"; 
     314 
     315        $this->inDB->query($sql); 
     316 
     317        // Ïðîäëèòü èìåþùóþñÿ äàòó VIP, åñëè VIP-ñòàòóñ óæå áûë 
     318        $sql = "UPDATE cms_board_items 
     319                SET vipdate = DATE_ADD(vipdate, INTERVAL {$days} DAY) 
     320                WHERE id='{$id}' AND is_vip=1 
     321                LIMIT 1"; 
     322                 
     323        $this->inDB->query($sql); 
     324 
     325        return true; 
     326 
     327    } 
    292328 
    293329/* ==================================================================================================== */ 
  • trunk/components/catalog/frontend.php

    r594 r750  
    255255    $model = new cms_model_catalog(); 
    256256 
     257    define('IS_BILLING', $inCore->isComponentInstalled('billing')); 
     258    if (IS_BILLING) { $inCore->loadClass('billing'); } 
     259 
    257260    $menutitle  = $inCore->menuTitle(); 
    258261    if (!$menutitle) { $menutitle = $_LANG['CATALOG']; } 
     
    859862            $fdata = array(); 
    860863 
     864            if ($cat['cost']=='') { $cat['cost'] = false; } 
     865            cmsBilling::checkBalance('catalog', 'add_catalog_item', false, $cat['cost']); 
     866 
    861867        } 
    862868         
     
    10231029                 
    10241030                                $item_id = $model->addItem($item); 
     1031 
     1032                if (IS_BILLING){ 
     1033                    if ($cat['cost']=='') { $cat['cost'] = false; } 
     1034                    cmsBilling::process('catalog', 'add_catalog_item', $cat['cost']); 
     1035                } 
     1036 
    10251037                                if (!$cfg['premod'] || $inUser->is_admin) { 
    10261038                                        //ðåãèñòðèðóåì ñîáûòèå 
  • trunk/components/catalog/model.php

    r458 r750  
    247247                    filters = '{$cat['filters']}', 
    248248                    is_public = '{$cat['is_public']}', 
    249                     can_edit = '{$cat['can_edit']}' 
     249                    can_edit = '{$cat['can_edit']}', 
     250                    cost = '{$cat['cost']}' 
    250251                WHERE id = $id 
    251252                LIMIT 1"; 
     
    284285                    filters = '{$cat['filters']}', 
    285286                    is_public = '{$cat['is_public']}', 
    286                     can_edit = '{$cat['can_edit']}' 
     287                    can_edit = '{$cat['can_edit']}', 
     288                    cost = '{$cat['cost']}' 
    287289                WHERE id = {$cat['id']} 
    288290                LIMIT 1"; 
  • trunk/components/clubs/frontend.php

    r738 r750  
    3131    $model = new cms_model_clubs(); 
    3232 
     33    define('IS_BILLING', $inCore->isComponentInstalled('billing')); 
     34    if (IS_BILLING) { $inCore->loadClass('billing'); } 
     35 
    3336        $inPage->addHeadJS('components/clubs/js/clubs.js'); 
    3437 
     
    9396        $smarty->assign('total', $total); 
    9497        $smarty->assign('pagination', $pagination); 
    95     $smarty->assign('messages', cmsCore::getSessionMessages()); 
    9698        $smarty->display('com_clubs_view.tpl'); 
    9799 
     
    189191    $smarty->assign('is_member', $is_member); 
    190192    $smarty->assign('is_karma_enabled', $is_karma_enabled); 
    191         $smarty->assign('messages', cmsCore::getSessionMessages()); 
    192193        $smarty->assign('pagetitle', $pagetitle); 
    193194        $smarty->display('com_clubs_view_club.tpl'); 
     
    211212        $smarty = $inCore->initSmarty('components', 'com_clubs_create.tpl'); 
    212213        $smarty->assign('confirm', $confirm); 
    213                 $smarty->assign('messages', cmsCore::getSessionMessages()); 
    214214        $smarty->display('com_clubs_create.tpl'); 
    215215    } 
     
    332332                                        'join_karma_limit'=>$join_karma_limit 
    333333                                    )); 
     334 
     335        if ($inUser->is_admin && IS_BILLING){ 
     336            $is_vip    = $inCore->request('is_vip', 'int', 0); 
     337            $join_cost = $inCore->request('join_cost', 'int', 0); 
     338            $model->setVip($id, $is_vip, $join_cost); 
     339        } 
    334340 
    335341        $moders  = $inCore->request('moderslist', 'array_int', array()); 
     
    404410        $smarty->assign('friends_list', $friends_list); 
    405411                $smarty->assign('fr_members_list', $fr_members_list); 
     412                $smarty->assign('is_billing', IS_BILLING); 
     413                $smarty->assign('is_admin', $inUser->is_admin); 
    406414        $smarty->display('com_clubs_config.tpl'); 
    407415 
     
    464472    if (clubUserIsMember($id, $user_id)){ return; } 
    465473 
    466     if ( $inCore->inRequest('confirm') ){         
     474    // 
     475    // Îáðàáîòêà çàÿâêè 
     476    // 
     477    if ( $inCore->inRequest('confirm') ){ 
     478 
     479        //ñïèñûâàåì îïëàòó åñëè êëóá ïëàòíûé 
     480        if (IS_BILLING && $club['is_vip'] && $club['join_cost'] && !$inUser->is_admin){ 
     481            if ($inUser->balance >= $club['join_cost']){ 
     482                //åñëè ñðåäñòâ íà áàëàíñå õâàòàåò 
     483                cmsBilling::pay($user_id, $club['join_cost'], sprintf($_LANG['VIP_CLUB_BUY_JOIN'], $club['title'])); 
     484            } else { 
     485                //íåäîñòàòî÷íî ñðåäñòâ, ñîçäàåì òèêåò 
     486                //è îòïðàâëÿåì îïëà÷èâàòü 
     487                $billing_ticket = array( 
     488                    'action' => sprintf($_LANG['VIP_CLUB_BUY_JOIN'], $club['title']),  
     489                    'cost'   => $club['join_cost'], 
     490                    'amount' => $club['join_cost'] - $inUser->balance, 
     491                    'url'    => $_SERVER['REQUEST_URI'] 
     492                ); 
     493                cmsUser::sessionPut('billing_ticket', $billing_ticket); 
     494                $inCore->redirect('/billing/pay');                 
     495            } 
     496        } 
     497 
     498        //äîáàâëÿåì ïîëüçîâàòåëÿ â êëóá 
    467499        clubAddUser($id, $user_id); 
    468500        setClubsRating($id); 
     501 
    469502                //ðåãèñòðèðóåì ñîáûòèå 
    470503                cmsActions::log('add_club_user', array( 
     
    477510                                                'description' => '' 
    478511                )); 
     512 
    479513        $inCore->redirect('/clubs/'.$id); 
    480     } 
    481  
     514         
     515    } 
     516 
     517    // 
     518    // Ôîðìà ïîäòâåðæäåíèÿ çàÿâêè 
     519    // 
    482520    if ( !$inCore->inRequest('confirm') ) { 
    483521 
     
    490528 
    491529            $inPage->backButton(false); 
    492             $confirm['title'] = $_LANG['JOINING_CLUB']; 
    493             $confirm['text'] = $_LANG['YOU_REALY_JOIN_TO'].' <strong>'.$club['title'].'</strong>?'; 
    494             $confirm['action'] = ''; 
     530            $confirm['title']   = $_LANG['JOINING_CLUB']; 
     531            $confirm['text']    = $_LANG['YOU_REALY_JOIN_TO'].' <strong>'.$club['title'].'</strong>?'; 
     532            if ($club['is_vip'] && $club['join_cost'] && !$inUser->is_admin){ 
     533                $confirm['text'] .= '<br/>'.$_LANG['VIP_CLUB_JOIN_COST'].' &mdash; <strong>'.$club['join_cost'].' '.$_LANG['BILLING_POINT10'].'</strong>'; 
     534            } 
     535            $confirm['action']  = ''; 
    495536            $confirm['yes_button']['type'] = 'submit'; 
    496537            $confirm['yes_button']['name'] = 'confirm'; 
     
    532573                $smarty->assign('bbcodetoolbar', cmsPage::getBBCodeToolbar('message')); 
    533574                $smarty->assign('smilestoolbar', cmsPage::getSmilesPanel('message')); 
    534                 $smarty->assign('messages', cmsCore::getSessionMessages()); 
    535575                $smarty->display('com_clubs_messages_member.tpl'); 
    536576        } else { 
  • trunk/components/clubs/model.php

    r705 r750  
    3131                 WHERE c.published = 1 
    3232                 GROUP BY c.id 
    33                  ORDER BY members DESC 
     33                 ORDER BY is_vip DESC, members DESC 
    3434                 LIMIT ".(($page-1)*$perpage).", $perpage"; 
    3535 
     
    152152                    blog_premod = {$item['blog_premod']}, 
    153153                    join_min_karma = {$item['join_min_karma']}, 
    154                     join_karma_limit = {$item['join_karma_limit']} 
     154                    join_karma_limit = {$item['join_karma_limit']}, 
     155                    is_vip = '{$item['is_vip']}', 
     156                    join_cost = '{$item['join_cost']}' 
    155157                WHERE id = $club_id"; 
    156158        $this->inDB->query($sql); 
    157159        return true; 
     160    } 
     161 
     162    public function setVip($club_id, $is_vip, $join_cost){ 
     163 
     164        if (!$is_vip) { $is_vip = 0; } 
     165        if (!$join_cost) { $join_cost = 0; } 
     166 
     167        $sql = "UPDATE cms_clubs 
     168                SET is_vip = '{$is_vip}', 
     169                    join_cost = '{$join_cost}' 
     170                WHERE id = $club_id"; 
     171 
     172        $this->inDB->query($sql); 
     173 
     174        return true; 
     175 
    158176    } 
    159177 
  • trunk/components/content/frontend.php

    r738 r750  
    2121    $inConf     = cmsConfig::getInstance(); 
    2222     
    23         $inCore->loadLib('tags'); 
     23    $inCore->loadLib('tags'); 
    2424    $inCore->loadLib('content'); 
    2525 
    26         $cfg = $inCore->loadComponentConfig('content'); 
    27         // Ïðîâåðÿåì âêëþ÷åíè ëè êîìïîíåíò 
    28         if(!$cfg['component_enabled']) { cmsCore::error404(); } 
     26    $cfg = $inCore->loadComponentConfig('content'); 
     27 
     28    // Ïðîâåðÿåì âêëþ÷åíè ëè êîìïîíåíò 
     29    if(!$cfg['component_enabled']) { cmsCore::error404(); } 
    2930 
    3031    $inCore->loadModel('content'); 
    3132    $model = new cms_model_content(); 
    3233 
     34    define('IS_BILLING', $inCore->isComponentInstalled('billing')); 
     35    if (IS_BILLING) { $inCore->loadClass('billing'); } 
     36 
    3337    global $_LANG; 
    3438 
    3539    if(!isset($cfg['perpage'])) { $cfg['perpage'] = 20; } 
    36         if(!isset($cfg['autokeys'])) { $cfg['autokeys'] = 1; } 
     40    if(!isset($cfg['autokeys'])) { $cfg['autokeys'] = 1; } 
    3741    if(!isset($cfg['af_showlink'])) { $cfg['af_showlink'] = 1; } 
    3842    if(!isset($cfg['readdesc'])) { $cfg['readdesc'] = 0; } 
    3943    if(!isset($cfg['rating'])) { $cfg['rating'] = 1; } 
    4044 
    41         if(!isset($cfg['img_small_w'])) { $cfg['img_small_w'] = 100; } 
    42         if(!isset($cfg['img_big_w'])) { $cfg['img_big_w'] = 200; } 
     45    if(!isset($cfg['img_small_w'])) { $cfg['img_small_w'] = 100; } 
     46    if(!isset($cfg['img_big_w'])) { $cfg['img_big_w'] = 200; } 
    4347    if(!isset($cfg['img_sqr'])) { $cfg['img_sqr'] = 1; } 
    4448    if(!isset($cfg['img_users'])) { $cfg['img_users'] = 1; } 
    4549 
    46         $id = $inCore->request('id', 'int', 0); 
    47         $do = $inCore->request('do', 'str', 'view'); 
     50    $id = $inCore->request('id', 'int', 0); 
     51    $do = $inCore->request('do', 'str', 'view'); 
    4852 
    4953///////////////////////////////////// VIEW CATEGORY //////////////////////////////////////////////////////////////////////////////// 
     
    346350 
    347351    if ( !$inCore->inRequest('add_mod') ){ 
    348                 $inPage->addPathway($inUser->nickname, cmsUser::getProfileURL($inUser->login)); 
     352 
     353        $inPage->addPathway($inUser->nickname, cmsUser::getProfileURL($inUser->login)); 
    349354        $inPage->addPathway($_LANG['MY_ARTICLES'], '/content/my.html'); 
     355 
    350356        if ($do=='addarticle'){ 
    351357            $inPage->setTitle($_LANG['ADD_ARTICLE']); 
    352358            $inPage->addPathway($_LANG['ADD_ARTICLE']); 
    353359            $pagetitle = $_LANG['ADD_ARTICLE']; 
     360 
     361            // ïîääåðæêà áèëëèíãà 
     362            $dynamic_cost = false; 
     363            if (IS_BILLING){              
     364                $pubcats        = $model->getPublicCats();                 
     365                $action         = cmsBilling::getAction('content', 'add_content'); 
     366                foreach($pubcats as $p=>$pubcat){ 
     367                    if ($pubcat['cost']){ 
     368                        $dynamic_cost = true; 
     369                    } else { 
     370                        $pubcats[$p]['cost'] = $action['point_cost'][$inUser->group_id]; 
     371                    } 
     372                } 
     373                cmsBilling::checkBalance('content', 'add_content', $dynamic_cost); 
     374            } 
     375 
    354376        } 
    355377 
     
    367389                $add_notice = '<p><strong>'.$_LANG['ATTENTION'].':</strong> '.$_LANG['EDIT_ARTICLE_PREMODER'].'</p>'; 
    368390            } 
    369         } 
    370  
    371         if (isset($mod['category_id'])){ 
    372             $pubcats = $inCore->getListItemsNS('cms_category', $mod['category_id'], '', 'is_public'); 
    373         } else { 
    374             $pubcats = $inCore->getListItemsNS('cms_category', 0, '', 'is_public'); 
    375391        } 
    376392 
     
    385401        $smarty->assign('add_notice', $add_notice); 
    386402        $smarty->assign('is_admin', $is_admin); 
     403        $smarty->assign('is_billing', IS_BILLING); 
     404        $smarty->assign('dynamic_cost', $dynamic_cost); 
    387405        $smarty->assign('autocomplete_js', $autocomplete_js); 
    388406        $smarty->display('com_content_edit.tpl'); 
     
    410428 
    411429        $article['published']           = $is_auto_add ? 1 : 0; 
    412           if ($do=='editarticle'){ 
    413                $article['published']           = ($mod['published'] == 0) ? $mod['published'] : $article['published']; 
    414           } 
     430        if ($do=='editarticle'){ 
     431           $article['published']           = ($mod['published'] == 0) ? $mod['published'] : $article['published']; 
     432        } 
    415433        $article['pubdate']             = $mod['pubdate'] ? $mod['pubdate'] : date('Y-m-d H:i'); 
    416434        $article['enddate']             = $article['pubdate']; 
     
    432450 
    433451            $article['id'] = $model->addArticle($article); 
     452 
     453            if (IS_BILLING){             
     454                $category_cost = $inDB->get_field('cms_category', "id='{$article['category_id']}'", 'cost'); 
     455                $category_cost = $category_cost==='' ? false : (int)$category_cost; 
     456                cmsBilling::process('content', 'add_content', $category_cost); 
     457            } 
    434458 
    435459            $id = $article['id']; 
  • trunk/components/content/model.php

    r645 r750  
    178178 
    179179        $subcats = cmsCore::callEvent('GET_CONTENT_SUBCATS', $subcats); 
     180 
     181        return $subcats; 
     182 
     183    } 
     184 
     185    public function getPublicCats() { 
     186 
     187        $inCore = cmsCore::getInstance(); 
     188 
     189        $nested_sets    = $inCore->nestedSetsInit('cms_category'); 
     190        $rootid         = $this->inDB->get_field('cms_category', 'parent_id=0', 'id'); 
     191 
     192        $rs_rows        = $nested_sets->SelectSubNodes($rootid); 
     193 
     194        if ($rs_rows){ 
     195            while($node = $this->inDB->fetch_assoc($rs_rows)){ 
     196                if($node['is_public']) { $subcats[] = $node; } 
     197            } 
     198        } 
     199 
     200        $subcats = cmsCore::callEvent('GET_CONTENT_PUBCATS', $subcats); 
    180201 
    181202        return $subcats; 
  • trunk/components/faq/frontend.php

    r594 r750  
    2222    $model = new cms_model_faq(); 
    2323 
     24    define('IS_BILLING', $inCore->isComponentInstalled('billing')); 
     25    if (IS_BILLING) { $inCore->loadClass('billing'); } 
     26 
    2427        global $_LANG; 
    2528         
     
    2831        if(!$cfg['component_enabled']) { cmsCore::error404(); } 
    2932 
     33    if(!isset($cfg['guest_enabled'])) { $cfg['guest_enabled'] = 1; } 
    3034    if(!isset($cfg['user_link'])) { $cfg['user_link'] = 1; } 
    3135    if(!isset($cfg['publish'])) { $cfg['publish'] = 0; } 
     
    125129        $smarty->assign('quests', $quests); 
    126130        $smarty->assign('cfg', $cfg); 
    127         $smarty->assign('is_quests', $is_quests);        
     131        $smarty->assign('is_quests', $is_quests); 
     132        $smarty->assign('is_user', $inUser->id); 
    128133        $smarty->assign('pagebar', cmsPage::getPagebar($records, $page, $perpage, '/faq/%id%-%page%', array('id'=>$id)));                
    129134        $smarty->display('com_faq_view.tpl');            
     
    171176if ($do=='sendquest'){ 
    172177 
     178    if (!$inUser->id && !$cfg['guest_enabled']){ cmsCore::error404(); } 
     179 
    173180        $inPage->setTitle($_LANG['ASK_QUES']); 
    174181        $inPage->addPathway($_LANG['ASK_QUES']); 
     
    187194 
    188195        if (!$is_submit || $error){ 
     196 
     197        if (IS_BILLING && $inUser->id){ cmsBilling::checkBalance('faq', 'add_quest'); } 
     198 
    189199                //FORM                                                           
    190200                $smarty = $inCore->initSmarty('components', 'com_faq_add.tpl');                  
     
    194204                $smarty->assign('error', $error); 
    195205                $smarty->display('com_faq_add.tpl'); 
     206 
    196207        } else { 
    197208                 
     
    202213                 
    203214                $quest_id = $inDB->get_last_id('cms_faq_quests'); 
    204                  
     215 
     216        if (IS_BILLING && $inUser->id){ cmsBilling::process('faq', 'add_quest'); } 
     217 
    205218                $inPage->setTitle($_LANG['QUESTION_SEND']); 
    206219                $inPage->addPathway($_LANG['QUESTION_SEND'], $_SERVER['REQUEST_URI']); 
  • trunk/components/forum/frontend.php

    r738 r750  
    147147    $inCore->loadModel('forum'); 
    148148    $model = new cms_model_forum(); 
     149 
     150    define('IS_BILLING', $inCore->isComponentInstalled('billing')); 
     151    if (IS_BILLING) { $inCore->loadClass('billing'); } 
    149152 
    150153    $menutitle = $inCore->menuTitle(); 
     
    671674                $forum = $model->getForum($id); 
    672675                 
    673                 if ($do == 'newthread') {  
     676                if ($do == 'newthread') { 
     677 
     678            if (IS_BILLING && $forum['topic_cost']){ 
     679                cmsBilling::checkBalance('forum', 'add_thread', false, $forum['topic_cost']); 
     680            } 
     681 
    674682                        $inPage->setTitle($_LANG['NEW_THREAD']); 
    675683                        $inPage->addPathway($_LANG['NEW_THREAD'], $_SERVER['REQUEST_URI']); 
    676684                        echo '<div class="con_heading">'.$_LANG['NEW_THREAD'].'</div>'; 
     685 
    677686                } else { 
    678687                        if ($do == 'newpost'){ 
     
    913922                        } else { 
    914923                            uploadError($threadlastid, $post_id, $cfg['fa_size'], $cfg['fa_ext']); 
     924                        } 
     925 
     926                        if (IS_BILLING && $forum['topic_cost']){ 
     927                            cmsBilling::process('forum', 'add_thread', $forum['topic_cost']); 
    915928                        } 
    916929 
  • trunk/components/photos/frontend.php

    r705 r750  
    255255        $smarty->assign('cons', $cons); 
    256256        $smarty->assign('is_poto_yes', $is_poto_yes); 
    257         $smarty->assign('messages', cmsCore::getSessionMessages());      
    258257        $smarty->assign('pagebar', cmsPage::getPagebar($total, $page, $perpage, '/photos/%catid%-%page%', array('catid'=>$id))); 
    259258        $smarty->assign('is_subcats', $is_subcats); 
  • trunk/components/users/frontend.php

    r726 r750  
    518518                                 
    519519                                        $smarty->assign('opt', $opt); 
    520                                         $smarty->assign('messages', cmsCore::getSessionMessages()); 
    521520                                        $smarty->assign('usr', $usr);                    
    522521                                        $smarty->assign('dateform', $inCore->getDateForm('birthdate', false, $usr['bday'], $usr['bmonth'], $usr['byear'])); 
     
    680679        $smarty->assign('avatar', usrImageNOdb($usr['id'], 'big', $usr['imageurl'], $usr['is_deleted'])); 
    681680        $smarty->assign('usr', $usr); 
    682                 $smarty->assign('messages', cmsCore::getSessionMessages()); 
    683681        $smarty->display('com_users_not_allow.tpl'); 
    684682        return; 
     
    711709         
    712710    $usr['friends']                             = usrFriends($usr['id'], $usr['friends_total'], 6); 
    713                 $usr['isfriend']                        = (($inUser->id && !$myprofile) ? usrIsFriends($usr['id'], $inUser->id) : false); 
    714                 $usr['isfriend_not_add']        = $usr['isfriend']; 
     711    $usr['isfriend']                    = (($inUser->id && !$myprofile) ? usrIsFriends($usr['id'], $inUser->id) : false); 
     712    $usr['isfriend_not_add']    = $usr['isfriend']; 
    715713    $usr['is_new_friends']              = ($inUser->id==$usr['id'] && $model->isNewFriends($usr['id'])); 
    716         if ($usr['is_new_friends']){ 
    717             $usr['new_friends']         = usrFriendQueriesList($usr['id'], $model); 
    718         } 
     714     
     715    if ($usr['is_new_friends']){ 
     716        $usr['new_friends']     = usrFriendQueriesList($usr['id'], $model); 
     717    } 
    719718 
    720719    if ($usr['friends'] && $inUser->id && $myprofile && $cfg['sw_feed']){ 
     
    772771    } 
    773772 
    774     if($cfg['sw_files']) 
     773    if($cfg['sw_files']){ 
    775774        if ($inUser->id==$id){ 
    776775            $usr['files_count'] = $inDB->rows_count('cms_user_files', "user_id = ".$usr['id']." AND allow_who = 'all'"); 
     
    778777            $usr['files_count'] = $inDB->rows_count('cms_user_files', 'user_id = '.$usr['id']); 
    779778        } 
     779    } 
    780780 
    781781    $usr['blog_link'] = ''; 
    782782        if($cfg['sw_blogs']){ 
    783                 $usr['blog']            = usrBlog($usr['id']); 
     783    $usr['blog']            = usrBlog($usr['id']); 
    784784    $usr['blog_id']         = $usr['blog']['id']; 
    785785    $usr['blog_seolink']    = $usr['blog']['seolink']; 
     
    833833    $smarty->assign('usr', $usr); 
    834834    $smarty->assign('plugins', $plugins); 
    835     $smarty->assign('messages', cmsCore::getSessionMessages()); 
    836835    $smarty->assign('cfg', $cfg); 
    837836    $smarty->assign('myprofile', $myprofile); 
     
    951950                        $smarty = $inCore->initSmarty('components', 'com_users_avatar_upload.tpl'); 
    952951                $smarty->assign('id', $id); 
    953                         $smarty->assign('messages', cmsCore::getSessionMessages()); 
    954952                $smarty->display('com_users_avatar_upload.tpl'); 
    955953                         
     
    19451943        $smarty->assign('bbcodetoolbar', cmsPage::getBBCodeToolbar('message')); 
    19461944        $smarty->assign('smilestoolbar', cmsPage::getSmilesPanel('message')); 
    1947         $smarty->assign('messages', cmsCore::getSessionMessages()); 
    19481945        $smarty->assign('id_admin', $inCore->userIsAdmin($inUser->id)); 
    19491946        $smarty->display('com_users_messages_add.tpl'); 
  • trunk/components/users/messages.php

    r726 r750  
    148148    $smarty->assign('with_name', $with_name); 
    149149    $smarty->assign('msg_count', $msg_count); 
    150     $smarty->assign('messages', cmsCore::getSessionMessages()); 
    151150    $smarty->assign('pagebar', $pagebar); 
    152151    $smarty->assign('perpage', $perpage); 
  • trunk/components/users/model.php

    r728 r750  
    6161                                u.group_id, 
    6262                                g.title as grp, 
     63                                g.alias as group_alias, 
    6364                                o.user_id as status, 
    6465                                b.user_id as banned, 
  • trunk/core/cms.php

    r738 r750  
    21842184                if (!$this->checkContentAccess($access_list) && $menuid != 0) {  
    21852185 
    2186                         $inPage->page_body = '<p>Äîñòóï çàïðåùåí</p>'; 
     2186            ob_start(); 
     2187 
     2188            $inPage->includeTemplateFile('special/accessdenied.php'); 
     2189 
     2190                        $inPage->page_body = ob_get_clean(); 
     2191            return false; 
    21872192 
    21882193                } else { 
  • trunk/includes/graphic.inc.php

    r703 r750  
    7272  if ($size === false) return false; 
    7373 
     74  $new_width   = $size[0]; 
     75  $new_height  = $size[1]; 
     76 
    7477  if (($new_height <= $maxheight) && ($new_width <= $maxwidth)){ 
    7578      @copy($src, $dest); 
  • trunk/index.php

    r709 r750  
    103103        if ($menuid > 1) { $inPage->addMenuPathway($menuid); } 
    104104 
    105         //Ñòðîèì òåëî ñòðàíèöû (çàïóñêàåì òåêóùèé êîìïîíåíò) 
    106     $inCore->proceedBody(); 
    107  
    108105        //Ïðîâåðÿåì äîñòóï ïîëüçîâàòåëÿ 
    109106    //Åñëè ïðîâåðêà çàâåðøèòñÿ íåóäà÷åé, òî âûâîä êîìïîíåíòà áóäåò 
    110107    //çàìåùåí ñîîáùåíèåì "Äîñòóï çàïðåùåí" 
    111         $inCore->checkMenuAccess(); 
     108         
     109 
     110        //Ñòðîèì òåëî ñòðàíèöû (çàïóñêàåì òåêóùèé êîìïîíåíò) 
     111    if ($inCore->checkMenuAccess()) $inCore->proceedBody(); 
    112112 
    113113//////////////////////////////////// Âûâîä øàáëîíà ///////////////////////////// 
  • trunk/languages/ru/components/board.php

    r594 r750  
    8686$_LANG['ORDERBY_ASC']             ='ïî âîçðàñòàíèþ'; 
    8787$_LANG['FILTER']                  ='Ôèëüòð'; 
     88$_LANG['MARK_AS_VIP']             ='Ñäåëàòü VIP'; 
     89$_LANG['VIP_STATUS']              ='VIP-ñòàòóñ'; 
     90$_LANG['VIP_BUY_LOG']             ='VIP-îáúÿâëåíèå'; 
     91$_LANG['VIP_ITEM']                ='VIP-îáúÿâëåíèå'; 
    8892?> 
  • trunk/languages/ru/components/clubs.php

    r705 r750  
    108108$_LANG['CLUB_EXISTS']                   ='Êëóá ñ òàêèì íàçâàíèåì óæå ñóùåñòâóåò'; 
    109109$_LANG['CLUB_REQ_TITLE']                ='Íåëüçÿ ñîçäàòü êëóá áåç íàçâàíèÿ!'; 
    110  
    111110$_LANG['USER_HAS_CLUB']                 ='Âû óæå ñîçäàëè êëóá ñ êàðìîé %create_karma% è ÿâëÿåòåñü åãî àäìèíèñòðàòîðîì. Âû ìîæåòå ñîçäàâàòü êëóáû êàæäûå %every_karma% ïóíêòîâ ñâîåé êàðìû. Âàøà êàðìà ñåé÷àñ: %karma%, íîâûé êëóá Âû ìîæåòå ñîçäàòü íàáðàâ %new_karma% ïóíêòîâ êàðìû.'; 
    112111$_LANG['USER_HAS_ONE_CLUB']             ='Âû óæå ñîçäàëè êëóá è ÿâëÿåòåñü åãî àäìèíèñòðàòîðîì. Âû íå ìîæåòå ñîçäàòü áîëåå îäíîãî êëóáà.'; 
    113112$_LANG['NEED_KARMA_TEXT_ACCESS']        ='Ó âàñ íå õâàòàåò êàðìû(%karma%). Äëÿ ñîçäàíèÿ êëóáà, íåîáõîäèìî íå ìåíåå %min_karma% ïóíêòîâ.'; 
    114113$_LANG['NEED_RATING_TEXT_ACCESS']       ='Ó âàñ íå õâàòàåò ðåéòèíãà(%rating%). Äëÿ ñîçäàíèÿ êëóáà, íåîáõîäèìî íå ìåíåå %min_rating% ïóíêòîâ.'; 
     114$_LANG['VIP_CLUB']                      ='VIP-êëóá'; 
     115$_LANG['VIP_CLUB_JOIN_COST']            ='Ñòîèìîñòü âñòóïëåíèÿ â êëóá'; 
     116$_LANG['VIP_CLUB_BUY_JOIN']             ='Âñòóïëåíèå â VIP-êëóá: %s'; 
    115117?> 
  • trunk/languages/ru/lang.php

    r705 r750  
    111111$_LANG['WROTE']                 ='íàïèñàë'; 
    112112$_LANG['MODULE_NOT_CONFIGURED'] ='Ìîäóëü íå íàñòðîåí'; 
     113$_LANG['BILLING_COST']          ='Ñòîèìîñòü'; 
     114$_LANG['BILLING_POINT1']        ='áàëë'; 
     115$_LANG['BILLING_POINT2']        ='áàëëà'; 
     116$_LANG['BILLING_POINT10']       ='áàëëîâ'; 
     117$_LANG['ANTISPAM']              ='Çàùèòà îò ñïàìà'; 
    113118?> 
  • trunk/languages/ru/modules/mod_usermenu.php

    r465 r750  
    2121$_LANG['USERMENU_MY_RSS']              ='Ìîÿ ëåíòà'; 
    2222$_LANG['USERMENU_MESS']                ='Ñîîáùåíèÿ'; 
    23 $_LANG['USERMENU_MY_BLOG']             ='Ìîé áëîã'; 
     23$_LANG['USERMENU_MY_BLOG']             ='Áëîã'; 
    2424$_LANG['USERMENU_MY_CONTENT']          ='Ìîé êîíòåíò'; 
    2525$_LANG['USERMENU_PHOTOALBUM']          ='Ôîòîàëüáîì'; 
     
    2828$_LANG['USERMENU_ARTICLES']            ='Ñòàòüè'; 
    2929$_LANG['USERMENU_ADMININTER']          ='Àäìèíêà'; 
    30 $_LANG['USERMENU_ADD_ARTICLE']         ='Äîáàâèòü ñòàòüþ'; 
     30$_LANG['USERMENU_ADD_ARTICLE']         ='Íàïèñàòü'; 
    3131$_LANG['USERMENU_EXIT']                ='Âûõîä'; 
    3232?> 
  • trunk/migrate/index.php

    r726 r750  
    151151// ========================================================================== // 
    152152    if (!$inDB->isFieldExists('cms_clubs', 'create_karma')){ 
    153         $inDB->query("ALTER TABLE `cms_clubs` ADD `create_karma` INT( 11 ) NOT NULL AFTER `join_karma_limit`"); 
     153        $inDB->query("ALTER TABLE `cms_clubs` ADD `is_vip` INT( 11 ) NOT NULL AFTER `join_karma_limit`"); 
    154154        echo '<p>Ïîëå <strong>create_karma</strong> äîáàâëåíî â òàáëèöó <strong>cms_clubs</strong></p>'; 
    155155                $is_was_migrate = true; 
    156     }    
     156    } 
     157    if (!$inDB->isFieldExists('cms_clubs', 'is_vip')){ 
     158        $inDB->query("ALTER TABLE `cms_clubs` ADD `is_vip` TINYINT NOT NULL DEFAULT '0'"); 
     159        echo '<p>Ïîëå <strong>is_vip</strong> äîáàâëåíî â òàáëèöó <strong>cms_clubs</strong></p>'; 
     160                $is_was_migrate = true; 
     161    } 
     162    if (!$inDB->isFieldExists('cms_clubs', 'join_cost')){ 
     163        $inDB->query("ALTER TABLE `cms_clubs` ADD `join_cost` FLOAT NOT NULL"); 
     164        echo '<p>Ïîëå <strong>join_cost</strong> äîáàâëåíî â òàáëèöó <strong>cms_clubs</strong></p>'; 
     165                $is_was_migrate = true; 
     166    } 
    157167// ========================================================================== // 
    158168// ========================================================================== // 
     
    161171        echo '<p>Ïîëå <strong>content_bbcode</strong> äîáàâëåíî â òàáëèöó <strong>cms_comments</strong></p>'; 
    162172                $is_was_migrate = true; 
    163     }    
     173    } 
    164174// ========================================================================== // 
    165175// ========================================================================== // 
     
    176186        $is_was_migrate = true; 
    177187    }    
     188 
     189    if ($inDB->isFieldExists('cms_board_items', 'is_vip')){ 
     190        $inDB->query("ALTER TABLE `cms_board_items` ADD `is_vip` TINYINT NOT NULL DEFAULT '0'"); 
     191        $inDB->query("ALTER TABLE `cms_board_items` ADD `vipdate` DATETIME NOT NULL"); 
     192        echo '<p>Ïîëÿ <strong>is_vip</strong>, <strong>vipdate</strong> äîáàâëåíû â òàáëèöó <strong>cms_board_items</strong></p>'; 
     193        $is_was_migrate = true; 
     194    } 
     195 
     196    if ($inDB->isFieldExists('cms_category', 'cost')){ 
     197        $inDB->query("ALTER TABLE `cms_category` ADD `cost` VARCHAR( 5 ) NOT NULL"); 
     198        $is_was_migrate = true; 
     199    } 
     200 
     201    if ($inDB->isFieldExists('cms_uc_cats', 'cost')){ 
     202        $inDB->query("ALTER TABLE `cms_uc_cats` ADD `cost` VARCHAR( 5 ) NOT NULL"); 
     203        $is_was_migrate = true; 
     204    } 
     205 
     206    if ($inDB->isFieldExists('cms_forums', 'topic_cost')){ 
     207        $inDB->query("ALTER TABLE `cms_forums` ADD `topic_cost` FLOAT NOT NULL DEFAULT '0'"); 
     208        $is_was_migrate = true; 
     209    } 
    178210 
    179211// ========================================================================== // 
  • trunk/modules/mod_latestboard/module.php

    r465 r750  
    3434                 
    3535                $sql = "SELECT i.title, i.id, i.city as city, u.id as user_id, u.nickname as nickname, 
    36                                            i.pubdate as pubdate 
     36                                           i.pubdate as pubdate, i.is_vip as is_vip 
    3737                                FROM cms_board_items i 
    3838                                LEFT JOIN cms_board_cats cat ON cat.id = i.category_id 
     
    5959                } 
    6060 
    61                         $smarty = $inCore->initSmarty('modules', 'mod_latestboard.tpl');                         
    62                         $smarty->assign('items', $items); 
    63                         $smarty->assign('cfg', $cfg); 
     61        $smarty = $inCore->initSmarty('modules', 'mod_latestboard.tpl'); 
     62        $smarty->assign('items', $items); 
     63        $smarty->assign('cfg', $cfg); 
    6464                $smarty->assign('is_items', $is_items); 
    65                         $smarty->display('mod_latestboard.tpl'); 
     65        $smarty->display('mod_latestboard.tpl'); 
    6666                         
    6767                return true;                             
  • trunk/modules/mod_usermenu/module.php

    r740 r750  
    1515        $inUser     = cmsUser::getInstance(); 
    1616                                                 
    17                 if (!$inUser->id){ return false; } 
     17        if (!$inUser->id){ return false; } 
    1818 
    1919        $cfg            = $inCore->loadModuleConfig($module_id); 
     
    4848        $smarty->assign('blog_href', $blog_href); 
    4949        $smarty->assign('users_cfg', $users_cfg); 
     50        $smarty->assign('is_billing', $is_billing); 
    5051        $smarty->assign('balance', $balance); 
    5152        $smarty->display('mod_usermenu.tpl'); 
  • trunk/templates/_default_/components/com_board_edit.tpl

    r594 r750  
    1 {if $messages} 
    2     <div class="sess_messages"> 
    3         {foreach key=id item=message from=$messages} 
    4             {$message} 
    5         {/foreach} 
    6     </div> 
    7 {/if} 
    81<form action="{$action}" method="post" enctype="multipart/form-data"> 
    92        <table cellpadding="2"> 
     
    3528                        </td> 
    3629                </tr> 
     30                {if $category_id} 
     31                        <tr> 
     32                                <td height="30"><span>{$LANG.MOVE_TO_CAT}:</span></td> 
     33                                <td> 
     34                                        <select name="category_id" id="category_id" style="width:406px"> 
     35                                                <option value="0">-- {$LANG.DONT_MOVE} --</option> 
     36                                                {$catslist} 
     37                                        </select> 
     38                                </td> 
     39                        </tr> 
     40                {/if} 
     41                {if $cfg.photos && $cat.is_photos} 
     42                        <tr> 
     43                                <td><span>{$LANG.PHOTO}:</span></td> 
     44                                <td> 
     45                    <input name="picture" type="file" id="picture" /> 
     46                    {if strlen($file)} 
     47                        <input type="checkbox" name="delphoto" value="1" id="delphoto" /> {$LANG.DEL_PHOTO} 
     48                    {/if} 
     49                </td> 
     50                        </tr> 
     51                {/if} 
    3752                {if $form_do == 'edit'} 
    3853                        <tr> 
     
    5065                                                <option value="30">30</option> 
    5166                                                <option value="50">50</option> 
    52                                         </select>  {$LANG.DAYS} 
     67                                        </select> {$LANG.DAYS} 
    5368                                </td> 
    5469                        </tr> 
     
    7489            {/if} 
    7590        {/if} 
    76                 {if $cfg.photos && $cat.is_photos} 
     91 
     92        {if $form_do == 'edit' && $is_vip} 
    7793                        <tr> 
    78                                 <td><span>{$LANG.PHOTO}:</span></td> 
    79                                 <td><input name="picture" type="file" id="picture" style="width:400px;" /></td> 
     94                                <td height="35"><span>{$LANG.VIP_STATUS}:</span></td> 
     95                                <td height="35">äî {$vipdate}</td> 
    8096                        </tr> 
    81                         {if strlen($file)} 
    82                                 <tr> 
    83                                         <td height="30" valign="middle"><span>{$LANG.DEL_PHOTO}:</span></td> 
    84                                         <td valign="middle"><input type="checkbox" name="delphoto" value="1" id="delphoto" /></td> 
    85                                 </tr> 
    86                         {/if} 
     97        {/if} 
     98 
     99                {if $is_admin || ($is_billing && $cfg.vip_enabled && ($form_do=='add' || ($form_do=='edit' && $cfg.vip_prolong)))} 
     100                        <tr> 
     101                                <td> 
     102                    <span>{$LANG.MARK_AS_VIP}:</span> 
     103                    <div style="color:gray"> 
     104                        VIP-îáúÿâëåíèÿ âûäåëÿþòñÿ öâåòîì è âñåãäà íàõîäÿòñÿ â íà÷àëå ñïèñêà 
     105                    </div> 
     106                </td> 
     107                                <td valign="top" style="padding-top:5px"> 
     108                    <select id="vipdays" name="vipdays" {if !$is_admin}onchange="calculateVip()"{/if}> 
     109                        {section name=vipdays start=0 loop=$cfg.vip_max_days+1 step=1} 
     110                            <option value="{$smarty.section.vipdays.index}"> 
     111                                {$smarty.section.vipdays.index} 
     112                            </option> 
     113                        {/section} 
     114                    </select> 
     115                    {$LANG.DAYS} 
     116 
     117                    {if !$is_admin} 
     118                        <input type="hidden" id="vip_day_cost" name="vip_day_cost" value="{$cfg.vip_day_cost}" /> 
     119                        <input type="hidden" id="balance" name="balance" value="{$balance}" /> 
     120                        <div id="vip_cost" style="margin-top:10px;display: none"> 
     121                            Ñòîèìîñòü: <span>20</span> áàëëîâ 
     122                        </div> 
     123 
     124                        <script type="text/javascript"> 
     125                            {literal} 
     126                                function calculateVip(){ 
     127 
     128                                    var days = $('#vipdays').val(); 
     129                                    var cost = $('#vip_day_cost').val(); 
     130 
     131                                    if (Number(days)==0){ 
     132                                        $('#vip_cost').hide().find('span').html('0'); 
     133                                    } else { 
     134                                        var summ = days * cost; 
     135                                        $('#vip_cost').show().find('span').html(summ); 
     136                                    } 
     137 
     138                                } 
     139 
     140                                function checkBalance(){ 
     141                                    var cost    = Number($('#vip_cost span').html()); 
     142                                    var balance = Number($('#balance').val()); 
     143 
     144                                    if (balance < cost){ 
     145                                        alert('Íà âàøåì áàëàíñå íå äîñòàòî÷íî ñðåäñòâ\näëÿ ïîêóïêè VIP-ñòàòóñà íà óêàçàííûé ñðîê'); 
     146                                        return false; 
     147                                    } else { 
     148                                        return true; 
     149                                    } 
     150                                } 
     151                            {/literal} 
     152                        </script> 
     153                    {/if} 
     154 
     155                                </td> 
     156                        </tr> 
    87157                {/if} 
    88158 
    89                 {if $category_id} 
    90                         <tr> 
    91                                 <td height="30"><span>{$LANG.MOVE_TO_CAT}:</span></td> 
    92                                 <td> 
    93                                         <select name="category_id" id="category_id" style="width:400px"> 
    94                                                 <option value="0">-- {$LANG.DONT_MOVE} --</option> 
    95                                                 {$catslist} 
    96                                         </select> 
    97                                 </td> 
    98                         </tr>    
    99                 {/if} 
    100159        {if !$is_admin} 
    101160                <tr> 
    102                         <td valign="top">&nbsp;</td> 
     161                        <td valign="top">{$LANG.ANTISPAM}:</td> 
    103162                        <td>{php}echo cmsPage::getCaptcha();{/php}</td> 
    104163                </tr> 
     
    106165                <tr> 
    107166                        <td height="40" colspan="2" valign="middle"> 
    108                                 <input name="submit" type="submit" id="submit" style="margin-top:10px;font-size:18px" value="{$LANG.SAVE_ADV}" /> 
     167                                <input name="submit" type="submit" id="submit" style="margin-top:10px;font-size:18px" value="{$LANG.SAVE_ADV}" {if $is_admin || ($is_billing && $cfg.vip_enabled)}onclick="if(!checkBalance())return false;"{/if} /> 
    109168                        </td> 
    110169                </tr> 
  • trunk/templates/_default_/components/com_board_item.tpl

    r594 r750  
    22{* ==================== Ïðîñìîòð îáúÿâëåíèÿ (íà äîñêå îáúÿâëåíèé) ================= *} 
    33{* ================================================================================ *} 
    4 {if $messages} 
    5     <div class="sess_messages"> 
    6         {foreach key=id item=message from=$messages} 
    7             {$message} 
    8         {/foreach} 
    9     </div> 
    10 {/if} 
    114<div class="bd_item_details_full"> 
     5    {if $item.is_vip} 
     6        <span class="bd_item_is_vip">{$LANG.VIP_ITEM}</span> 
     7    {/if} 
    128        <span class="bd_item_date">{$item.pubdate}</span> 
    139        {if $item.city} 
  • trunk/templates/_default_/components/com_board_items.tpl

    r594 r750  
    44 
    55<div class="board_gallery"> 
    6 {if $messages} 
    7     <div class="sess_messages"> 
    8         {foreach key=id item=message from=$messages} 
    9             {$message} 
    10         {/foreach} 
    11     </div> 
    12 {/if} 
    136        {if $is_items} 
    147                <table width="100%" cellpadding="0" cellspacing="0" border="0"> 
     
    1710                                {if $col==1} <tr> {/if}                                  
    1811                                <td valign="top" width="{$colwidth}%"> 
    19                     <div class="bd_item"> 
     12                    <div class="bd_item{if $con.is_vip}_vip{/if}"> 
    2013                                        <table width="100%" height="" cellspacing="" cellpadding="0"> 
    2114                                                <tr> 
  • trunk/templates/_default_/components/com_clubs_config.tpl

    r594 r750  
    1515<div id="configtabs" style="margin-top:20px"> 
    1616        <ul id="tabs">  
    17                 <li><a href="#tab1"><span>{$LANG.CLUB_DESC}</span></a></li> 
    18                 <li><a href="#tab2"><span>{$LANG.MODERATORS}</span></a></li> 
    19                 <li><a href="#tab3"><span>{$LANG.MEMBERS}</span></a></li> 
     17                <li><a href="#about"><span>{$LANG.CLUB_DESC}</span></a></li> 
     18                <li><a href="#moders"><span>{$LANG.MODERATORS}</span></a></li> 
     19                <li><a href="#members"><span>{$LANG.MEMBERS}</span></a></li> 
    2020                {if $club.enabled_photos || $club.enabled_blogs} 
    21                 <li><a href="#tab4"><span>{$LANG.LIMITS}</span></a></li> 
     21            <li><a href="#limits"><span>{$LANG.LIMITS}</span></a></li> 
    2222                {/if} 
     23        {if $is_admin} 
     24            <li><a href="#vip"><span>VIP</span></a></li> 
     25        {/if} 
    2326        </ul>  
    2427         
    2528        {* ============================== ÇÀÊËÀÄÊÀ ¹1 ============================================== *} 
    26         <div id="tab1">  
     29        <div id="about"> 
    2730                <table width="100%" border="0" cellspacing="0" cellpadding="10" style="border-bottom:solid 1px silver;margin-bottom:20px"> 
    2831                        <tr> 
     
    4346        </div> 
    4447 
    45         <div id="tab2">  
     48        <div id="moders"> 
    4649                <table width="500" border="0" cellspacing="0" cellpadding="10" id="multiuserscfg"> 
    4750                        <tr> 
     
    7174        </div> 
    7275 
    73         <div id="tab3">          
     76        <div id="members"> 
    7477                <table width="550" border="0" cellspacing="0" cellpadding="10"> 
    7578                        <tr> 
     
    129132         
    130133        {if $club.enabled_photos || $club.enabled_blogs} 
    131         <div id="tab4">          
     134        <div id="limits"> 
    132135                <table width="500" border="0" cellspacing="0" cellpadding="10"> 
    133136                        {if $club.enabled_blogs} 
     
    186189        {/if} 
    187190         
     191        {if $is_admin} 
     192        <div id="vip"> 
     193        {if !$is_billing} 
     194            <p> 
     195                Äëÿ ïîääåðæêè VIP-êëóáîâ íåîáõîäèì êîìïîíåíò &laquo;<a href="http://www.instantcms.ru/billing/about.html">Áèëëèíã ïîëüçîâàòåëåé</a>&raquo; 
     196            </p> 
     197            <p> 
     198                Ïîäêëþ÷èâ áèëëèíã âû ñìîæåòå ïðèñâîèòü VIP-ñòàòóñ ëþáîìó êëóáó è óñòàíîâèòü ðàçìåð îïëàòû çà âñòóïëåíèå â ýòîò êëóá. 
     199            </p> 
     200        {else} 
     201            <table width="500" border="0" cellspacing="0" cellpadding="10"> 
     202                <tr> 
     203                    <td> 
     204                        <label><strong>{$LANG.VIP_CLUB}:</strong></label> 
     205                    </td> 
     206                    <td width="150"> 
     207                        <input name="is_vip" type="radio" value="1" {if $club.is_vip}checked{/if}/> {$LANG.YES} 
     208                        <input name="is_vip" type="radio" value="0" {if !$club.is_vip}checked{/if}/> {$LANG.NO} 
     209                    </td> 
     210                </tr> 
     211                <tr> 
     212                    <td> 
     213                        <label>{$LANG.VIP_CLUB_JOIN_COST}:</label> 
     214                    </td> 
     215                    <td width="150"> 
     216                        <input name="join_cost" type="text" style="width:60px" value="{$club.join_cost}"/> {$LANG.BILLING_POINT10} 
     217                    </td> 
     218                </tr> 
     219            </table> 
     220        {/if} 
     221        </div> 
     222        {/if} 
     223 
    188224</div> 
    189225 
  • trunk/templates/_default_/components/com_clubs_create.tpl

    r458 r750  
    44 
    55<div class="con_heading">{$LANG.CREATE_CLUB}</div> 
    6 {if $messages} 
    7     <div class="sess_messages"> 
    8         {foreach key=id item=message from=$messages} 
    9             {$message} 
    10         {/foreach} 
    11     </div> 
    12 {/if} 
    136<p> 
    147        <strong>{$LANG.CLUBS}</strong> {$LANG.CLUBS_DESC} 
  • trunk/templates/_default_/components/com_clubs_messages_member.tpl

    r458 r750  
    1717<div class="con_heading">{$LANG.SEND_MESSAGE}</div> 
    1818 
    19 {if $messages} 
    20     <div class="sess_messages"> 
    21         {foreach key=id item=message from=$messages} 
    22             {$message} 
    23         {/foreach} 
    24     </div> 
    25 {/if} 
    26  
    2719<p id="text_mes">{$LANG.SEND_MESSAGE_TEXT} "{$club.title}".</p> 
    2820<form action="" method="POST" name="msgform"> 
  • trunk/templates/_default_/components/com_clubs_view.tpl

    r458 r750  
    1111<div class="con_heading">{$pagetitle}</div> 
    1212 
    13 {if $messages} 
    14     <div class="sess_messages"> 
    15         {foreach key=id item=message from=$messages} 
    16             {$message} 
    17         {/foreach} 
    18     </div> 
    19 {/if} 
    20  
    2113{if $total>0} 
    2214 
    2315        {foreach key=tid item=club from=$clubs} 
    24                 <div class="club_entry"> 
     16                <div class="club_entry{if $club.is_vip}_vip{/if}"> 
    2517                        <div class="image"> 
    2618                                <a href="/clubs/{$club.id}" title="{$club.title}" class="{$club.clubtype}"> 
     
    3325                                </div> 
    3426                                <div class="details"> 
    35                                         <span class="rating"><strong>{$LANG.RATING}</strong> &mdash; {$club.rating}</span> 
     27                    {if $club.is_vip} 
     28                        <span class="vip"><strong>{$LANG.VIP_CLUB}</strong></span> 
     29                    {else} 
     30                                        <span class="rating"><strong>{$LANG.RATING}</strong> &mdash; {$club.rating}</span> 
     31                    {/if} 
    3632                                        <span class="members"><strong>{$club.members|spellcount:$LANG.USER:$LANG.USER2:$LANG.USER10}</strong></span> 
    3733                                </div> 
    3834                        </div> 
    39             <div class="blog_desc"></div> 
    4035                </div> 
    4136        {/foreach} 
  • trunk/templates/_default_/components/com_clubs_view_club.tpl

    r458 r750  
    44 
    55<div class="con_heading">{$pagetitle}</div> 
    6 {if $messages} 
    7     <div class="sess_messages"> 
    8         {foreach key=id item=message from=$messages} 
    9             {$message} 
    10         {/foreach} 
    11     </div> 
    12 {/if} 
     6 
    137{if $club} 
    148 
     
    3630                                        <div class="data"> 
    3731                                                <div class="details"> 
    38                                                         <span class="rating"><strong>{$LANG.RATING}:</strong> {$club.rating}</span> 
     32                            {if $club.is_vip} 
     33                                <span class="vip"><strong>{$LANG.VIP_CLUB}</strong></span> 
     34                            {else} 
     35                                <span class="rating"><strong>{$LANG.RATING}:</strong> {$club.rating}</span> 
     36                            {/if} 
    3937                                                        <span class="members"><strong>{$club.members|spellcount:$LANG.USER:$LANG.USER2:$LANG.USER10}</strong></span> 
    4038                                                        <span class="date">{$club.pubdate}</span> 
  • trunk/templates/_default_/components/com_content_edit.tpl

    r538 r750  
    4343                                                <td valign="top"> 
    4444                                                        <select name="category_id" id="category_id" style="width:357px"> 
    45                                                                 {$pubcats} 
     45                                {foreach key=p item=pubcat from=$pubcats} 
     46                                    <option value="{$pubcat.id}"> 
     47                                        {'--'|str_repeat:$pubcat.NSLevel} {$pubcat.title} 
     48                                        {if $is_billing && $pubcat.cost && $dynamic_cost} 
     49                                            ({$LANG.BILLING_COST}: {$pubcat.cost|spellcount:$LANG.BILLING_POINT1:$LANG.BILLING_POINT2:$LANG.BILLING_POINT10}) 
     50                                        {/if} 
     51                                    </option> 
     52                                {/foreach} 
    4653                                                        </select> 
    4754                                                </td> 
  • trunk/templates/_default_/components/com_content_my.tpl

    r625 r750  
    33{* ================================================================================ *} 
    44 
    5 {if $messages} 
    6     <div class="sess_messages"> 
    7         {foreach key=id item=message from=$messages} 
    8             {$message} 
    9         {/foreach} 
    10     </div> 
    11 {/if} 
    125<p><a href="/content/add.html">{$LANG.ADD_ARTICLE}?</a></p> 
    136<table width="100%" cellpadding="5" cellspacing="0" border="0"> 
  • trunk/templates/_default_/components/com_faq_view.tpl

    r514 r750  
    44 
    55{* ============================ Ññûëêà "Çàäàòü âîïðîñ" ============================ *} 
     6{if $is_user || $cfg.guest_enabled} 
    67<div class="faq_send_quest"> 
    78    <a href="/faq/sendquest{if $id>0}{$id}{/if}.html">{$LANG.SET_QUESTION}</a> 
    89</div> 
     10{/if} 
    911 
    1012<div class="con_heading">{$pagetitle}</div> 
  • trunk/templates/_default_/components/com_photos_view.tpl

    r705 r750  
    8181        <a class="photo_add_link" href="/photos/{$album.id}/addphoto.html">{$LANG.ADD_PHOTO_TO_ALBUM}</a> 
    8282{/if} 
    83 {if $messages} 
    84     <div class="sess_messages"> 
    85         {foreach key=id item=message from=$messages} 
    86             {$message} 
    87         {/foreach} 
    88     </div> 
    89 {/if} 
    9083                 
    9184{if $cons} 
  • trunk/templates/_default_/components/com_users_avatar_upload.tpl

    r458 r750  
    55 
    66<div class="con_heading">{$LANG.LOAD_AVATAR}</div> 
    7  
    8 {if $messages} 
    9     <div class="sess_messages"> 
    10         {foreach key=id item=message from=$messages} 
    11             {$message} 
    12         {/foreach} 
    13     </div> 
    14 {/if} 
    157 
    168<form enctype="multipart/form-data" action="/users/{$id}/avatar.html" method="POST"> 
  • trunk/templates/_default_/components/com_users_messages.tpl

    r726 r750  
    22{* ======================== Ëè÷íûå ñîîáùåíèÿ ====================================== *} 
    33{* ================================================================================ *} 
    4 {if $messages} 
    5     <div class="sess_messages"> 
    6         {foreach key=tid item=message from=$messages} 
    7             {$message} 
    8         {/foreach} 
    9     </div> 
    10 {/if} 
     4 
    115        <div class="con_heading" style="margin-bottom:25px">{$LANG.MY_MESS}</div> 
    126                <div class="usr_msgmenu_tabs"> 
  • trunk/templates/_default_/components/com_users_messages_add.tpl

    r458 r750  
    22{* ======================== Íàïèñàòü ñîîáùåíèå ==================================== *} 
    33{* ================================================================================ *} 
    4 {if $messages} 
    5     <div class="sess_messages"> 
    6         {foreach key=id item=message from=$messages} 
    7             {$message} 
    8         {/foreach} 
    9     </div> 
    10 {/if} 
     4 
    115{if $is_reply_user} 
    126<div> 
  • trunk/templates/_default_/components/com_users_not_allow.tpl

    r625 r750  
    22{* ==================Çàêðûòûé ïðîôèëü ïîëüçîâàòåëÿ ================================ *} 
    33{* ================================================================================ *} 
    4 {if $messages} 
    5     <div class="sess_messages"> 
    6         {foreach key=id item=message from=$messages} 
    7             {$message} 
    8         {/foreach} 
    9     </div> 
    10 {/if} 
     4 
    115<div id="usertitle"> 
    126    <div class="con_heading" id="nickname"> 
  • trunk/templates/_default_/components/com_users_profile.tpl

    r594 r750  
    66{add_js file="components/users/js/profile.js"} 
    77{add_css file='includes/jquery/tabs/tabs.css'}                                   
    8  
    9 {if $messages} 
    10     <div class="sess_messages"> 
    11         {foreach key=id item=message from=$messages} 
    12             {$message} 
    13         {/foreach} 
    14     </div> 
    15 {/if} 
    168 
    179{literal} 
     
    3628            <div class="value">{$usr.user_rating}</div> 
    3729        </div> 
     30    </div> 
     31 
     32    <div class="user_group_name"> 
     33        <div class="{$usr.group_alias}">{$usr.grp}</div> 
    3834    </div> 
    3935 
  • trunk/templates/_default_/css/styles.css

    r741 r750  
    14891489    font-size:14px; 
    14901490} 
     1491.new_board_items li.vip a{ 
     1492    color:#ED8115; 
     1493    font-weight:bold; 
     1494} 
    14911495.new_board_items{ 
    14921496        padding:0px; 
     
    18311835} 
    18321836 
     1837.bd_item_vip{ 
     1838        margin-bottom:4px; 
     1839        border:1px solid #FFCC99; 
     1840        background:#FFFFD9; 
     1841    padding:12px; 
     1842    border-radius:8px; 
     1843    -moz-border-radius:8px; 
     1844} 
     1845 
    18331846.board_toolbar{ 
    18341847        margin-bottom:10px; 
     
    18531866} 
    18541867 
     1868.bd_item_vip div.bd_title a{ 
     1869        font-size:16px; 
     1870        font-weight:bold; 
     1871        margin:0px; 
     1872    color:#ED8115; 
     1873} 
     1874 
    18551875img.bd_image_small{ 
    18561876        padding:2px; 
    18571877        border:solid 1px #C3D6DF; 
     1878        margin-right:10px; 
     1879} 
     1880 
     1881.bd_item_vip img.bd_image_small{ 
     1882        padding:2px; 
     1883        border:1px solid #FFCC99; 
    18581884        margin-right:10px; 
    18591885} 
     
    19261952div.bd_links span.bd_author{ 
    19271953        background:url(../images/icons/posts.png) no-repeat 0px 2px; 
     1954} 
     1955 
     1956span.bd_item_is_vip{ 
     1957    background:url(../images/icons/vip.png) no-repeat; 
     1958    color:#ED8115; 
     1959    font-weight:bold; 
    19281960} 
    19291961 
     
    21572189} 
    21582190 
    2159 div.club_entry { 
     2191div.club_entry, 
     2192div.club_entry_vip{ 
    21602193    overflow:hidden; 
    21612194    margin-bottom:5px; 
     
    21662199    clear:both; 
    21672200} 
    2168 div.club_entry .image{ padding: 2px; background:#FFF; float: left; margin-right:14px; } 
    2169  
    2170 div.club_entry .data{ float: left; } 
    2171  
    2172 div.club_entry .data .title { margin-bottom: 5px; margin-top:5px;  } 
    2173 div.club_entry .data .title a{ font-size: 16px; font-weight:bold;  } 
    2174 div.club_entry .data .title a.private{ font-size: 16px; font-weight:bold; color:gray; } 
    2175  
    2176 div.club_entry .data .details { float:left; } 
    2177 div.club_entry .data .details span{ color: #999; padding:1px; padding-left:20px; margin-right:4px; font-size:10px; height:20px;line-height:20px; } 
    2178 div.club_entry .data .details span.rating{ background:url(../images/icons/rating.png) no-repeat left center; } 
    2179 div.club_entry .data .details span.date{ background:url(../images/icons/calendar.png) no-repeat left center; } 
    2180 div.club_entry .data .details span.members{ background:url(../images/icons/user.png) no-repeat left center; } 
     2201 
     2202div.club_entry_vip{ 
     2203    background: #FFFFD9; 
     2204    border: 1px solid #FFCC99; 
     2205} 
     2206 
     2207div.club_entry .image, 
     2208div.club_entry_vip .image{ padding: 2px; background:#FFF; float: left; margin-right:14px; } 
     2209 
     2210div.club_entry .data, 
     2211div.club_entry_vip .data{ float: left; } 
     2212 
     2213div.club_entry .data .title, 
     2214div.club_entry_vip .data .title{ margin-bottom: 5px; margin-top:5px;  } 
     2215div.club_entry .data .title a, 
     2216div.club_entry_vip .data .title a{ font-size: 16px; font-weight:bold;  } 
     2217div.club_entry_vip .data .title a{ color:#ED8115;  } 
     2218div.club_entry .data .title a.private, 
     2219div.club_entry_vip .data .title a.private{ font-size: 16px; font-weight:bold; color:gray; } 
     2220div.club_entry .data .details, 
     2221div.club_entry_vip .data .details { float:left; } 
     2222div.club_entry .data .details span, 
     2223div.club_entry_vip .data .details span{ color: #666; padding:2px; padding-left:20px; margin-right:4px; font-size:10px; height:20px;line-height:20px; } 
     2224div.club_entry .data .details span.rating, 
     2225div.club_entry_vip .data .details span.rating{ background:url(../images/icons/rating.png) no-repeat left center; } 
     2226div.club_entry_vip .data .details span.vip{ background:url(../images/icons/vip.png) no-repeat left center; } 
     2227div.club_entry .data .details span.date, 
     2228div.club_entry_vip .data .details span.date{ background:url(../images/icons/calendar.png) no-repeat left center; } 
     2229div.club_entry .data .details span.members, 
     2230div.club_entry_vip .data .details span.members{ background:url(../images/icons/user.png) no-repeat left center; } 
    21812231 
    21822232table.club_full_entry { overflow:hidden; margin-bottom:10px; width:100%; } 
     
    21882238table.club_full_entry .data .details { margin-bottom:10px; border-bottom:solid 1px #789DAF; padding-bottom:8px; background:#E0EAEF; padding:8px;} 
    21892239table.club_full_entry .data .details span{ color: #333; padding:1px; padding-left:20px; margin-right:4px; height:18px; } 
     2240table.club_full_entry .data .details span.vip{ background:url(../images/icons/vip.png) no-repeat left center; color:#ED8115; font-weight:bold; } 
    21902241table.club_full_entry .data .details span.rating{ background:url(../images/icons/rating.png) no-repeat left center; } 
    21912242table.club_full_entry .data .details span.date{ background:url(../images/icons/calendar.png) no-repeat left center; } 
     
    29783029 
    29793030div#user_ratings .rating .value {  background-color:#4A73A7; color:#FFF; padding:6px 10px; } 
     3031 
     3032.user_group_name{ 
     3033    float:right; 
     3034    margin-right:20px; 
     3035    height:38px; 
     3036    line-height:38px; 
     3037} 
     3038 
     3039.user_group_name div { 
     3040    padding-left:20px; 
     3041    background-position: left center; 
     3042    background-repeat: no-repeat; 
     3043    color:#375E93; 
     3044} 
     3045 
     3046.user_group_name .admin { background-image:  url(../images/icons/groups/admin.png); } 
     3047.user_group_name .registered { background-image: url(../images/icons/groups/registered.png); } 
     3048.user_group_name .editors { background-image: url(../images/icons/groups/editors.png); } 
     3049.user_group_name .moderators { background-image: url(../images/icons/groups/moderators.png); } 
     3050.user_group_name .vip { background-image: url(../images/icons/groups/vip.png); } 
    29803051 
    29813052div#user_profile_url{ 
  • trunk/templates/_default_/modules/mod_latestboard.tpl

    r458 r750  
    22<ul class="new_board_items"> 
    33        {foreach key=tid item=item from=$items} 
    4                 <li> 
     4                <li {if $item.is_vip}class="vip"{/if}> 
    55            <a href="/board/read{$item.id}.html">{$item.title}</a> &mdash; {$item.pubdate} {if $cfg.showcity}- <span class="board_city">{$item.city}</span>{/if} 
    66                </li> 
  • trunk/templates/_default_/template.php

    r615 r750  
    7373                <div id="main" class="<?php if ($mod_count['sidebar']) { ?>grid_8<?php } else { ?>grid_12<?php } ?>"> 
    7474                    <?php cmsModule('maintop'); ?> 
     75 
     76                    <?php $messages = cmsCore::getSessionMessages(); ?> 
     77                    <?php if ($messages) { ?> 
     78                    <div class="sess_messages"> 
     79                        <?php foreach($messages as $message){ ?> 
     80                            <?php echo $message; ?> 
     81                        <?php } ?> 
     82                    </div> 
     83                    <?php } ?> 
     84 
    7585                    <?php cmsBody(); ?> 
    7686                    <?php cmsModule('mainbottom'); ?> 
Note: See TracChangeset for help on using the changeset viewer.