| Server IP : 195.130.67.5 / Your IP : 216.73.216.231 Web Server : Microsoft-IIS/10.0 System : Windows NT WEBSERVER1 10.0 build 17763 (Windows Server 2016) i586 User : IUSR ( 0) PHP Version : 7.4.19 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/inetpub/wwwroot/Civil/includes/ |
Upload File : |
<?
////////////////////////////////////////////////////////////////////////////////////////
// Class: Tags
// Purpose: Κλάση tags (ετικέτες)
///////////////////////////////////////////////////////////////////////////////////////
class Tags
{
private $connector;
public function __construct($db)
{
$this->connector = $db;
}
// Άντληση tag με το δοσμένο id
public function getTagById($id)
{
$result = $this->connector->query("SELECT * FROM tags WHERE id=$id");
return $this->connector->fetchArray($result);
}
// Επιστρέφει το tag με το δοσμένο όνομα
public function getTagByName($name)
{
$result = $this->connector->query("SELECT * FROM tags WHERE name = '$name'");
if ($myrow = $this->connector->fetchArray($result))
{
return $myrow;
}
else
{
return false;
}
}
// Επιστρέφει πίνακα με όλα τα tags που αντιστοιχούν σε ένα άρθρο
public function getTagsByContentId($content_id)
{
$tags_array = array();
$result = $this->connector->query("SELECT tags.* FROM tags, tags_content WHERE tags.id=tags_content.tag_id and tags_content.content_id=".$content_id);
while ($myrow = $this->connector->fetchArray($result))
{
$tags_array[] = $myrow;
}
return $tags_array;
}
// Επιστρέφει πίνακα με όλα τα tags που υπάρχουνε στη βάση
public function getAllTags($table_ordering="id", $order_type="ASC")
{
$tags_array = array();
$result = $this->connector->query("SELECT * FROM tags ORDER BY $table_ordering $order_type");
while ($myrow = $this->connector->fetchArray($result))
{
$tags_array[] = $myrow;
}
return $tags_array;
}
// Εισάγει στη βάση νέο tag
public function insertTag($name)
{
$result = $this->connector->query("INSERT INTO tags (name) VALUES ('$name')");
return $result;
}
// Ενημερώνει ένα ήδη υπάρχον tag
public function updateTag($id, $name)
{
$result = $this->connector->query("UPDATE tags SET name='$name' WHERE id=$id");
return $result;
}
// Διαγράφει το tag με το συγκεκριμένο id
public function deleteTag($id)
{
$result = $this->connector->query("DELETE FROM tags WHERE id=$id");
if ($result==true)
{
$this->connector->query("DELETE FROM tags_content WHERE tag_id=$id");
}
return $result;
}
// Εισάγει νέα αντιστοιχία tag με άρθρο
public function insertTagAssignment($tag_id, $content_id)
{
$result = $this->connector->query("INSERT INTO tags_content (tag_id, content_id) VALUES ($tag_id, $content_id)");
return $result;
}
// Διαγράφει όλες τις αντιστοιχίες tags του δεδομένου άρθρου
public function deleteTagAssignmentsByContentId($content_id)
{
$result = $this->connector->query("DELETE FROM tags_content WHERE content_id=$content_id");
return $result;
}
// Επιστρέφει πίνακα όλων των άρθρων που περιέχουν το tag με το δοσμένο όνομα
public function getContentsByTagName($tag_name)
{
$contents_array = array();
$result = $this->connector->query("SELECT content.* FROM tags, tags_content, content WHERE tags.id=tags_content.tag_id and tags_content.content_id=content.id and tags.name='$tag_name'");
while ($myrow = $this->connector->fetchArray($result))
{
$contents_array[] = $myrow;
}
return $contents_array;
}
}