Esempio n. 1
0
 private function store($question, $questionParsed, $tags, $details, $tagsNoQuestion, $type, $flags)
 {
     global $sDB, $sUser, $sTemplate;
     $url = url_sanitize($questionParsed);
     $i = 0;
     while (true) {
         $cur = $url . ($i > 0 ? '-' . $i : '');
         $res = $sDB->exec("SELECT `url` FROM `questions` WHERE `url` = '" . mysql_real_escape_string($cur) . "' LIMIT 1;");
         if (mysql_num_rows($res)) {
             $i++;
             continue;
         }
         break;
     }
     if ($i > 0) {
         $url .= '-' . $i;
     }
     $additionalData = new stdClass();
     $additionalData->percPro = 0;
     $additionalData->percCon = 0;
     $additionalData->numCheckIns = 0;
     $additionalData->tags = array_unique($tagsNoQuestion);
     $sDB->exec("INSERT INTO `questions` (`questionId`, `title`, `url`, `details`, `dateAdded`, `userId`, `score`, `scoreTrending`, `scoreTop`, `additionalData`, `groupId`, `type`, `flags`) VALUES\r\n                                            (NULL, '" . mysql_real_escape_string($question) . "', '" . mysql_real_escape_string($url) . "', '" . mysql_real_escape_string($details) . "',\r\n                                             '" . time() . "', '" . $sUser->getUserId() . "', '0', '0', '0', '" . serialize($additionalData) . "', '" . i($this->groupId) . "', '" . i($type) . "', '" . i($flags) . "');");
     $questionId = mysql_insert_id();
     if (!$questionId) {
         $this->setError($sTemplate->getString("ERROR_NEW_QUESTION_TRY_AGAIN"));
         return false;
     }
     foreach ($tags as $k => $v) {
         $sDB->exec("INSERT INTO `tags` (`tagId`, `questionId`, `tag`, `groupId`) VALUES(NULL, '" . i($questionId) . "', '" . mysql_real_escape_string($v) . "', '" . i($this->groupId) . "');");
     }
     if ($this->group) {
         $this->redirectUrl = $sTemplate->getRoot() . "groups/" . $this->group->url() . "/" . $url . "/";
     } else {
         if ($flags & QUESTION_FLAG_PART_ALL) {
             $url = "unregistered/" . $url;
         }
         if ($type == QUESTION_TYPE_UNLISTED) {
             $url = "unlisted/" . $url;
         }
         $this->redirectUrl = $sTemplate->getRoot() . $url . "/";
     }
     return $questionId;
 }
 private function store($headline, $headlineParsed, $abstract, $details)
 {
     global $sDB, $sUser;
     $questionId = $this->question->questionId();
     $url = url_sanitize($headlineParsed);
     $i = 0;
     while (true) {
         $cur = $url . ($i > 0 ? '-' . $i : '');
         $res = $sDB->exec("SELECT `url` FROM `arguments` WHERE `questionId` = '" . i($questionId) . "' AND `parentId` = '0' AND `url` = '" . mysql_real_escape_string($cur) . "' LIMIT 1;");
         if (mysql_num_rows($res)) {
             $i++;
             continue;
         }
         break;
     }
     if ($i > 0) {
         $url .= '-' . $i;
     }
     $sDB->exec("INSERT INTO `arguments` (`argumentId`, `questionId`, `parentId`, `type`, `userId`, `url`, `headline`, `abstract`, `details`, `dateAdded`, `score`) VALUES\r\n                                            (NULL, '" . i($questionId) . "', '0', '" . i($this->faction) . "', '" . i($sUser->getUserId()) . "','" . mysql_real_escape_string($url) . "',\r\n                                            '" . mysql_real_escape_string($headline) . "', '" . mysql_real_escape_string($abstract) . "', '" . mysql_real_escape_string($details) . "',\r\n                                            '" . time() . "', '0');");
     $argumentId = mysql_insert_id();
     if (!$argumentId) {
         $this->setError($sTemplate->getString("ERROR_NEW_ARGUMENT_TRY_AGAIN"));
         return false;
     }
     $this->redirectUrl = $this->question->url();
     return $argumentId;
 }
 private function store($title, $titleParsed, $visibility)
 {
     global $sDB, $sUser, $sTemplate;
     $url = url_sanitize($titleParsed);
     $i = 0;
     while (true) {
         $cur = $url . ($i > 0 ? '-' . $i : '');
         $res = $sDB->exec("SELECT `url` FROM `groups` WHERE `url` = '" . mysql_real_escape_string($cur) . "' LIMIT 1;");
         if (mysql_num_rows($res)) {
             $i++;
             continue;
         }
         break;
     }
     if ($i > 0) {
         $url .= '-' . $i;
     }
     $sDB->exec("INSERT INTO `groups` (`groupId`, `title`, `url`, `ownerId`, `dateAdded`, `visibility`) VALUES\r\n                                            (NULL, '" . mysql_real_escape_string($title) . "', '" . mysql_real_escape_string($url) . "', '" . mysql_real_escape_string($sUser->getUserId()) . "',\r\n                                             '" . time() . "', '" . i($visibility) . "');");
     $groupId = mysql_insert_id();
     if (!$groupId) {
         $this->setError($sTemplate->getString("ERROR_NEW_GROUP_TRY_AGAIN"));
         return false;
     }
     $this->redirectUrl = $sTemplate->getRoot() . "groups/" . $url . "/";
     return $groupId;
 }
 private function store($headline, $headlineParsed, $abstract, $details)
 {
     global $sDB, $sUser, $sStatistics;
     $questionId = $this->question->questionId();
     if ($headline != $this->counterArgument->headlinePlain()) {
         $url = url_sanitize($headlineParsed);
         $i = 0;
         while (true) {
             $cur = $url . ($i > 0 ? '-' . $i : '');
             $res = $sDB->exec("SELECT `url` FROM `arguments` WHERE `questionId` = '" . i($questionId) . "' AND `parentId` = '0' AND `url` = '" . mysql_real_escape_string($cur) . "' LIMIT 1;");
             if (mysql_num_rows($res)) {
                 $i++;
                 continue;
             }
             break;
         }
         if ($i > 0) {
             $url .= '-' . $i;
         }
     } else {
         $url = $this->argument->urlPlain();
     }
     $sDB->exec("UPDATE `arguments` SET `url` = '" . mysql_real_escape_string($url) . "',\r\n                                            `headline` = '" . mysql_real_escape_string($headline) . "',\r\n                                            `abstract` = '" . mysql_real_escape_string($abstract) . "',\r\n                                            `details` = '" . mysql_real_escape_string($details) . "',\r\n                                            `score` = '0'\r\n                                       WHERE `argumentId` = '" . i($this->counterArgument()->argumentId()) . "' LIMIT 1;");
     $sStatistics->resetArgumentVotes($this->argument());
     $this->redirectUrl = $this->question->url();
     return $this->counterArgument()->argumentId();
 }
 private function store($question, $questionParsed, $tags, $details, $tagsNoQuestion, $type, $flags)
 {
     global $sDB, $sUser, $sTemplate, $sStatistics;
     $url = url_sanitize($questionParsed);
     // only update url if the title has changed
     if ($question != $this->question()->titlePlain()) {
         $i = 0;
         while (true) {
             $cur = $url . ($i > 0 ? '-' . $i : '');
             $res = $sDB->exec("SELECT `url` FROM `questions` WHERE `url` = '" . mysql_real_escape_string($cur) . "' LIMIT 1;");
             if (mysql_num_rows($res)) {
                 $i++;
                 continue;
             }
             break;
         }
         if ($i > 0) {
             $url .= '-' . $i;
         }
     } else {
         $url = $this->question()->urlPart();
     }
     $additionalData = new stdClass();
     $additionalData->percPro = 0;
     $additionalData->percCon = 0;
     $additionalData->numCheckIns = 0;
     $additionalData->tags = array_unique($tagsNoQuestion);
     $sDB->exec("UPDATE `questions` SET `title` = '" . mysql_real_escape_string($question) . "',\r\n                                            `url` = '" . mysql_real_escape_string($url) . "',\r\n                                            `details` = '" . mysql_real_escape_string($details) . "',\r\n                                            `additionalData` = '" . serialize($additionalData) . "',\r\n                                            `type` = '" . i($type) . "',\r\n                                            `flags` = '" . i($flags) . "',\r\n                                            `score` = 0,\r\n                                            `scoreTop` = 0\r\n                                       WHERE `questionId` = '" . i($this->question()->questionId()) . "' LIMIT 1;");
     $sDB->exec("DELETE FROM `tags` WHERE `questionId` = '" . i($this->question()->questionId()) . "';");
     $sDB->exec("DELETE FROM `user_factions` WHERE `questionId` = '" . i($this->question()->questionId()) . "';");
     $sStatistics->resetQuestionVotes($this->question());
     foreach ($tags as $k => $v) {
         $sDB->exec("INSERT INTO `tags` (`tagId`, `questionId`, `tag`, `groupId`) VALUES(NULL, '" . i($this->question()->questionId()) . "', '" . mysql_real_escape_string($v) . "', '" . i($this->groupId) . "');");
     }
     if ($this->group) {
         $this->redirectUrl = $sTemplate->getRoot() . "groups/" . $this->group->url() . "/" . $url . "/";
     } else {
         if ($flags & QUESTION_FLAG_PART_ALL) {
             $url = "unregistered/" . $url;
         }
         if ($type == QUESTION_TYPE_UNLISTED) {
             $url = "unlisted/" . $url;
         }
         $this->redirectUrl = $sTemplate->getRoot() . $url . "/";
     }
     return true;
 }