From 37ef17fd2904e49d966ed0922871f675ceb384c0 Mon Sep 17 00:00:00 2001 From: Carson Fleming Date: Sun, 9 Apr 2017 18:55:38 -0400 Subject: Rearrange ratings tab --- activate.php | 2 +- dash/css/dash.css | 13 ++++++++++++- dash/css/jobs.css | 40 ++++++++++++++++++++++++++++++++++++++++ dash/dash_functions.php | 26 ++++++++++++++++++++------ dash/headless.php | 3 ++- dash/jobs.php | 24 ++++++++++++++++++++++++ dash/js/dash.js | 7 ++++--- dash/nav.php | 8 ++++---- dash/rate.php | 24 ------------------------ js/chat.js | 2 +- 10 files changed, 108 insertions(+), 41 deletions(-) create mode 100644 dash/css/jobs.css create mode 100644 dash/jobs.php delete mode 100644 dash/rate.php diff --git a/activate.php b/activate.php index 22ec27c..52175d6 100644 --- a/activate.php +++ b/activate.php @@ -1,6 +1,6 @@
-

Nothing to Rate Yet!

+

You have no jobs yet!

Post another ad. It's FREE!

-

None of your ads have received a response since you last visited. In the meantime, be sure to post more to maximize your exposure.
Post an ad!

+

You haven't approved any applications yet. Be sure to post often to maximize your exposure.
Post an ad!

-

Nothing to Rate Yet!

+

You have no jobs yet!

Apply to more ads. It's FREE!

-

None of your applications have received a response since you last visited. In the meantime, be sure to reply to more job postings maximize your exposure.
Browse ads!

+

None of your applications have been approved yet. In the meantime, be sure to reply to more job postings maximize your exposure.
Browse ads!

-
+
+

Provided by

