jacobwb / hashover Goto Github PK
View Code? Open in Web Editor NEWFree and Open Source PHP Comment System
Home Page: http://tildehash.com/?page=hashover
License: GNU Affero General Public License v3.0
Free and Open Source PHP Comment System
Home Page: http://tildehash.com/?page=hashover
License: GNU Affero General Public License v3.0
Calling a page with: domain.com/startpage/ creates a folder startpage
in pages, fine.
Calling a page with: domain.com/startpage/?flag=stuff&this=me creates a folder startpage--flag&this-me
in pages.
However, the second call should also write into pages/startpage and ignore the url parameters.
Is there an option, has this been implemented already? If not, where can it be changed in the source?
Thank you.
At page http://tildehash.com/?page=hashover the javascript example is incorrect and does not work with the latest version.
Currently:
<script type="text/javascript">
var rows="4"; // Sets "Comments" field height
var name_on="no"; // Disables "Name" field
var passwd_on="no"; // Disables "Password" field
var email_on="no"; // Disables "E-mail" field
var sites_on="no"; // Disables "Website" field
</script>
This should be stated instead:
<script type="text/javascript">
var rows="4"; // Sets "Comments" field height
var nickname_on = false; // Disables "Name" field
var email_on = false; // Disables "E-mail" field
var website_on = false; // Disables "Website" field
var password_on = false; // Disables "Password" field
</script>
Well, as I have seen from other projects on github, developers use branches in the same repo to proceed their project.
However, as I have just discovered now, there is a new project / repo at https://github.com/jacobwb/hashover-next
Questions:
Hashover fails to load under PJAX and needs to be refreshed before it will be displayed.
In my POV scripts should run in subfolders, at least be able to.
It seems that hashover is not yet ready for this. I wanted to put all hashover files into a folder comments
to have the script separate from all other scripts running on my server.
When doing so, I get:
HashOver - Error: Failed to create comment thread directory at "./comments/hashover/pages/example-page"
I have set the necessary file permissions, so the bug should be somewhere else.
It won't work with php 8+.
Found the following errors:
[06-May-2023 12:10:35 America/Los_Angeles] PHP Warning: file_get_contents(): http:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/website/public_html/hashover.php on line 119 [06-May-2023 12:10:35 America/Los_Angeles] PHP Warning: file_get_contents(http://www.stopforumspam.com/api?ip=70.67.155.134): Failed to open stream: no suitable wrapper could be found in /home/website/public_html/hashover.php on line 119 [06-May-2023 12:10:35 America/Los_Angeles] PHP Fatal error: Array and string offset access syntax with curly braces is no longer supported in /home/website/public_html/hashover/scripts/encryption.php on line 42
Will this be addressed or is that it for this version of the script?
I did read the previous issue regarding php.7.4 which works with hashover comment script. But was hoping for a php 8+ solution if possible.
Thanks for your time!
Installed via .tar file like in the instructions.
Guests can't view posts... I checked the write_comments.php and noticed it was set to 600 chmod for the xml comments. Could that be a reason or something server side I would need to change?
The .tar file
http://tildehash.com/hashover.tar
does not have the same, updated files as on the github page, so following the instructions on http://tildehash.com/?page=hashover doesn't work ;)
Gives this error on opening the hashover.php file -
document.write("HashOver: The variable values in /hashover/scripts/secrets.php need to be UNIQUE.");
Hi.
I really like hashover.
Is it possible to have multiple hashover comment areas on one page, for example if I am showing many blog articles at a single URL, say mysite.com/blog, can I have a hashover area beneath each post and have the comments written to 'blog/somePostID/1.xml' etc.
Thanks in advance
'de' => array(
'comment_form' => 'Kommentar hier eingeben (andere Felder sind optional)', // "Comment" field's default text
'reply_form' => 'Antwort hier eingeben (andere Felder sind optional)', // "Reply" field's default text
'post_button' => 'Kommentar posten', // "Post Comment" button's default text
'del_note' => 'Dieser Kommentar wurde gelöscht.', // Notice of deleted comment
'cmt_deleted' => 'Kommentar gelöscht', // Notice of successful comment deletion
'options' => 'Optionen', // "Options" button text
'cancel' => 'Abbrechen', // "Cancel" button text
'reply_to_cmt' => 'Auf Kommentar antworten',
'edit_your_cmt' => 'Kommentar bearbeiten',
'nickname_tip' => 'Dein Name oder Twitter @name',
'nickname' => 'Name oder @Benutzer',
'password_tip' => 'Passwort (nur falls du den Kommentar später bearbeiten möchtest)',
'password' => 'Passwort',
'email' => 'E-Mail-Adresse',
'website' => 'Webseite',
'logged_in' => 'Du hast dich erfolgreich angemeldet.',
'cmt_needed' => 'Der Kommentar ist leer. Bitte nutze das Formular unten.',
'reply_needed' => 'Die Antwort ist leer. Bitte nutze das Formular unten.',
'post_fail' => 'Ups, du hast nicht die erforderlichen Rechte!',
'cmt_tip' => 'Akzeptiertes HTML: <b>, <u>, <i>, <s>, <pre>, <ul>, <ol>, <li>, <blockquote>, <code> wird als HTML dargestellt, URLs werden automatisch zu Links umgewandelt und mit [img]Bild-URL[/img] werden externe Bilder angezeigt.',
'post_reply' => 'Antwort absenden',
'delete' => 'Löschen',
'subscribe_tip' => 'E-Mail Benachrichtigung abonnieren',
'subscribe' => 'Abonnieren',
'edit_cmt' => 'Kommentar bearbeiten',
'save_edit' => 'Speichern',
'no_email_warn' => 'Du wirst bei neuen Kommentaren keine Benachrichtigung erhalten, wenn du keine E-Mail angibst.',
'invalid_email' => 'Die von dir eingegebene E-Mail-Adresse ist ungültig.',
'delete_cmt' => 'Möchtest du diesen Kommentar wirklich löschen?',
'post_cmt' => 'Kommentar posten',
'popular_cmts' => 'Beliebteste',
'showing_cmts' => 'Anzeige von',
'sort' => 'Sortieren',
'sort_ascend' => 'In Reihenfolge',
'sort_descend' => 'In umgekehrter Reihenfolge',
'sort_byname' => 'Nach Kommentator',
'sort_bydate' => 'Nach Datum (neueste zuerst)',
'sort_bylikes' => 'Nach Likes',
'thread' => 'zum Anfang des Threads',
'thread_tip' => 'Spring zum Anfang des Threads',
'edit' => 'Bearbeiten',
'reply' => 'Antworten',
'like' => 'Gefällt mir',
'liked' => 'Gefällt dir',
'like_cmt' => 'Diese Kommentar gefällt mir',
'liked_cmt' => 'Dir gefällt dieser Kommentar',
'op_cmt_note' => 'Du wirst nicht per E-Mail benachrichtigt',
'subbed_note' => 'wirst per E-Mail benachrichtigt',
'unsubbed_note' => 'hat E-Mail-Benachrichtigungen nicht abonniert'
),
Note:
I have seen that some language strings are hardcoded in javascript-mode.php:
var pagetitle = (document.title != '') ? ' on "'+ document.title +'"' : '';
echo $this->escape_output('<b class="hashover-title">Be the first to comment!</b>\n</div>');
Plus in displaycomments.php the time strings:
Nice library! How "easily" can I use only the backend of Hashover? I don't want to display a typical comment section but I do want to have the backend, so I'm thinking it may be more efficient to setup and configure the backend, but use my own code to post comments to the backend. I can see that HashOver matches comment sections to urls, so I think that's something I'll have to address. What other concerns will I have to deal with? Thanks!
would be nice to have a config set up where one can specify the root path for the location to run the tool, instead of force the user(s) to run from web root. "/hashover.php" is hard coded multiple times.
thx, woodz
I noticed when using the javascript mode that the page is not updating the comments when adding a new one or deleting an old one. Just after a manual page reload the changes are visible.
I assume that javascript gets cached (probably by ZLIB, default from my server).
To prevent caching, you can add a timestamp to the embed, see other methods here: http://stackoverflow.com/q/118884/1066234
For the recent hashover script, I have done this by PHP:
document.write(\'<script src="http://www.echteinfach.tv/hashover.php\' + canon_url + \'&v='.time().'"><\/script>\');
&v='.time().' will always give the current time, so the script gets never cached.
The disadvantage is, that the server has to load more data this way.
Update:
Cannot use this methode because hashover takes the time string as well for creating the page!
→ A better solution would probably be to tell the embed script, that an action was taken place and that it should reload / refresh itself. This could be done by appending the action event as an identifier to the URL.
the linked homepage tildehash.com seems not to be available at the moment, therefor no docs on installation and integration can be found.
Will be site come back online or is the any other way to get the docs?
I can't find database configuration in secrets.php
.
I have uploaded hashover-next-master.zip to my website and extracted it to root directory.
and I have done below steps:
add to head
<link href="/hashover/themes/default/style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="/hashover/hashover.js"></script>
<script>var canon_url = (document.querySelector('link[rel="canonical"]') != null) ? '?canon_url=' + encodeURIComponent(document.querySelector('link[rel="canonical"]').getAttribute('href')) : ''; document.write('<script src="/hashover/hashover.js' + canon_url + '"><\/script>');</script>
edit - settings.php
I am unable to see a 'comment form' to my webpage. is there any html markup ?
I added all the folder to localhost using wamp server
it is showing this
document.write("HashOver: The variable values in /hashover/scripts/secrets.php need to be UNIQUE.");
I would like to put hashover under a different root directory.
There is a setting $root_dir in hashover/scripts/settings.php
, line 26.
However, the following image paths are hardcoded:
hashover/comments.css:185: background-image: url('/hashover/images/name.png');
hashover/comments.css:189: background-image: url('/hashover/images/password.png');
hashover/comments.css:194: background-image: url('/hashover/images/login.png');
hashover/comments.css:200: background-image: url('/hashover/images/email.png');
hashover/comments.css:204: background-image: url('/hashover/images/website.png');
hashover/comments.css:252: background-image: url('/hashover/images/liked.png');
hashover/comments.css:257: background-image: url('/hashover/images/like.png');
hashover/comments.css:262: background-image: url('/hashover/images/like.png');
hashover/comments.css:266: background-image: url('/hashover/images/liked.png');
hashover/comments.css:270: background-image: url('/hashover/images/edit.png');
hashover/comments.css:274: background-image: url('/hashover/images/has-email.png');
hashover/comments.css:278: background-image: url('/hashover/images/no-email.png');
hashover/comments.css:522: background-image: url('/hashover/images/bubble-tick.png');
hashover/comments.css:530: background-image: url('/hashover/images/bubble-tick-reply.png');
hashover/scripts/javascript-mode.php:523: echo jsAddSlashes('<span class="cmtnumber"><img width="' . $icon_size . '" height="' . $icon_size . '" src="/hashover/images/first-comment.png"></span>\n');
hashover/scripts/php-mode.php:316: echo "\t\t" . '<span class="cmtnumber"><img width="' . $icon_size . '" height="' . $icon_size . '" src="/hashover/images/first-comment.png"></span>' . PHP_EOL;
It might be possible to fix this in both php files.
But I guess for the CSS files, I'm out of luck?
Currently time gets saved with AM or PM:
<date>01/02/2015 - 12:00am</date>
For internationalization, I suggest to save the time in 24:00
format.
Furthermore I suggest to save the date in Format: 2015-02-01
PS: As a workaround I am using $cmt_date = date('H:i', strtotime($get_cmtdate[1])) . ' heute';
for now.
Why is the username-pw-email bar still showing after login?
On top i see the notice, you got logged in. But still there are the login fields.
From the usability standpoint, they should be hidden after login.
Hello,
When you server does not run on a the standard port (i.e. port 80 for http) and the user need to precise the port in the url (in my case, in my test environment it is http://localhost:8080), then Hashover consider this to be a forbidden external use. The decision is maded in script/urlwork.php line 38 of the zipfile I have downloaded from your site.
Regards,
Stéphane Mourey
Can you add Vote Down/Dislike along with Vote Up/Like
Placed hashover.php and the hashover/ directory inside ~/public_html; all images are missing (hashover is searching for the images in localhost/hashover/images/ instead of localhost/~laleksic/hashover/images/) and the post comment button doesn't work (again it looks for hashover.php in localhost/ instead of localhost/~laleksic/). How would I go about correcting this?
Edit: Changing $root_dir to './hashover/' from '/hashover/' seems to fix the issue for the avatar image, but not for any other image nor for anything else.
example:
=E6=9D=A5=E8=87=AAadmin
=E6=B5=8B=E8=AF=95=E5=9B=9E=E5=A4=8D8
=E5=9B=9E=E5=A4=8D=E7=81=AB=E6=98=9F=E7=BD=91=E6=B8=B8
=E6=B5=8B=E8=AF=95=E8=AF=84=E8=AE=BA
=E8=AF=84=E8=AE=BA: https://nichijou.cn/post/hello-world.html#hashover-c2r1=
0
=E9=A1=B5: https://nichijou.cn/post/hello-world.html
=E6=AD=A4=E7=94=B5=E5=AD=90=E9=82=AE=E4=BB=B6=E7=94=B1all=E9=80=9A=E8=BF=
=87HashOver=E5=8F=91=E9=80=81=E3=80=82
Sorry
hashover not work with php7.4
Please help me
To make it clear for the user why he can enter the URL I suggest to provide an extra tooltip translation. Currently there is only:
'email' => 'E-mail Address',
which is used for the placeholder and the tooltip of the email input field.
I suggest adding:
'email_tooltip' => 'E-mail Address for notifications',
And changing in javascript-mode.php (two occurences):
title="' . $this->text['email'] . '"
to
title="' . $this->text['email_tooltip'] . '"
Maybe this could be done for all tooltips, providing separate _tooltip
entries.
Update: Same goes for the placeholder
.
eg http://server/page.html
and http://server//page.html
will result in page-html
and -page-html
directories being used for comments, even though they both refer to the same page.
I could not discover the option how the admin can delete a spam comment or an unwanted comment.
Please advice me where I can find this. Deleting each comment by deleting the xml file (opening ftp client, going to the folder, deleting) is too much effort.
Suggestion: Provide an admin login to list all comments and a delete button. This could also be a htaccess protected folder.
It would be interesting if somebody has written a converter that reads the disqus XML scheme and arranges the data to the hashover XML.
Example Disqus:
<thread dsq:id="568987623">
<id />
<forum>echteinfachtv</forum>
<category dsq:id="1298300" />
<link>http://www.test.com/trigonometrie/</link>
<title>Page Sinus und Kosinus </title>
<message />
<createdAt>2012-02-08T17:02:32Z</createdAt>
<author>
<email>[email protected]</email>
<name>Super User V</name>
<isAnonymous>false</isAnonymous>
<username>superuserv</username>
</author>
<ipAddress>44.430.49.124</ipAddress>
<isClosed>false</isClosed>
<isDeleted>false</isDeleted>
</thread>
Example Hashover:
<?xml version="1.0" encoding="UTF-8"?>
<comment likes="0" notifications="yes" ipaddr="">
<name>Marko</name>
<passwd></passwd>
<email></email>
<encryption></encryption>
<website></website>
<date>01/02/2015 - 12:00am</date>
<body>Geniale Seite, danke dafür!</body>
</comment>
Note: I am still sure, that date tag of hashover should be changed to the international format, e.g. 2012-02-08T17:02:32Z.
Furthermore, comparing the data from disqus, maybe the IP should be saved as well in the xml?
Say you have a blog with multiple authors. You would like blog post authors to receive notification emails for their own posts rather than have a single notification address for the whole server. I'm imagining a page-level param, maybe named "notification_email", like the other ones you can pass in:
<script type="text/javascript">
var notification_email="[email protected]" // Sets notification email for this page.
var rows="4"; // Sets "Comments" field height
var name_on="no"; // Disables "Name" field
var passwd_on="no"; // Disables "Password" field
var email_on="no"; // Disables "E-mail" field
var sites_on="no"; // Disables "Website" field
</script>
Btw., I'm really happy to have this alternative to Disqus!
The global $icons
setting variable is intended to disable avatars, and it does, but only for the posted comments. Avatars are still displayed in the comment forms.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.