source: subversion/applications/utils/tagstat/savecomment.php @ 13868

Last change on this file since 13868 was 13868, checked in by petschge, 11 years ago

Add savecomment.php writecomment.php votecomment.php the pages related
to comments on tags.

File size: 2.6 KB
Line 
1<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2<HTML>
3 <HEAD>
4  <TITLE>tagstat</TITLE>
5  <META http-equiv="content-type" content="text/html; charset=UTF-8">
6  <LINK rel="stylesheet" type="text/css" href="style.css">
7 </HEAD>
8 <BODY>
9<?php
10        require_once "DB.php";
11        include("config.php");
12        include("func.php");
13
14        $tag = getValueFromRequest("tag");
15        $tag_html = htmlspecialchars($tag);
16        $comment = getValueFromRequest("comment");
17
18        echo "<H1>Saving for tag &quot;$tag_html&quot;</H1>\n";
19        $dsn = "mysqli://$user:$passwd@$host/$db";
20        $conn =& DB::connect($dsn);
21        if (DB::isError($conn)) {
22                die ("Cannot connect: " . $conn->getMessage() . "\n");
23        }
24        $conn->query("SET NAMES utf8");
25
26        $insert = $conn->prepare('INSERT INTO tagcomments SET tag=?, comment=?, score=0');
27        $result = $conn->execute($insert, array($tag, $comment));
28        if (DB::isError($result)) {
29                die ("INSERT failed: " . $result->getMessage() . "\n");
30        }
31
32        $id = 0;
33        $getid = $conn->prepare('SELECT MAX(id) FROM tagcomments WHERE tag=? AND comment=? AND score=0');
34        $result = $conn->execute($getid, array($tag, $comment));
35        if (DB::isError($result) || $result->numRows() != 1) {
36                die ("GET ID failed: " . $result->getMessage() . "\n");
37        } else {
38                $row =& $result->fetchRow();
39                $id = $row[0];
40        }
41        if($id == 0) {
42                die ("GET ID failed: got id 0");
43        } else {
44                echo "Comment saved as id $id<BR>";
45        }
46
47        $commentLenZ = strlen(gzcompress($comment));
48        $newscore = 0;
49
50        $getother =& $conn->prepare("SELECT id, comment, score FROM tagcomments WHERE tag=?");
51        $result = $conn->execute($getother, $tag);
52        if (DB::isError($result)) {
53                die ("SELECT failed: " . $result->getMessage() . "\n");
54        }
55        while($row =& $result->fetchRow()) {
56                $otherLenZ = strlen(gzcompress($row[1]));
57                $sum = strlen(gzcompress($comment.$row[1]));
58                $sim = ($commentLenZ + $otherLenZ) / $sum;
59                $otherid = $row[0];
60                $score = $row[2];
61                //echo "id = $otherid, score = $score, similarity = $sim <BR>\n";
62                if($score * ($sim - 1) > $newscore) {
63                        $newscore = $score * ($sim - 1);
64                }
65        }
66        $result->free();
67
68        $newscore = (int)$newscore;
69        $updatescore =& $conn->prepare("UPDATE tagcomments SET score=? WHERE id=?");
70        $result =& $conn->execute($updatescore, array($newscore, $id));
71        if (DB::isError($result)) {
72                die ("UPDATE score failed: " . $result->getMessage() . "\n");
73        } else {
74                echo "You post was granted an initial score of $newscore<BR><BR>\n";
75        }
76
77        $conn->disconnect();
78
79        echo "<A href=\"tagdetails.php?tag=$tag&dir=ASC\">Rare values</A>\n";
80        echo "<A href=\"tagdetails.php?tag=$tag\">Popular values</A>\n";
81        echo "<A href=\"index.php\">Back to index page</A>\n";
82?>
83 </BODY>
84</HTML>
Note: See TracBrowser for help on using the repository browser.