+ +
+ +
No comment.':htmlentities($review['comment']);?>
+
+
+
escape_string($_GET['txt']); if ($uid < 1 || $jid < 1 || $val < 1) die('NOK'); $result = $db->query('SELECT ads.id FROM ads INNER JOIN responses ON responses.adid = ads.id AND responses.matched = 1 INNER JOIN users ON users.id = responses.uid LEFT JOIN ratings ON ratings.rated = users.id WHERE ads.id = '.$jid.' AND (ads.uid = '.$b_user['id'].' OR responses.uid = '.$b_user['id'].') AND NOT EXISTS (SELECT ratings.id FROM ratings WHERE ratings.rated = responses.uid AND ratings.job = ads.id AND ratings.rater = '.$b_user['id'].') GROUP BY responses.id LIMIT 1') or die('ERR'); if ($result->num_rows < 1) die('NOK'); - $db->query('INSERT INTO ratings (rated, rater, job, stars) VALUES ('.$uid.', '.$b_user['id'].', '.$jid.', '.$val.')') or die('ERR'); + $db->query('INSERT INTO ratings (rated, rater, job, stars, comment) VALUES ('.$uid.', '.$b_user['id'].', '.$jid.', '.$val.', \''.$txt.'\')') or die('ERR'); if ($db->affected_rows < 1) die('NOK'); die('OK'); } diff --git a/dash/jobs.php b/dash/jobs.php new file mode 100644 index 0000000..db473cb --- /dev/null +++ b/dash/jobs.php @@ -0,0 +1,24 @@ +'; +require('header.php'); +if ($b_user['type'] == 'EMPLOYER') { + $result = $db->query('SELECT users.id AS uid, users.name, ads.id AS adid, ads.title, ads.time, SUM(ratings.stars) / COUNT(ratings.stars) AS rating FROM ads INNER JOIN responses ON responses.adid = ads.id AND responses.matched = 1 INNER JOIN users ON users.id = responses.uid LEFT JOIN ratings ON ratings.rated = users.id WHERE ads.uid = '.$b_user['id'].' GROUP BY responses.id ORDER BY rated ASC') or dash_fatal($db->error); + if ($result->num_rows < 1) draw_norate_p(); +} else if ($b_user['type'] == 'EMPLOYEE') { + $result = $db->query('SELECT users.id AS uid, users.name, ads.id AS adid, ads.title, ads.time, SUM(ratings.stars) / COUNT(ratings.stars) AS rating FROM ads INNER JOIN responses ON responses.adid = ads.id AND responses.matched = 1 INNER JOIN users ON users.id = ads.uid LEFT JOIN ratings ON ratings.rated = users.id WHERE responses.uid = '.$b_user['id'].' GROUP BY responses.id ORDER BY rated ASC') or dash_fatal($db->error); + if ($result->num_rows < 1) draw_norate_s(); +} +else dash_fatal('Only job seekers and job providers can rate one another.'); + +while ($row = $result->fetch_assoc()) { + $review = $db->query('SELECT ratings.stars, ratings.comment FROM ratings WHERE ratings.rated = '.$row['uid'].' AND ratings.job = '.$row['adid'].' AND ratings.rater = '.$b_user['id'].' LIMIT 1'); + draw_rate($row, $review->fetch_assoc()); + $review->free(); +} +$result->free(); +require('footer.php'); +?> diff --git a/dash/js/dash.js b/dash/js/dash.js index 7eb10c0..2cd6fe6 100644 --- a/dash/js/dash.js +++ b/dash/js/dash.js @@ -62,18 +62,19 @@ function ratewidget (idx, me) { var $me = $(me); var rating = parseFloat($me.attr('data-rating')); if (!rating) rating = 0; - var html = ''; + var html = '
'; for (var i = 1; i <= rating; i++) html += 'Full Star'; if (rating-Math.floor(rating) >= 0.5) html += 'Half Star' i += Math.round(rating-Math.floor(rating)); for (; i <= 5; i++) html += 'No Star'; + html += ''; $me.html(html); $.each($me.find('.ratebtn'), function (idx, obj) { $(obj).click(function (e) { e.preventDefault(); console.log('Clicked '+(idx+1)); - $.get('headless.php?rate='+$me.attr('data-uid')+'&jid='+$me.attr('data-jid')+'&val='+(idx+1), function (data) { - if (data == 'OK') $me.parents().filter('.job').hide(250); + $.get('headless.php?rate='+$me.attr('data-uid')+'&jid='+$me.attr('data-jid')+'&val='+(idx+1)+'&txt='+$me.find('.typereview').val(), function (data) { + if (data == 'OK') window.location.reload(); else window.alert('The server encountered an error submitting your rating. We\'re sorry for the inconvenience.'); }); }); diff --git a/dash/nav.php b/dash/nav.php index bb01532..6d82439 100644 --- a/dash/nav.php +++ b/dash/nav.php @@ -1,11 +1,11 @@ query('SELECT users.id AS uid, users.name, ads.id AS adid, ads.title, ads.time, SUM(ratings.stars) / COUNT(ratings.stars) AS rating FROM ads INNER JOIN responses ON responses.adid = ads.id AND responses.matched = 1 INNER JOIN users ON users.id = responses.uid LEFT JOIN ratings ON ratings.rated = users.id WHERE ads.uid = '.$b_user['id'].' AND NOT EXISTS (SELECT ratings.id FROM ratings WHERE ratings.rated = responses.uid AND ratings.job = ads.id AND ratings.rater = '.$b_user['id'].') GROUP BY responses.id') or dash_fatal($db->error); - if ($result->num_rows < 1) draw_norate_p(); -} else if ($b_user['type'] == 'EMPLOYEE') { - $result = $db->query('SELECT users.id AS uid, users.name, ads.id AS adid, ads.title, ads.time, SUM(ratings.stars) / COUNT(ratings.stars) AS rating FROM ads INNER JOIN responses ON responses.adid = ads.id AND responses.matched = 1 INNER JOIN users ON users.id = ads.uid LEFT JOIN ratings ON ratings.rated = users.id WHERE responses.uid = '.$b_user['id'].' AND NOT EXISTS (SELECT ratings.id FROM ratings WHERE ratings.rated = ads.uid AND ratings.job = ads.id AND ratings.rater = '.$b_user['id'].') GROUP BY responses.id') or dash_fatal($db->error); - if ($result->num_rows < 1) draw_norate_s(); -} -else dash_fatal('Only job seekers and job providers can rate one another.'); - -while ($row = $result->fetch_assoc()) { - draw_rate($row); -} -$result->free(); -?> - - diff --git a/js/chat.js b/js/chat.js index 1053fa9..a0ccefb 100644 --- a/js/chat.js +++ b/js/chat.js @@ -73,7 +73,7 @@ var bullechat = { }, socket: { sockfd: null, - server: 'chat.bulletinalpha.tk', + server: 'chat.bulletinusa.com', port: 2442, send: function (data) { if (!bullechat.socket.sockfd) return false; -- cgit v1.2.3