Giriş yapmadınız.

#1 07.12.2014 19:04:55

bykaraer
Üye
Kayıtlı: 07.12.2014
Mesajlar: 3

Senty::Getuser() yardım

Merhabalar
elimde bir site scripti var onla uğraşırken laraveli duydum arastırmaya başladım.Araştırarak çogu sorunumu çözmeye başladım ama twitterda son yazıyı çekerken sıkıntı yaşamaya başladım.Normalde /twitterfeed sayfasına girince son tweetleri gösteriyordu ben bunu direk profil sayfasına aldım fakat tweet atınca profil sayfasında guncellenmiyordu.
usercontroller da twitterfeed fonksiyonu $this->updateTwitterPosts();  diye bir fonksiyon çagırmakta.Bu fonksiyonu profil sayfası kısmına ekledim bu seferde uye giriş yapmadan o sayfayı yine güncellemiyor.

updateTwitterPost fonksiyonu

 protected function updateTwitterPosts()
    {
      $user = Sentry::getUser();
      if(in_array('twitter_access_token', ($user->settings->lists('setting')))) {
        $settings = array(
            'oauth_access_token' => UserSetting::where('user_id', $user->id)->where('setting', 'twitter_access_token')->first()->value,
            'oauth_access_token_secret' => UserSetting::where('user_id', $user->id)->where('setting', 'twitter_access_token_secret')->first()->value,
            'consumer_key' => Config::get('oauth.twitter_client_id'),
            'consumer_secret' => Config::get('oauth.twitter_client_secret')
        );
        $url = 'https://api.twitter.com/1.1/statuses/user_timeline.json';
        $requestMethod = 'GET';
        $getfield = '?user_id='.UserSetting::where('user_id', $user->id)->where('setting', 'twitter_id')->first()->value.'&count=10';
        $twitter = new TwitterAPIExchange($settings);
        $tweets = $twitter->setGetfield($getfield)
                     ->buildOauth($url, $requestMethod)
                     ->performRequest();

        $user->twitterPosts()->delete();

        foreach (json_decode($tweets) as $tweet) {
          $socialPost = new SocialPost();
          $socialPost->post_id = $tweet->id_str;
          $socialPost->type = 'twitter';
          $socialPost->content = $tweet->text;
          $socialPost->posted_on = date('Y-m-d H:i:s', strtotime(str_replace('-', '/', $tweet->created_at)));
          $socialPost->user()->associate($user);
          $socialPost->save();
        }

        return true;
      }
      else
      {
        return Redirect::route('twitterlogin');
      }
    }

bu şekilde.Sanırsam   $user = Sentry::getUser();  burası yüzünden giriş yapmadan uyeyi çekemiyor bu kısmı nasıl düzenlemem lazım

Çevrimdışı

#2 09.12.2014 11:12:53

barantr90
Üye
Yer: Istanbul
Kayıtlı: 22.01.2014
Mesajlar: 43

Yanıt: Senty::Getuser() yardım

Tam anlamasam da sorununu daha doğrusu sonuç çıktın ne paylaşmadığından bilemiyorum pek ama senin de dediğin gibi sanırım login kontrolü yapmıyorsun.
Kontrol ettim kodları ama gözümden kaçmış satırlar olabilir bu arada smile

http://laravel.io/bin/bEkmN

not: eğer hata varsa kodlarımda yapman gereken kullanıcıyı çekmeden önce Sentry::check() kontrolü yapman smile
Umarım yardımcı olabilmişimdir cool

Çevrimdışı

Forum alt kısmı