Do not fail in case of duplicate contributor
This commit is contained in:
parent
6f509c6edb
commit
002c7db88c
|
@ -85,6 +85,11 @@ class WikiPage
|
||||||
public function update() {
|
public function update() {
|
||||||
global $config;
|
global $config;
|
||||||
global $user;
|
global $user;
|
||||||
|
|
||||||
|
if($this->id == 0)
|
||||||
|
die("Cannot update entry without giving ID");
|
||||||
|
|
||||||
|
$oldId = $this->id;
|
||||||
|
|
||||||
$this->version++;
|
$this->version++;
|
||||||
|
|
||||||
|
@ -108,12 +113,19 @@ class WikiPage
|
||||||
|
|
||||||
$this->id = pg_fetch_assoc($result)['id'];
|
$this->id = pg_fetch_assoc($result)['id'];
|
||||||
|
|
||||||
$query = "INSERT INTO content_contributors (content, contributor) VALUES
|
$query = "INSERT INTO content_contributors (content, contributor) SELECT $1, contributor FROM content_contributors AS old WHERE old.content = $2";
|
||||||
($1, $2)";
|
|
||||||
|
|
||||||
pg_prepare($con, "prepare3", $query)
|
pg_prepare($con, "prepare3", $query)
|
||||||
or die ("Cannot prepare statement\n");
|
or die ("Cannot prepare statement\n");
|
||||||
$result = pg_execute($con, "prepare3", array($this->id, $user->id))
|
$result = pg_execute($con, "prepare3", array($this->id, $oldId))
|
||||||
|
or die ("Cannot execute statement\n");
|
||||||
|
|
||||||
|
$query = "INSERT INTO content_contributors (content, contributor) VALUES
|
||||||
|
($1, $2) ON CONFLICT (content, contributor) DO NOTHING";
|
||||||
|
|
||||||
|
pg_prepare($con, "prepare4", $query)
|
||||||
|
or die ("Cannot prepare statement\n");
|
||||||
|
$result = pg_execute($con, "prepare4", array($this->id, $user->id))
|
||||||
or die ("Cannot execute statement\n");
|
or die ("Cannot execute statement\n");
|
||||||
|
|
||||||
pg_close($con);
|
pg_close($con);
|
||||||
|
|
Loading…
Reference in New Issue