Minor updates

This commit is contained in:
CrowdDiscussesAlternatives 2024-03-31 09:39:13 +03:00
parent 61a7469a3b
commit 8f8a8e83e4
35 changed files with 265 additions and 82 deletions

View File

@ -0,0 +1,26 @@
<!--
Crowd Discusses Alternatives is a web application for more organized discussions that help people create alternative solutions, evaluate and rank them.
Copyright 2021-2022 Stavros Kalognomos
This file is part of Crowd Discusses Alternatives.
Crowd Discusses Alternatives is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
Crowd Discusses Alternatives is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with Crowd Discusses Alternatives. If not, see <https://www.gnu.org/licenses/>.
-->
<h2 id="codeofconduct">Code of conduct</h2>
<p>
Please respect the following rules when using this website:
<ul>
<li>No incitement of violence or promotion of violent ideologies.
<li>Content or interactions which harass in any way are not allowed.
<li>No racism, homophobia, xenophobia, casteism, or violent nationalism. No Holocaust denial or Nazi symbolism.
<li>This platform is not for pornography.
<li>Do not share intentionally false or misleading information.
<li>Respect the licences of the creators when you share content.
</ul>
</p>
<br>

View File

@ -1,7 +1,7 @@
<!--
Crowd Discusses Alternatives is a web application for more organized discussions that help people create alternative solutions, evaluate and rank them.
Copyright 2021-2022 Stavros Kalognomos
Copyright 2021-2024 Stavros Kalognomos
This file is part of Crowd Discusses Alternatives.
@ -14,9 +14,12 @@
<h2>Contents</h2>
<ul>
<li><a href="#introduction">Introduction</a></li>
<li><a href="#perpose">Perpose</a></li>
<li><a href="#purpose">Purpose</a></li>
<li><a href="#coreconcepts">Core concepts</a></li>
<li><a href="#faq">Frequently asked questions</a></li>
<li><a href="#sourcecode">Source code</a></li>
<li><a href="#codeofconduct">Code of conduct</a></li>
<li><a href="#moderationinformation">Moderation information</a></li>
<li><a href="#helpfullinks">Helpful links</a></li>
</ul>
<br>

View File

@ -1,7 +1,7 @@
<!--
Crowd Discusses Alternatives is a web application for more organized discussions that help people create alternative solutions, evaluate and rank them.
Copyright 2021-2022 Stavros Kalognomos
Copyright 2021-2024 Stavros Kalognomos
This file is part of Crowd Discusses Alternatives.
@ -20,7 +20,7 @@ Crowd Discusses Alternatives is an open-source online application that helps peo
<li>The proposals are clearly distinguished from the comments.</li>
<li>Team-members are able to group proposals in order to form alternative solutions.</li>
<li>Team-members are able to insert references and evaluate them concerning their accuracy and importance.</li>
<li>The application has powerfull search tools that give users the ability to find specific comments, proposals or groups.</li>
<li>The application has powerful search tools that give users the ability to find specific comments, proposals or groups.</li>
<li>The application has the tools that help team-members evaluate proposals and groups of proposals.</li>
<li>Proposals and groups of proposals can be ranked by popularity.</li>
</ul>

View File

@ -1,7 +1,7 @@
<!--
Crowd Discusses Alternatives is a web application for more organized discussions that help people create alternative solutions, evaluate and rank them.
Copyright 2021-2022 Stavros Kalognomos
Copyright 2021-2024 Stavros Kalognomos
This file is part of Crowd Discusses Alternatives.
@ -16,7 +16,7 @@
<i>1. What is the difference between Crowd Discusses Alternatives application and other voting systems?</i>
</p>
<p>
Crowd Discusses Alternatives does not try to distinguish the best solution of a problem (that is represented in a topic) from all the other solutions. On the contrary, it helps the users to find a collection of alternative solutions, and it clearly represents their advantages/disadvandages and their popularity.
Crowd Discusses Alternatives does not try to distinguish the best solution of a problem (that is represented in a topic) from all the other solutions. On the contrary, it helps the users to find a collection of alternative solutions, and it clearly represents their advantages/disadvantages and their popularity.
</p>
<p>
The users do not just vote for or against a solution. They participate on the construction of the solutions. They insert proposals based on the sources/information that they have gathered. These proposals are the “bricks” for the collective construction of each solution.

View File

@ -22,4 +22,9 @@ Alternatively, you can watch the following video:
<br>
<a href="https://diode.zone/w/q7cApNwUjUZa6iS4eRygeY" target="_blank">"Crowd Discusses Alternatives" open-source web-app . Explanation of its basic features.</a>
</p>
<p>
An enhanced voting system for groups was implemented in 2024. For more information you can read:
<br>
<a href="https://git.disroot.org/CrowdDiscussesAlternatives/CrowdDiscussesAlternatives/src/branch/master/pdfs/Proposal%20of%20an%20adequately%20secure%20low-stakes%20voting%20system.pdf" target="_blank">Proposal of an adequately secure low-stakes voting system.pdf.</a>
</p>
<br>

