public function getUidBySocialMedia($socialMediaProviderUserLink, $socialMediaId)
 {
     $criteria = new Pengin_Criteria();
     $criteria->add('social_media_type', $socialMediaProviderUserLink);
     $criteria->add('social_media_id', $socialMediaId);
     return $this->find($criteria, null, null, 1);
 }
 protected function _updateAction()
 {
     $criteria = new Pengin_Criteria();
     // 入力値チェック
     $this->_formValidate();
     if ($this->_hasError() == true) {
         return;
     }
     $this->providerHandler = $this->root->getModelHandler('Provider');
     $providerUserLinkHandler = $this->root->getModelHandler('ProviderUserLink');
     try {
         // トランザクション開始
         $this->root->cms->database()->queryF('BEGIN');
         // Provider全件更新
         if ($this->providerHandler->updateProviders($_GET) == false) {
             throw new Exception(t('Database error'));
         }
         // すべての入力値が空だったとき、ユーザーとのリンク情報を削除する
         foreach ($this->providerList as $list) {
             if ($list['key'] == "" and $list['secret'] == "") {
                 $provider_name = $this->providerHandler->getNameById($list['id']);
                 $criteria->add('social_media_type', $provider_name);
                 $providerUserLinkHandler->deleteAll($criteria);
             }
         }
         // コミット
         $this->root->cms->database()->queryF('COMMIT');
         // 画面遷移
         redirect_header(XOOPS_URL . '/modules/social_media/admin/index.php?controller=provider_list', 1, t('provider information is updated'));
     } catch (Exception $e) {
         $this->errors[] = $e->getMessage();
         $this->root->cms->database()->queryF('ROLLBACK');
     }
 }
 public function getNameById($id)
 {
     $criteria = new Pengin_Criteria();
     $criteria->add('id', $id);
     $model = $this->find($criteria, null, null, 1);
     if (is_object($model) == true) {
         return $model->get('name');
     } else {
         return false;
     }
 }