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; } }