View File

@ -0,0 +1,21 @@
<!--
Crowd Discusses Alternatives is a web application for more organized discussions that help people create alternative solutions, evaluate and rank them.
Copyright 2021-2024 Stavros Kalognomos
This file is part of Crowd Discusses Alternatives.
Crowd Discusses Alternatives is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
Crowd Discusses Alternatives is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with Crowd Discusses Alternatives. If not, see <https://www.gnu.org/licenses/>.
-->
<h2 id="moderationinformation">Moderation information</h2>
<p>
If you become aware of some content in this website (text or link) that violates the code of conduct, you can send a notification via a private message to the admin of Crowd Discusses Alternatives<!-- or via email at ???@a2hosting.com-->. In the future, I am tending to add some features in this website in order the whole community of its users, to be able to help moderating its content, by reporting inappropriate content, and maybe by voting if it should become temporarily hidden from the search results due to violations of the code of conduct. The aim is, this community to be involved in the moderation of the content in order sounder decisions to be taken for this matter via creating an open and safe environment for discussions<!-- that encourage people to read and write their thoughts-->. The administrator can still temporarily hide or permanently delete content that violates the above code of conduct.
<br>
<br>
Please also note that this website is intended for public content only. There are no privacy guarantees (not even in private messages).
</p>
<br>

View File

@ -1,7 +1,7 @@
<!--
Crowd Discusses Alternatives is a web application for more organized discussions that help people create alternative solutions, evaluate and rank them.
Copyright 2021-2022 Stavros Kalognomos
Copyright 2021-2024 Stavros Kalognomos
This file is part of Crowd Discusses Alternatives.
@ -11,7 +11,7 @@
You should have received a copy of the GNU Affero General Public License along with Crowd Discusses Alternatives. If not, see <https://www.gnu.org/licenses/>.
-->
<h2 id="perpose">Perpose</h2>
<h2 id="purpose">Purpose</h2>
<p>
Discussions in forums usually tend to have the following drawbacks:
</p>

View File

@ -15,11 +15,11 @@
<p>
You can find the source code of "Crowd Discusses Alternatives" in the following repository:
<br>
<a href="https://git.disroot.org/CrowdDiscussesAlternatives/CrowdDiscussesAlternatives">Repository of source code.</a>
<a href="https://git.disroot.org/CrowdDiscussesAlternatives/CrowdDiscussesAlternatives" target="_blank">Repository of source code.</a>
</p>
<p>
"Crowd Discusses Alternatives" is a free software under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
<br>
<a href="https://www.gnu.org/licenses/">GNU licenses.</a>
<a href="https://www.gnu.org/licenses/" target="_blank">GNU licenses.</a>
</p>
<br>

View File

