نمایش نتایج: از شماره 1 تا 10 , از مجموع 18

موضوع: کد فیلتــــر . . .

Threaded View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #9
    عضو انجمن warpro آواتار ها
    تاریخ عضویت
    Aug 2012
    نوشته ها
    184
    تشکر تشکر کرده 
    471
    تشکر تشکر شده 
    384
    تشکر شده در
    267 پست

    6 پاسخ : کد فیلتــــر . . .

    از دوستان که کد دادند خواهش دارم در کد خودشان @ را ف ی ل ت ر نمایند تا کاربر هنگام تایید ، @ اجــرا نشود . . . و در فایل زید به صورت صحیح قرار دهند تا کار بکند . . .

    با تشکر :

    کد PHP:
    <?php
    require( ".".DIRECTORY_SEPARATOR."app".DIRECTORY_SEPARATOR."boot.php" );
    require_once( 
    MODEL_PATH."msg.php" );
    class 
    GPage extends securegamepage
    {

        var 
    $showList NULL;
        var 
    $selectedTabIndex NULL;
        var 
    $errorText NULL;
        var 
    $receiver NULL;
        var 
    $subject NULL;
        var 
    $body NULL;
        var 
    $messageDate NULL;
        var 
    $messageTime NULL;
        var 
    $showFriendPane NULL;
        var 
    $friendsList NULL;
        var 
    $viewOnly NULL;
        var 
    $isInbox NULL;
        var 
    $sendMail NULL;
        var 
    $dataList NULL;
        var 
    $pageSize 10;
        var 
    $pageCount NULL;
        var 
    $pageIndex NULL;
        var 
    $seckeyB NULL;
        var 
    $time 0;
        var 
    $seckey;
        public function 
    GPage( )
        {
            
    parent::securegamepage( );
            
    $this->viewFile "msg.phtml";
            
    $this->contentCssClass "messages";
        }

        public function 
    load( )
        {
            
    parent::load( );
            
    $this->pageSize $this->data['active_plus_account'] ? $this->data['per_page'] : 10;
            
    mysql_connect($this->appConfig['db']['host'],$this->appConfig['db']['user'],$this->appConfig['db']['password']);
            
    mysql_select_db($this->appConfig['db']['database']);
            
    $q mysql_query("SELECT last_msg from p_players where id='{$this->player->playerId}'");
            
    $q mysql_fetch_array($q);
            
    $this->time $q['last_msg'];
            @
    $this->seckeyB $_SESSION['security'];
            
    $this->sendMail TRUE;
            
    $this->isInbox TRUE;
            
    $this->viewOnly FALSE;
            
    $this->showFriendPane FALSE;
            
    $this->errorText "";
            
    $this->showList = !( isset( $_GET['t'] ) && is_numeric$_GET['t'] ) && intval$_GET['t'] ) == );
            
    $this->selectedTabIndex = isset( $_GET['t'] ) && is_numeric$_GET['t'] ) && <= intval$_GET['t'] ) && intval$_GET['t'] ) <= intval$_GET['t'] ) : 0;
            
    $this->friendList = array( );
            
    $friends_player_ids trim$this->data['friend_players'] );
            if ( 
    $friends_player_ids != "" )
            {
                
    $friends_player_ids explode"\n"$friends_player_ids );
                foreach ( 
    $friends_player_ids as $friend )
                {
                    list( 
    $playerId$playerName ) = explode" "$friend );
                    
    $this->friendList[$playerId] = $playerName;
                }
            }
            
    $m = new MessageModel( );
            if ( !
    $this->isPost( ) )
            {
                if ( isset( 
    $_GET['uid'] ) && is_numeric$_GET['uid'] ) && intval$_GET['uid'] ) )
                {
                    
    $this->receiver $m->getPlayerNameByIdintval$_GET['uid'] ) );
                    
    $this->showList FALSE;
                    
    $this->selectedTabIndex 1;
                }
                else if ( isset( 
    $_GET['id'] ) && is_numeric$_GET['id'] ) && intval$_GET['id'] ) )
                {
                    
    $result $m->getMessage$this->player->playerIdintval$_GET['id'] ) );
                    if ( 
    $result->next( ) )
                    {
                        
    $this->viewOnly TRUE;
                        
    $this->showList FALSE;
                        
    $this->isInbox $result->row['to_player_id'] == $this->player->playerId;
                        
    $this->sendMail = !$this->isInbox;
                        
    $this->receiver $this->isInbox $result->row['from_player_name'] : $result->row['to_player_name'];
                        
    $this->subject $result->row['msg_title'];
                        
    $this->body $this->getFilteredText$result->row['msg_body'] );
                        
    $this->messageDate $result->row['mdate'];
                        
    $this->messageTime $result->row['mtime'];
                        
    $this->selectedTabIndex $this->isInbox 2;
                        if ( 
    $this->isInbox && !$result->row['is_readed'] && !$this->player->isSpy )
                        {
                            
    $m->markMessageAsReaded$this->player->playerIdintval$_GET['id'] ) );
                            --
    $this->data['new_mail_count'];
                        }
                    }
                    else
                    {
                        
    $this->showList TRUE;
                        
    $this->selectedTabIndex 0;
                    }
                    
    $result->free( );
                }
            }
            else if ( isset( 
    $_POST['sm'] ))
            {
                
    $this->receiver trim$_POST['an'] );
                
    $this->subject trim$_POST['be'] );
                
    $this->seckey  trim($_POST['seckey']);
                
    $this->body $_POST['message'];
                             

                if ( 
    trim$this->receiver ) == "" )
                {
                    
    $this->showList FALSE;
                    
    $this->selectedTabIndex 1;
                    
    $this->errorText messages_p_noreceiver."<p></p>";
                    
    $m->dispose( );
                } else if(
    $this->message_ban == && strtolower trim$this->receiver ) ) != 'admin'){

                        
    $this->showList FALSE;
                        
    $this->selectedTabIndex 1;
                        
    $this->errorText msg_blocked."<p></p>";
                        
    $m->dispose( );

                    }
                else
                {
                    if ( 
    trim$this->body ) == "" )
                    {
                        
    $this->showList FALSE;
                        
    $this->selectedTabIndex 1;
                        
    $this->errorText messages_p_nobody."<p></p>";
                        
    $m->dispose( );
                    } elseif(empty(
    $this->seckey)){
                    
                        
    $this->showList FALSE;
                        
    $this->selectedTabIndex 1;
                        
    $this->errorText messages_p_secempty."<p></p>";
                        
    $m->dispose( );

                    }
                    elseif(
    $this->seckey != $this->seckeyB){
                    
                        
    $this->showList FALSE;
                        
    $this->selectedTabIndex 1;
                        
    $this->errorText messages_p_sec."<p></p>";
                        
    $m->dispose( );

                    }

                    else
                    {
                        if ( 
    strtolowertrim$this->receiver ) ) == "[sendtomem]" && intval$this->data['alliance_id'] ) && $this->hasAllianceSendMessageRole( ) )
                        {
                            
    $pids trim$m->getAlliancePlayersIdintval$this->data['alliance_id'] ) ) );
                            if ( 
    $pids != "" )
                            {

                                if ( 
    $this->subject == "" || preg_match"/[>,\\. \\n\\r\\t\\s]+/"$this->subject ) || preg_match"/[<,\\. \\n\\r\\t\\s]+/"$this->subject ))
                                {
                                    
    $this->subject messages_p_emptysub;
                                }
                                
    $arr explode","$pids );
                                foreach ( 
    $arr as $apid )
                                {
                                    if ( 
    $apid == $this->player->playerId )
                                    {
                                        continue;
                                    }
                                    if(
    $this->message_ban == $this->time time()){
                                                                    
    $time time()+(1*60);
                                    
    mysql_query("UPDATE p_players SET `last_msg`='$time' WHERE `id`='{$this->player->playerId}'");

                                    
    $m->sendMessage$this->player->playerId$this->data['name'], $apid$m->getPlayerNameById$apid ), $this->subject$this->body );

                                    }
                                }
                                
    $this->showList TRUE;
                                
    $this->selectedTabIndex 2;
                            }
                        }
                        else
                        {
                            
    $receiverPlayerId $m->getPlayerIdByName$this->receiver );
                            if ( 
    intval$receiverPlayerId ) )
                            {
                                if ( 
    $receiverPlayerId == $this->player->playerId )
                                {
                                    
    $this->showList FALSE;
                                    
    $this->selectedTabIndex 1;
                                    
    $this->errorText "<b>".messages_p_noloopback."</b><p></p>";
                                }
                                else
                                {
                                    if ( 
    $this->subject == "" || preg_match"/[>,\\. \\n\\r\\t\\s]+/"$this->subject ) || preg_match"/[<,\\. \\n\\r\\t\\s]+/"$this->subject ))
                                    {
                                        
    $this->subject messages_p_emptysub;
                                    }
                                    if(
    $this->message_ban == $this->time time()){
                                                                                                   
    $time time()+(0.5*60);
                                    
    mysql_query("UPDATE p_players SET `last_msg`='$time' WHERE `id`='{$this->player->playerId}'");

                                    
    $m->sendMessage$this->player->playerId$this->data['name'], $receiverPlayerId$this->receiver$this->subject$this->body );

     }
                                    
    $this->showList TRUE;
                                    
    $this->selectedTabIndex 2;
                                }
                            }
                            else
                            {
                                
    $this->showList FALSE;
                                
    $this->selectedTabIndex 1;
                                
    $this->errorText messages_p_notexists." <b>".$this->receiver."</b><p></p>";
                            }
                        }
                    }
                }
            }
            else if ( isset( 
    $_POST['fm'] ) )
            {
                
    $this->receiver trim$_POST['an'] );
                
    $this->subject trim$_POST['be'] );
                
    $this->body $_POST['message'];
                
    $this->showList FALSE;
                
    $this->selectedTabIndex 1;
                
    $this->showFriendPane TRUE;
                if ( 
    $_POST['fm'] != "" && is_numeric$_POST['fm'] ) )
                {
                    
    $playerId intval$_POST['fm'] );
                    if ( 
    $playerId && isset( $this->friendList[$playerId] ) )
                    {
                        unset( 
    $this->friendList[$playerId] );
                    }
                }
                else if ( isset( 
    $_POST['mfriends'] ) )
                {
                    foreach ( 
    $_POST['mfriends'] as $friendName )
                    {
                        
    $friendName trim$friendName );
                        if ( 
    $friendName == "" )
                        {
                            continue;
                        }
                        
    $playerId intval$m->getPlayerIdByName$friendName ) );
                        if ( 
    $playerId && !isset( $this->friendList[$playerId] ) && $playerId != $this->player->playerId )
                        {
                            
    $this->friendList[$playerId] = $friendName;
                        }
                    }
                }
                
    $friends "";
                foreach ( 
    $this->friendList as $k => $v )
                {
                    if ( 
    $friends != "" )
                    {
                        
    $friends .= "\n";
                    }
                    
    $friends .= $k." ".$v;
                }
                
    $m->saveFriendList$this->player->playerId$friends );
            }
            else if ( isset( 
    $_POST['rm'] ) )
            {
                
    $this->receiver trim$_POST['an'] );
                
    $this->subject trim$_POST['be'] );
                
    $this->body PHP_EOL.PHP_EOL."_________________________________".PHP_EOL.text_from_lang." ".$this->receiver.":".PHP_EOL.PHP_EOL.$_POST['message'];
                
    preg_match"/^(RE)\\^?([0-9]*):([\\w\\W]*)\$/"$this->subject$matches );
                if ( 
    sizeof$matches ) == )
                {
                    
    $this->subject = ( "RE^".( $matches[2] + ) ).":".$matches[3];
                }
                else
                {
                    
    $this->subject "RE: ".$this->subject;
                }
                
    $this->showList FALSE;
                
    $this->selectedTabIndex 1;
            }
            else if ( isset( 
    $_POST['dm'] ) && isset( $_POST['dm'] ) )
            {
                foreach ( 
    $_POST['dm'] as $messageId )
                {
                    if ( 
    $m->deleteMessage$this->player->playerId$messageId ) )
                    {
                        --
    $this->data['new_mail_count'];
                    }
                }
            }
            if ( 
    $this->showList )
            {
                
    $rowsCount $m->getMessageListCount$this->player->playerId$this->selectedTabIndex == );
                
    $this->pageCount $rowsCount ceil$rowsCount $this->pageSize ) : 1;
                
    $this->pageIndex = isset( $_GET['p'] ) && is_numeric$_GET['p'] ) && intval$_GET['p'] ) < $this->pageCount intval$_GET['p'] ) : 0;
                
    $this->dataList $m->getMessageList$this->player->playerId$this->selectedTabIndex == 0$this->pageIndex$this->pageSize );
                if ( 
    $this->data['new_mail_count'] )
                {
                    
    $this->data['new_mail_count'] = $m->syncMessages$this->player->playerId );
                }
            }
            
    $m->dispose( );
        }

        public function 
    getFilteredText$text )
        {
            require_once( 
    MODEL_PATH."wordsfilter.php" );
            
    $filter = new FilterWordsModel( );
            return 
    $filter->FilterWords$text );
        }
              
        public function 
    _hasAllianceRole$role )
        {
            
    $alliance_roles trim$this->data['alliance_roles'] );
            if ( 
    $alliance_roles == "" )
            {
                return 
    FALSE;
            }
            list( 
    $roleNumber$roleName ) = $alliance_roles;        
            return 
    $roleNumber $role;
        }

        public function 
    hasAllianceSendMessageRole( )
        {
            return 
    $this->_hasAllianceRoleALLIANCE_ROLE_SENDMESSAGE );
        }

        public function 
    preRender( )
        {
            
    parent::prerender( );
            if ( isset( 
    $_GET['uid'] ) )
            {
                
    $this->villagesLinkPostfix .= "&uid=".intval$_GET['uid'] );
            }
            if ( isset( 
    $_GET['id'] ) )
            {
                
    $this->villagesLinkPostfix .= "&id=".intval$_GET['id'] );
            }
            if ( isset( 
    $_GET['p'] ) )
            {
                
    $this->villagesLinkPostfix .= "&p=".intval$_GET['p'] );
            }
            if ( 
    $this->selectedTabIndex )
            {
                
    $this->villagesLinkPostfix .= "&t=".$this->selectedTabIndex;
            }
        }

        public function 
    getNextLink( )
        {
            
    $text "»";
            if ( 
    $this->pageIndex == $this->pageCount )
            {
                return 
    $text;
            }
            
    $link "";
            if ( 
    $this->selectedTabIndex )
            {
                
    $link .= "t=".$this->selectedTabIndex;
            }
            if ( 
    $link != "" )
            {
                
    $link .= "&";
            }
            
    $link .= "p=".( $this->pageIndex );
            
    $link "msg.php?".$link;
            return 
    "<a href=\"".$link."\">".$text."</a>";
        }

        public function 
    getPreviousLink( )
        {
            
    $text "«";
            if ( 
    $this->pageIndex == )
            {
                return 
    $text;
            }
            
    $link "";
            if ( 
    $this->selectedTabIndex )
            {
                
    $link .= "t=".$this->selectedTabIndex;
            }
            if ( 
    $this->pageIndex )
            {
                if ( 
    $link != "" )
                {
                    
    $link .= "&";
                }
                
    $link .= "p=".( $this->pageIndex );
            }
            if ( 
    $link != "" )
            {
                
    $link "?".$link;
            }
            
    $link "msg.php".$link;
            return 
    "<a href=\"".$link."\">".$text."</a>";
        }

    }

       
    $p = new GPage( );
    $p->run( );



      

    ?>
    ویرایش توسط warpro : October 20th, 2013 در ساعت 02:07

  2. تعداد تشکر ها از warpro به دلیل پست مفید


اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •