private function approveRelationship($r) { if ($this->registry->getObject('authenticate')->isLoggedIn()) { $rel = new Relation($this->registry, $r, 0, 0, 0, 0); if ($rel->getUserB() == $this->registry->getObject('authenticate')->getUser()->getUserID()) { $rel->approveRelationship(); $rel->save(); $this->registry->errorPage('Relationship approved', 'Thank you for approving the relationship'); } else { $this->registry->errorPage('Invalid request', 'You are not authorized to approve that request'); } } else { $this->registry->errorPage('Please login', 'Please login to approve this connection'); } }
public static function saveRelation($parents, $document, $updateCache = true) { if ($parents) { try { $con = Propel::getConnection(); $con->begin(); $docId = $document->getId(); if (!is_array($parents)) { $parents = array($parents); } foreach ($parents as $parent) { $saveNew = true; if ($parent) { $parentId = $parent->getId(); $oldParentId = Document::getParentOf($docId, null, false); if ($oldParentId) { $relation = RelationPeer::retrieveByPk($oldParentId, $docId); if ($oldParentId != $parentId) { $relation->delete(); } else { $saveNew = false; } } if ($saveNew) { $relation = new Relation(); $relation->setId1($parentId); $relation->setId2($docId); $relation->setDocumentModel1(get_class($parent)); $relation->setDocumentModel2(get_class($document)); $relation->setSortOrder($relation->getNextSortOrder($parent, $document)); } $relation->save(); } } $con->commit(); if (sfConfig::get('sf_cache_relations') && $updateCache && $parentId) { self::updateRelationCache($parentId); } return true; } catch (Exception $e) { $con->rollback(); throw $e; } } }
private function create($id1, $id2, $type) { $rel = new Relation(); $rel->id1 = $id1; $rel->id2 = $id2; $rel->type = $type; $rel->save(); $rel->reset(); }
public function actionAddRelation() { if (isset($_POST['dataset_id']) && isset($_POST['doi']) && isset($_POST['relationship'])) { $relation = Relation::model()->findByAttributes(array('dataset_id' => $_POST['dataset_id'], 'related_doi' => $_POST['doi'], 'relationship_id' => $_POST['relationship'])); if ($relation) { Util::returnJSON(array("success" => false, "message" => Yii::t("app", "This relation has been added already."))); } $transaction = Yii::app()->db->beginTransaction(); try { $relation = new Relation(); $relation->dataset_id = $_POST['dataset_id']; $relation->related_doi = $_POST['doi']; $relation->relationship_id = $_POST['relationship']; $relation2 = new Relation(); $relation2->dataset_id = Dataset::model()->findByAttributes(array('identifier' => $_POST['doi']))->id; $relation2->related_doi = Dataset::model()->findByPk($_POST['dataset_id'])->identifier; $relation2->relationship_id = $_POST['relationship']; if ($relation->save() && $relation2->save()) { $transaction->commit(); Util::returnJSON(array("success" => true)); } else { $transaction->rollback(); Yii::log(print_r($relation->getErrors(), true), 'debug'); } } catch (Exception $e) { $message = $e->getMessage(); Yii::log(print_r($message, true), 'error'); $transaction->rollback(); Util::returnJSON(array("success" => false, "message" => Yii::t("app", "Save Error."))); } } }
public function postAjaxFollow() { if (!empty(Input::get('user_id')) && !empty(Input::get('current_user'))) { if (true) { $relation = new Relation(); $relation->user1_id = Input::get('current_user'); $relation->user2_id = Input::get('user_id'); $relation->type = 1; $relation->save(); echo 'true'; } } else { echo 'false'; } }