@ -2,7 +2,7 @@
/*
Crowd Discusses Alternatives is a web application for more organized discussions that help people create alternative solutions, evaluate and rank them.
Copyright 2021-2022 Stavros Kalognomos
Copyright 2021-2024 Stavros Kalognomos
This file is part of Crowd Discusses Alternatives.
@ -24,10 +24,13 @@
<?php
include 'about/aboutcontentspage.php';
include 'about/aboutintroductionpage.php';
include 'about/aboutperposepage.php';
include 'about/aboutpurposepage.php';
include 'about/aboutcoreconceptspage.php';
include 'about/aboutfaqpage.php';
include 'about/aboutsourcecodepage.php';
include 'about/aboutcodeofconduct.php';
include 'about/aboutmoderationinformation.php';
include 'about/abouthelpfullinks.php';
?>
</div>
</main>

View File

@ -1,7 +1,7 @@
/*
Crowd Discusses Alternatives is a web application for more organized discussions that help people create alternative solutions, evaluate and rank them.
Copyright 2021-2022 Stavros Kalognomos
Copyright 2021-2024 Stavros Kalognomos
This file is part of Crowd Discusses Alternatives.
@ -24,7 +24,7 @@ addMemberMessage.innerHTML = " ";
if (errorVar != "") {
if (errorVar == 'invalidname' || errorVar == 'noaddedmember') {
addMemberMessage.innerHTML = "The name that you entered does not match with any username in CDA platform!";
addMemberMessage.innerHTML = "The name that you entered does not match with any username in Crowd Discusses Alternatives platform!";
}
else if (errorVar == 'alreadymember') {
addMemberMessage.innerHTML = oldMemberVar + " is already a member of this topic!";

View File

@ -2,7 +2,7 @@
/*
Crowd Discusses Alternatives is a web application for more organized discussions that help people create alternative solutions, evaluate and rank them.
Copyright 2021-2022 Stavros Kalognomos
Copyright 2021-2024 Stavros Kalognomos
This file is part of Crowd Discusses Alternatives.
@ -936,8 +936,12 @@ class Cda extends Dbh
}
$sql = $sql1 . $sql2;
$params = [$parentId];
$stmt = $this->execStmtWithBindParam($sql, $params);
if ($parentCateg === null) {
$stmt = $this->executeStmt($sql, null);
} else {
$params = [$parentId];
$stmt = $this->execStmtWithBindParam($sql, $params);
}
$results = $stmt->fetch();
return $results['total_num'];
}
@ -997,6 +1001,78 @@ class Cda extends Dbh
return $results['total_num'];
}
protected function countRateOfNewEntries($selectedCateg, int $userId)
{
//TO DO: Insert time-table column in users_of_cda table.
//This function is substituted by the function ratesOfEnteredData.
$period = 604800; //One week in seconds (60*60*24*7 = 604800).
switch ($selectedCateg) {
case 'u':
$sql1 = 'users_of_cda';
break;
case 't':
$sql1 = 'topics';
break;
case 'g':
$sql1 = 'groups_of_p';
break;
case 'p':
$sql1 = 'proposals';
break;
case 'c':
$sql1 = 'comments_in_cda';
break;
case 'r':
$sql1 = 'references_of_p';
break;
case 'q':
$sql1 = 'requirements_of_t';
break;
case 's':
$sql1 = 'similar_proposals';
break;
case 'm':
$sql1 = 'messages';
break;
default:
return 0;
break;
}
if ($selectedCateg == 'u') {
$sql2 = '';
} elseif ($selectedCateg == 'm') {
$sql2 = ' AND sender_id = :userId';
} else {
$sql2 = ' AND user_id = :userId';
}
$sql = 'SELECT COUNT(*) AS total_num
FROM ' . $sql1 . '
WHERE TO_SECONDS(CURRENT_TIMESTAMP)-TO_SECONDS(date_time) < $period' . $sql2 . ';';
if ($selectedCateg == 'u') {
$stmt = $this->executeStmt($sql, null);
} else {
$params = array(':userId' => $userId);
$stmt = $this->executeStmt($sql, $params);
}
$results = $stmt->fetch();
return $results['total_num'];
}
protected function getSelectedTgpcr($selectedCateg, int $selectedTgpcrID)
{
switch ($selectedCateg) {

View File

@ -45,17 +45,17 @@ class CdaContr extends Cda
//Checks if in a specified period of time the entered rows in the tables of the database are less than the limit.
public function checkLimitsOfEnteredData($categoryName)
{
$SpecifiedDurationOfPeriod = 3*60; //in seconds. If value changed, change it also in errorpage.js and signup.js (errorVar=entryrejected).
$SpecifiedDurationOfPeriod = 24*60*60; //in seconds. If value changed, change it also in errorpage.js and signup.js (errorVar=entryrejected).
//The limits apply for the specified period. They refer to the number of rows entered to each table (e.g. how many topics are created and entered as rows in the topics table).
$limitOfEnteredUsers = 5;
$limitOfEnteredUsers = 100;
$limitOfEnteredTopics = 5;
$limitOfEnteredRequirements = 50;
$limitOfEnteredProposals = 50;
$limitOfEnteredReferences = 100;
$limitOfEnteredSimilarities = 50;
$limitOfEnteredGroups = 50;
$limitOfEnteredComments = 100;
$limitOfenteredMessages = 50;
$limitOfEnteredRequirements = 500;
$limitOfEnteredProposals = 500;
$limitOfEnteredReferences = 1000;
$limitOfEnteredSimilarities = 500;
$limitOfEnteredGroups = 500;
$limitOfEnteredComments = 5000;
$limitOfenteredMessages = 500;
$limitOfEnteredData = array('users' => $limitOfEnteredUsers, 'topics' => $limitOfEnteredTopics, 'requirements' => $limitOfEnteredRequirements, 'proposals' => $limitOfEnteredProposals, 'references' => $limitOfEnteredReferences, 'similarities' => $limitOfEnteredSimilarities, 'groups' => $limitOfEnteredGroups, 'comments' => $limitOfEnteredComments, 'messages' => $limitOfenteredMessages);

View File

@ -1,7 +1,7 @@
/*
Crowd Discusses Alternatives is a web application for more organized discussions that help people create alternative solutions, evaluate and rank them.
Copyright 2021-2022 Stavros Kalognomos
Copyright 2021-2023 Stavros Kalognomos
This file is part of Crowd Discusses Alternatives.
@ -64,4 +64,7 @@ if (errorVar != "") {
else if (errorVar == 'entryrejected') {
infoMessage.innerHTML = "Error: Currently, the limit of the table in the database (for this action) has been reached. Please, try again after 1 day.";
}
else if (errorVar == 'usernameisguest0001') {
infoMessage.innerHTML = "Error: Please note that the account with username guest0001 is not allowed to create content or become a team-member. This account can only be used for viewing content.";
}
}

View File

@ -1,7 +1,7 @@
<!--
Crowd Discusses Alternatives is a web application for more organized discussions that help people create alternative solutions, evaluate and rank them.
Copyright 2021-2022 Stavros Kalognomos
Copyright 2021-2024 Stavros Kalognomos
This file is part of Crowd Discusses Alternatives.
@ -12,7 +12,7 @@
You should have received a copy of the GNU Affero General Public License along with Crowd Discusses Alternatives. If not, see <https://www.gnu.org/licenses/>.
-->
<footer>
<p>CDA V0.5 (2022)</p>
<p>CrowdDiscussesAlternatives V0.5 (2024)</p>
</footer>
</body>
</html>

View File

@ -1,7 +1,7 @@
<!--
Crowd Discusses Alternatives is a web application for more organized discussions that help people create alternative solutions, evaluate and rank them.
Copyright 2021-2022 Stavros Kalognomos
Copyright 2021-2024 Stavros Kalognomos
This file is part of Crowd Discusses Alternatives.
@ -17,13 +17,13 @@
<meta charset="utf-8">
<meta name="description" content="Crowd Discusses Alternatives">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>CDA</title>
<title>Crowd Discusses Alternatives</title>
<link rel="stylesheet" type="text/css" href="style_cda.css">
</head>
<body>
<header>
<ul class="header_ul">
<li><a href="index.php" id="logo">Crowd Discusses Alternatives</a></li>
<li><a href="index.php" id="logo" target="_blank">Crowd Discusses Alternatives</a></li>
<li><a href="signup.php" id="signup">Signup</a></li>
<li><a href="login.php" id="login">Login</a></li>
<li><a href="logout.php" id="logout">Logout</a></li>

View File

@ -2,7 +2,7 @@
/*
Crowd Discusses Alternatives is a web application for more organized discussions that help people create alternative solutions, evaluate and rank them.
Copyright 2021-2022 Stavros Kalognomos
Copyright 2021-2023 Stavros Kalognomos
This file is part of Crowd Discusses Alternatives.
@ -29,6 +29,12 @@ if (isset($_SESSION['userId'], $_SESSION['auth'] ,$_COOKIE['auth']) && $_COOKIE[
$cdaContrObj = new CdaContr();
$cdaViewObj = new CdaView();
//Check if username is guest0001. This account is not allowed to create content or become a team-member. It is only for viewing content.
if ($_POST["input_addmember"] == "guest0001") {
header("Location: ../errorpage.php?error=usernameisguest0001");
exit();
}
$topicInfo = $cdaViewObj->showSelectedTopicInfo((int)$_POST['selectedid']);
if ($topicInfo === null || $topicInfo["timetable_changed"] == -1) {

View File

@ -40,6 +40,8 @@ function myAutoloader($className)
break;
}
$fullPath = mb_strtolower($fullPath);
if(file_exists($fullPath)) {
require_once $fullPath;
return;

View File

@ -2,7 +2,7 @@
/*
Crowd Discusses Alternatives is a web application for more organized discussions that help people create alternative solutions, evaluate and rank them.
Copyright 2021-2022 Stavros Kalognomos
Copyright 2021-2023 Stavros Kalognomos
This file is part of Crowd Discusses Alternatives.
@ -32,6 +32,12 @@ if (!isset($_POST['reference_url'])) {
exit();
}
//Check if username is guest0001. This account is not allowed to create content. It is only for viewing content.
if ($_SESSION["userUid"] == "guest0001") {
header("Location: ../errorpage.php?error=usernameisguest0001");
exit();
}
$newReferenceDescription = $_POST['ref_description'];
$newReferenceUrl = trim($_POST['reference_url'], " "); //Removes whitespaces from the start and the end of the string.

View File

@ -2,7 +2,7 @@
/*
Crowd Discusses Alternatives is a web application for more organized discussions that help people create alternative solutions, evaluate and rank them.
Copyright 2021-2022 Stavros Kalognomos
Copyright 2021-2023 Stavros Kalognomos
This file is part of Crowd Discusses Alternatives.
@ -21,6 +21,12 @@ if (isset($_POST['create_submit'], $_POST['sendto'])) { //if all variables i
$cdaContrObj = new CdaContr();
$cdaViewObj = new CdaView();
//Check if username is guest0001. This account is not allowed to create content. It is only for viewing content.
if ($_SESSION["userUid"] == "guest0001") {
header("Location: ../errorpage.php?error=usernameisguest0001");
exit();
}
$idsOfRecipients = $cdaContrObj->checkUsernamesOfRecipientsOfMsg($_POST['sendto']);
$newTextarea = $_POST['textarea_name'];

View File

@ -2,7 +2,7 @@
/*
Crowd Discusses Alternatives is a web application for more organized discussions that help people create alternative solutions, evaluate and rank them.
Copyright 2021-2022 Stavros Kalognomos
Copyright 2021-2023 Stavros Kalognomos
This file is part of Crowd Discusses Alternatives.
@ -22,11 +22,17 @@ if (isset($_POST['create_topic_submit'])) { //if all variables in "array" ex
$cdaContrObj = new CdaContr();
//Check if username is guest0001. This account is not allowed to create content. It is only for viewing content.
if ($_SESSION["userUid"] == "guest0001") {
header("Location: ../errorpage.php?error=usernameisguest0001");
exit();
}
$checkIfAlreadyTopic = $cdaContrObj->checkIfTExists($newTopic);
if ($checkIfAlreadyTopic !== null) {
header("Location: ../createnewtopic.php?error=topicexists");
exit();
header("Location: ../createnewtopic.php?error=topicexists");
exit();
}
$newTopicId = $cdaContrObj->createTopic($newTopic, $_SESSION["userId"]);

View File

@ -23,4 +23,4 @@ if (!isset($_POST['create_submit'])) {
exit();
}
$cdaContrObj->postponeCurrentPhase((int) $_POST['topicid'], (int) $_POST['postponeendofcurrentphaseindays'], (int) $_POST['currentphase']);
$cdaContrObj->postponeCurrentPhase((int) $_POST['topicid'], (int) $_POST['postponeendofcurrentphaseindays'], $_POST['currentphase']);

View File

@ -12,6 +12,9 @@
You should have received a copy of the GNU Affero General Public License along with Crowd Discusses Alternatives. If not, see <https://www.gnu.org/licenses/>.
*/
/*
exit("<p><br><br><b>-- Please note that currently, the ability of signing up is active only for people that I know and friends of mine. You can still login as a guest, if you want to see the content of this platform.</b></p>"); //Signup is temporarily unavailable.
*/
if (isset($_POST['signup-submit'])) { //if all variables in "array" exist and are not null.
require_once 'autoloader-inc.php';

View File

@ -2,7 +2,7 @@
/*
Crowd Discusses Alternatives is a web application for more organized discussions that help people create alternative solutions, evaluate and rank them.
Copyright 2021-2022 Stavros Kalognomos
Copyright 2021-2023 Stavros Kalognomos
This file is part of Crowd Discusses Alternatives.
@ -23,6 +23,12 @@ if (isset($_SESSION['userId'], $_SESSION['auth'] ,$_COOKIE['auth']) && $_COOKIE[
exit();
}
//Check if username is guest0001. This account is not allowed to create content, become team-member or vote. It is only for viewing content.
if ($_SESSION["userUid"] == "guest0001") {
header("Location: ../errorpage.php?error=usernameisguest0001");
exit();
}
switch ($_POST["vote"]) {
case '1':
$vote = 1;

View File

@ -32,6 +32,7 @@
Please notice that cookies must be allowed in order to login (only essential cookies for funcionality of the site are used).</p>
<?php
include 'mainpagetext.php';
}
?>

View File

@ -12,10 +12,12 @@
You should have received a copy of the GNU Affero General Public License along with Crowd Discusses Alternatives. If not, see <https://www.gnu.org/licenses/>.
-->
<p>
You can signup/login or login as a guest using the username guest0001 and password guest0001. Please note that this account (with username guest0001) is only for viewing content, i.e. you cannot create content, become a team-member, or vote as a guest.
You can signup/login or login <u>as a guest using the username guest0001 and password guest0001.</u> Please note that this account (with username guest0001) is only for viewing content, i.e. you cannot create content, become a team-member, or vote as a guest.
</p>
<!--
<p>
<b>Please note </b>that currently, the ability of signing up is active only for people that I know and friends of mine. You can still login as a guest, if you want to see the content of this platform.
<u>Please note </u>that currently, the ability of signing up is active only for people that I know and friends of mine. You can still login as a guest, if you want to see the content of this platform.
</p>
-->
<br>
<br>

View File

@ -1,7 +1,7 @@
<!--
Crowd Discusses Alternatives is a web application for more organized discussions that help people create alternative solutions, evaluate and rank them.
Copyright 2021-2022 Stavros Kalognomos
Copyright 2021-2024 Stavros Kalognomos
This file is part of Crowd Discusses Alternatives.
@ -36,11 +36,11 @@
<li><a class="nav_a" href="createnewrequirement.php?selectedt=<?php echo $_GET['selected'] ?>">New requirement</a></li>
<li><a class="nav_a" href="viewproposals.php?selectedt=<?php echo $_GET['selected'] ?>">View proposals</a></li>
<li><a class="nav_a" href="viewproposals.php?selectedt=<?php echo $_GET['selected'] ?>&lcp=true">View latest commented proposals</a></li>
<li><a class="nav_a" href="viewsimilarities.php?selectedt=<?php echo $_GET['selected'] ?>">View similarities of proposals</a></li>
<li><a class="nav_a" href="createnewproposal.php?selectedt=<?php echo $_GET['selected'] ?>">New proposal</a></li>
<li><a class="nav_a" href="viewreferences.php?selectedtid=<?php echo substr($_GET['selected'], 1) ?>">View references</a></li>
<li><a class="nav_a" href="createaddreference.php?selectedtid=<?php echo substr($_GET['selected'], 1) ?>">Add reference</a></li>
<li><a class="nav_a" href="viewgroups.php?selectedt=<?php echo $_GET['selected'] ?>">View groups</a></li>
<li><a class="nav_a" href="viewsimilarities.php?selectedt=<?php echo $_GET['selected'] ?>">View similarities of proposals</a></li>
<li><a class="nav_a" href="viewcomments.php?selectedt=<?php echo $_GET['selected'] ?>">Search in comments</a></li>
</div>
</ul>

View File

@ -13,6 +13,10 @@
-->
<?php
require "header.php";
/*
exit("<p><br><br><b>-- Please note </b>that currently, the ability of signing up is active only for people that I know and friends of mine.</p>
<p>You can still login as a guest, if you want to see the content of this platform.</p>"); //Signup is temporarily unavailable.
*/
?>
<main>

View File

@ -1,7 +1,7 @@
<!--
Crowd Discusses Alternatives is a web application for more organized discussions that help people create alternative solutions, evaluate and rank them.
Copyright 2021-2022 Stavros Kalognomos
Copyright 2021-2024 Stavros Kalognomos
This file is part of Crowd Discusses Alternatives.
@ -15,15 +15,19 @@
<p>
Note that:
<br><br>
During the first phase: The initiator of the topic can invite other users of Crowd Discusses Alternatives as team members, by sending personal messages with the id or the link of the topic in them. Consider an adequate duration of this phase in order the people that you invite to be able to respond back.
During the first phase: The initiator of the topic can invite other users of Crowd Discusses Alternatives as team members, by sending personal messages with the id or the link of the topic in them. Consider an adequate duration of this phase in order the people that you invite to be able to respond back [1].
<br><br>
During the second phase: The team can make the topic more specific by attaching requirements to it. In this phase goals can become quantified and time-framed, necessary resources can be specified. The team can search for references/sources early in this phase in order to better understand the topic. These references can be used by every topic and added to proposals.
During the second phase: The team can make the topic more specific by attaching requirements to it. In this phase goals can become quantified and time-framed, necessary resources can be specified. The team can search for references/sources early in this phase in order to better understand the topic. These references can be later added to proposals.
<br><br>
During the third phase: Each member can submit his/her proposals in the topic, attach references to them, and specify also the period that each proposal can be editable (changed). This period can be used for, not only taking feedback from other members concerning your proposals, but also for commenting on others proposals in order to help them inprove their proposals and in order to be better informed about the available proposals of the topic. When the editing phase of a proposal ends, members can vote for/against it, or comment about it, specifying the pros and cons of the proposal.
<br><br>
During the fourth phase: The team can start forming groups of proposals that will represent the alternative solutions of the topic. Members can comment on a group, mostly for subjects that concern a group (alternative solution) as a whole. They can also vote for/against a group, in order to become clear which alternatives are considered the best.
<br><br>
Members can also comment on or submit proposals during this phase, but they must wait for a period of 15 days after the editing period of the proposals ends. During this period they can mainly comment on or vote for/against these new proposals. After this period, they can also use these new proposals in groups.
Members can also comment on or submit proposals during this phase, however before they can group these new proposals, they must wait for a period of 15 days after their editing periods. During these 15 days they can mainly comment on or vote for/against these new proposals. After this period, they can also use these new proposals in groups.
<br><br>
Please note that the initiator of the topic can only postpone a phase (he/she cannot terminate a phase earlier).
<br><br>
Update [1]: Currently, the initiator of the topic can add new members until the end of the third phase. However, after the end of the first phase, it is better for the initiator of the topic to seek advice from those that are early members, when inviting new members to the topic.
<br><br>
<!--Please note that the initiator can create the time-table of the topic only once. if a member wants to update the time-table or to close a phase in order to start the next one, he/she can propose it via a poll. The results of the poll will change automatically the time table.-->
</p>

View File

@ -1,7 +1,7 @@
/*
Crowd Discusses Alternatives is a web application for more organized discussions that help people create alternative solutions, evaluate and rank them.
Copyright 2021-2022 Stavros Kalognomos
Copyright 2021-2024 Stavros Kalognomos
This file is part of Crowd Discusses Alternatives.
@ -51,7 +51,7 @@ if (errorVar != "") {
}
else if (errorVar == 'update') {
infoMessage.innerHTML = "Please notice that you can create the time-table of the topic only once." +
" If you want to update the time-table or to close a phase in order to start the next one, you can do it via a poll.";
" However, you can prolong (postpone the end of) its current phase.";
document.getElementById('form_create').style.display = 'none';
}
}

View File

@ -2,7 +2,7 @@
/*
Crowd Discusses Alternatives is a web application for more organized discussions that help people create alternative solutions, evaluate and rank them.
Copyright 2021-2022 Stavros Kalognomos
Copyright 2021-2024 Stavros Kalognomos
This file is part of Crowd Discusses Alternatives.
@ -58,7 +58,7 @@
exit("<br><br><b>-- Error: Wrong Category!</b>");
}
$displayedTip = "Below are displayed comments (of " . $msgPOrG . ") that contain the specified word/phrase: \"" . $_REQUEST['strs'] . "\"."
$displayedTip = "Below are displayed comments (of " . $msgPOrG . ") that contain the specified word/phrase: " . $_REQUEST['strs'] . "."
. " The search was performed in comments created by " . $msgM . '.';
?>
<p class="class_tip"><b><?php echo $displayedTip; ?></b></p>
@ -112,7 +112,7 @@
<p class="paragraphafterbutton">contain: </p>
<input type="text" name="input_strsforviewg" id="input_strsforviewg" class="input_strs_entries" placeholder="Enter a word or phrase that a comment must contain (enclosed in %% e.g. %word%)..." title="Enter a word or phrase that a comment must contain (enclosed in %% e.g. %word%)"></input>
<p class="paragraphafterbutton"></p>
<p class="class_tip">If you want to search for a comment that contains a word/phrase e.g. "pros and cons" enclose the phrase inside "%%" e.g. "%pros and cons%". If you want the comment to start with this phrase, you can enter "pros and cons%". Note that if the word/phrase contains characters that are not letter, number, backslash nor space, you should type "\" before each of them (e.g. "100\%" instead of "100%"). For more details you can read <a href="">help</a> page.</p>
<p class="class_tip">If you want to search for a comment that contains a word/phrase e.g. "pros and cons" enclose the phrase inside "%%" e.g. "%pros and cons%". If you want the comment to start with this phrase, you can enter "pros and cons%". Note that if the word/phrase contains characters that are not letter, number, backslash nor space, you should type "\" before each of them (e.g. "100\%" instead of "100%").<!-- For more details you can read <a href="">help</a> page.--></p>
<?php
}
?>

View File

@ -2,7 +2,7 @@
/*
Crowd Discusses Alternatives is a web application for more organized discussions that help people create alternative solutions, evaluate and rank them.
Copyright 2021-2022 Stavros Kalognomos
Copyright 2021-2024 Stavros Kalognomos
This file is part of Crowd Discusses Alternatives.

View File

@ -2,7 +2,7 @@
/*
Crowd Discusses Alternatives is a web application for more organized discussions that help people create alternative solutions, evaluate and rank them.
Copyright 2021-2022 Stavros Kalognomos
Copyright 2021-2024 Stavros Kalognomos
This file is part of Crowd Discusses Alternatives.

View File

@ -2,7 +2,7 @@
/*
Crowd Discusses Alternatives is a web application for more organized discussions that help people create alternative solutions, evaluate and rank them.
Copyright 2021-2022 Stavros Kalognomos
Copyright 2021-2024 Stavros Kalognomos
This file is part of Crowd Discusses Alternatives.
@ -43,7 +43,7 @@
</div>
<div class="tgpcrAll">
<p><?php echo $totalnumOfTM; ?> team-members of topic:</p>
<p>There are <?php echo $totalnumOfTM; ?> team-members in topic:</p>
<?php
$category = 't';
$tgpcr = $cdaViewObj->showSelectedTgpcr('t', (int)$topicId);

View File

@ -30,12 +30,12 @@
case 'g':
?>
<div id="g<?php echo $tgpcr['id']; ?>" class="class_group">
<div class="id_text" onclick="selectTgpcr(event)"><?php echo 'g', $tgpcr['id']; ?></div>
<div class="tgpcr_text"><?php echo $tgpcr['group_name']; ?></div>
<div class="votes_text"><?php echo $tgpcr['votes_sum_result']; ?></div>
<div class="votes_text"><?php echo $tgpcr['number_of_votes']; ?></div>
<div class="user_date_text"><?php echo $tgpcr['user_name']; ?></div>
<div class="user_date_text"><?php echo $tgpcr['date_time']; ?></div>
<div class="id_text" onclick="selectTgpcr(event)"><?php echo 'g', $tgpcr['id']; ?>˺</div>
<div class="tgpcr_text"><?php echo $tgpcr['group_name']; ?>˺</div>
<div class="votes_text"><?php echo $tgpcr['votes_sum_result']; ?>˺</div>
<div class="votes_text"><?php echo $tgpcr['number_of_votes']; ?>˺</div>
<div class="user_date_text"><?php echo $tgpcr['user_name']; ?>˺</div>
<div class="user_date_text"><?php echo $tgpcr['date_time']; ?>˺</div>
<div class="user_date_text" style="display: none;"><?php echo 't', $tgpcr['topic_id'], '_n0', '_n0' ?></div>
</div>
<?php
@ -49,13 +49,13 @@
}
?>
<div id="p<?php echo $tgpcr['id']; ?>" class="class_proposal">
<div class="id_text" onclick="selectTgpcr(event)"><?php echo 'p', $tgpcr['id']; ?></div>
<div class="tgpcr_text" onclick="selectProposals(event)"><?php echo $tgpcr['proposal']; ?></div>
<div class="votes_text"><?php echo $tgpcr['votes_sum_result']; ?></div>
<div class="votes_text"><?php echo $tgpcr['number_of_votes']; ?></div>
<div class="user_date_text"><?php echo $tgpcr['user_name']; ?></div>
<div class="user_date_text"><?php echo $tgpcr['date_time']; ?></div>
<div class="user_date_text"><?php echo $stateOfEdit; ?></div>
<div class="id_text" onclick="selectTgpcr(event)"><?php echo 'p', $tgpcr['id']; ?>˺</div>
<div class="tgpcr_text" onclick="selectProposals(event)"><?php echo $tgpcr['proposal']; ?>˺</div>
<div class="votes_text"><?php echo $tgpcr['votes_sum_result']; ?>˺</div>
<div class="votes_text"><?php echo $tgpcr['number_of_votes']; ?>˺</div>
<div class="user_date_text"><?php echo $tgpcr['user_name']; ?>˺</div>
<div class="user_date_text"><?php echo $tgpcr['date_time']; ?>˺</div>
<div class="user_date_text"><?php echo $stateOfEdit; ?>˺</div>
<div class="user_date_text" style="display: none;"><?php echo 't', $tgpcr['topic_id'], '_n0', '_n0' ?></div>
</div>
<?php
@ -89,12 +89,12 @@
}
?>
<div id="c<?php echo $tgpcr['id']; ?>" class="class_comment">
<div class="id_text" onclick="selectTgpcr(event)"><?php echo 'c', $tgpcr['id']; ?></div>
<div class="tgpcr_text"><?php echo $tgpcr['comment_text']; ?></div>
<div class="votes_text"></div>
<div class="votes_text"></div>
<div class="user_date_text"><?php echo $tgpcr['user_name']; ?></div>
<div class="user_date_text"><?php echo $tgpcr['date_time']; ?></div>
<div class="id_text" onclick="selectTgpcr(event)"><?php echo 'c', $tgpcr['id']; ?>˺</div>
<div class="tgpcr_text"><?php echo $tgpcr['comment_text']; ?>˺</div>
<div class="votes_text">˺</div>
<div class="votes_text">˺</div>
<div class="user_date_text"><?php echo $tgpcr['user_name']; ?>˺</div>
<div class="user_date_text"><?php echo $tgpcr['date_time']; ?>˺</div>
<div class="user_date_text" style="display: none;"><?php echo $categoryOfParent, $tgpcr['in_category_id'], '_n0', '_n0' ?></div><!-- TO DO: It should be parentCategId_tId_n0 -->
</div>
<?php
@ -105,14 +105,14 @@
$idOfParent = 0;
?>
<div id="r<?php echo $tgpcr['id']; ?>" class="class_reference">
<div class="id_text" onclick="selectTgpcr(event)"><?php echo 'r', $tgpcr['id']; ?></div>
<div class="id_text" onclick="selectTgpcr(event)"><?php echo 'r', $tgpcr['id']; ?>˺</div>
<div class="tgpcr_text" title="<?php echo $tgpcr['reference_text']; ?>">
<a href="<?php echo $tgpcr['reference_text']; ?>" target="_blank"><?php echo $tgpcr['ref_description']; ?></a>
<a href="<?php echo $tgpcr['reference_text']; ?>" target="_blank"><?php echo $tgpcr['ref_description']; ?></a>˺
</div>
<div class="votes_text"><?php echo $tgpcr['votes_sum_result']; ?></div>
<div class="votes_text"><?php echo $tgpcr['number_of_votes']; ?></div>
<div class="user_date_text"><?php echo $tgpcr['user_name']; ?></div>
<div class="user_date_text"><?php echo $tgpcr['date_time']; ?></div>
<div class="votes_text"><?php echo $tgpcr['votes_sum_result']; ?>˺</div>
<div class="votes_text"><?php echo $tgpcr['number_of_votes']; ?>˺</div>
<div class="user_date_text"><?php echo $tgpcr['user_name']; ?>˺</div>
<div class="user_date_text"><?php echo $tgpcr['date_time']; ?>˺</div>
<div class="user_date_text" style="display: none;"><?php echo $categoryOfParent, $idOfParent, '_n0', '_n0' ?></div>
</div>
<?php