Skip to content

Instantly share code, notes, and snippets.

@MrAlejandro
Last active October 23, 2018 11:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save MrAlejandro/8d68bb04f52ba2bf7d8af1a25fadaa7c to your computer and use it in GitHub Desktop.
Save MrAlejandro/8d68bb04f52ba2bf7d8af1a25fadaa7c to your computer and use it in GitHub Desktop.
Comments and reviews
diff --git a/app/addons/discussion/addon.xml b/app/addons/discussion/addon.xml
index f32ee3f113..5167156bd6 100644
--- a/app/addons/discussion/addon.xml
+++ b/app/addons/discussion/addon.xml
@@ -21,6 +21,8 @@
<variants>
<item id="any">
</item>
+ <item id="anonymous">
+ </item>
<item id="disabled">
</item>
</variants>
@@ -63,6 +65,8 @@
<variants>
<item id="any">
</item>
+ <item id="anonymous">
+ </item>
<item id="disabled">
</item>
</variants>
@@ -121,6 +125,8 @@
<variants>
<item id="any">
</item>
+ <item id="anonymous">
+ </item>
<item id="disabled">
</item>
</variants>
@@ -159,6 +165,8 @@
<variants>
<item id="any">
</item>
+ <item id="anonymous">
+ </item>
<item id="disabled">
</item>
</variants>
@@ -201,6 +209,8 @@
<variants>
<item id="any">
</item>
+ <item id="anonymous">
+ </item>
<item id="disabled">
</item>
</variants>
diff --git a/app/addons/discussion/controllers/common/discussion.php b/app/addons/discussion/controllers/common/discussion.php
index 6781b299c5..6ad504e15d 100644
--- a/app/addons/discussion/controllers/common/discussion.php
+++ b/app/addons/discussion/controllers/common/discussion.php
@@ -28,10 +28,6 @@
fn_set_notification('E', __('error'), __('error_occured'));
return array(CONTROLLER_STATUS_NO_PAGE);
- } elseif (empty($auth['user_id'])) {
- fn_set_notification('E', __('error'), __('discussion.please_log_in_to_write_a_review'));
- return array(CONTROLLER_STATUS_DENIED);
-
} elseif (AREA == 'C'
&& $discussion_object['object_type'] === DiscussionObjectTypes::PRODUCT
&& !fn_discussion_is_user_eligible_to_write_review_for_product($auth['user_id'], $discussion_object['object_id'])
diff --git a/app/addons/discussion/controllers/frontend/discussion.post.php b/app/addons/discussion/controllers/frontend/discussion.post.php
index a9ba32d79f..51ef8d1ef7 100644
--- a/app/addons/discussion/controllers/frontend/discussion.post.php
+++ b/app/addons/discussion/controllers/frontend/discussion.post.php
@@ -33,10 +33,6 @@
fn_set_notification('E', __('error'), __('error_occured'));
$render_form = false;
- } elseif (empty($auth['user_id'])) {
- fn_set_notification('E', __('error'), __('discussion.please_log_in_to_write_a_review'));
- $render_form = false;
-
} elseif ($object_type === DiscussionObjectTypes::PRODUCT
&& !fn_discussion_is_user_eligible_to_write_review_for_product($auth['user_id'], $object_id)
) {
@@ -67,7 +63,6 @@
}
Tygh::$app['view']->assign('redirect_url', isset($_REQUEST['return_url']) ? $_REQUEST['return_url'] : '');
-
Tygh::$app['view']->display('addons/discussion/views/discussion/components/login_form.tpl');
exit;
}
diff --git a/app/addons/discussion/func.php b/app/addons/discussion/func.php
index d22e2d15f1..4bfd77c974 100644
--- a/app/addons/discussion/func.php
+++ b/app/addons/discussion/func.php
@@ -1641,7 +1641,7 @@ function fn_discussion_is_user_eligible_to_write_review_for_product($user_id, $p
$need_to_buy_first = Registry::get('addons.discussion.product_review_after_purchase') == 'Y';
if ($need_to_buy_first) {
- $result = (bool) db_get_field(
+ $result = $user_id && (bool) db_get_field(
'SELECT orders.order_id FROM ?:orders AS orders '
. 'LEFT JOIN ?:order_details AS details ON orders.order_id = details.order_id '
. 'WHERE orders.user_id = ?i AND details.product_id = ?i LIMIT 1',
diff --git a/design/themes/responsive/templates/addons/discussion/views/discussion/components/new_post_button.tpl b/design/themes/responsive/templates/addons/discussion/views/discussion/components/new_post_button.tpl
index d18d03f821..991b1b893c 100644
--- a/design/themes/responsive/templates/addons/discussion/views/discussion/components/new_post_button.tpl
+++ b/design/themes/responsive/templates/addons/discussion/views/discussion/components/new_post_button.tpl
@@ -8,20 +8,25 @@
{$return_current_url = $config.current_url|escape:url}
{/if}
-{if $auth.user_id}
- {$but_id = "opener_new_post_`$obj_prefix``$obj_id`"}
- {$but_href = fn_url("discussion.get_new_post_form?object_type=`$object_type`&object_id=`$obj_id`&obj_prefix=`$obj_prefix`&post_redirect_url=`$return_current_url`")}
- {$target_id = "new_post_dialog_`$obj_prefix``$obj_id`"}
+{if !$auth.user_id
+ && $object_type == "Addons\\Discussion\\DiscussionObjectTypes::PRODUCT"|enum
+ && $settings.discussion.products.product_review_after_purchase == "Y"
+}
+ {$but_id = "opener_discussion_login_form_new_post_`$obj_prefix``$obj_id`"}
+ {$target_id = "new_discussion_post_login_form_popup"}
+
+ {$but_href = fn_url("discussion.get_user_login_form?return_url=`$return_current_url`")}
{if $style == "text"}
- <a id="{$but_id}" class="ty-discussion__review-write cm-dialog-opener cm-dialog-auto-size" data-ca-target-id="{$target_id}" rel="nofollow" href="{$but_href}" title="{__("write_review")}">{$name}</a>
+ <a id="{$but_id}" class="cm-dialog-opener cm-dialog-auto-size ty-discussion__review-write" data-ca-target-id="{$target_id}" rel="nofollow" title="{__("sign_in")}" href="{$but_href}">{$name}</a>
{else}
+
{include
file="buttons/button.tpl"
but_id=$but_id
but_href=$but_href
but_text=$name
- but_title=__("write_review")
+ but_title=__("sign_in")
but_role="submit"
but_target_id=$target_id
but_meta="cm-dialog-opener cm-dialog-auto-size ty-btn__primary"
@@ -29,21 +34,19 @@
}
{/if}
{else}
- {$but_id = "opener_discussion_login_form_new_post_`$obj_prefix``$obj_id`"}
- {$target_id = "new_discussion_post_login_form_popup"}
-
- {$but_href = fn_url("discussion.get_user_login_form?return_url=`$return_current_url`")}
+ {$but_id = "opener_new_post_`$obj_prefix``$obj_id`"}
+ {$but_href = fn_url("discussion.get_new_post_form?object_type=`$object_type`&object_id=`$obj_id`&obj_prefix=`$obj_prefix`&post_redirect_url=`$return_current_url`")}
+ {$target_id = "new_post_dialog_`$obj_prefix``$obj_id`"}
{if $style == "text"}
- <a id="{$but_id}" class="cm-dialog-opener cm-dialog-auto-size ty-discussion__review-write" data-ca-target-id="{$target_id}" rel="nofollow" title="{__("sign_in")}" href="{$but_href}">{$name}</a>
+ <a id="{$but_id}" class="ty-discussion__review-write cm-dialog-opener cm-dialog-auto-size" data-ca-target-id="{$target_id}" rel="nofollow" href="{$but_href}" title="{__("write_review")}">{$name}</a>
{else}
-
{include
file="buttons/button.tpl"
but_id=$but_id
but_href=$but_href
but_text=$name
- but_title=__("sign_in")
+ but_title=__("write_review")
but_role="submit"
but_target_id=$target_id
but_meta="cm-dialog-opener cm-dialog-auto-size ty-btn__primary"
diff --git a/var/langs/en/addons/discussion.po b/var/langs/en/addons/discussion.po
index cb7c621f78..bc51d142aa 100644
--- a/var/langs/en/addons/discussion.po
+++ b/var/langs/en/addons/discussion.po
@@ -384,6 +384,10 @@ msgctxt "SettingsVariants::discussion::company_post_approval::any"
msgid "Any customer"
msgstr "Any customer"
+msgctxt "SettingsVariants::discussion::company_post_approval::anonymous"
+msgid "Only anonymous customers"
+msgstr "Only anonymous customers"
+
msgctxt "SettingsVariants::discussion::company_post_approval::disabled"
msgid "No approval needed"
msgstr "No approval needed"
@@ -392,6 +396,10 @@ msgctxt "SettingsVariants::discussion::product_post_approval::any"
msgid "Any customer"
msgstr "Any customer"
+msgctxt "SettingsVariants::discussion::product_post_approval::anonymous"
+msgid "Only anonymous customers"
+msgstr "Only anonymous customers"
+
msgctxt "SettingsVariants::discussion::product_post_approval::disabled"
msgid "No approval needed"
msgstr "No approval needed"
@@ -400,6 +408,10 @@ msgctxt "SettingsVariants::discussion::category_post_approval::any"
msgid "Any customer"
msgstr "Any customer"
+msgctxt "SettingsVariants::discussion::category_post_approval::anonymous"
+msgid "Only anonymous customers"
+msgstr "Only anonymous customers"
+
msgctxt "SettingsVariants::discussion::category_post_approval::disabled"
msgid "No approval needed"
msgstr "No approval needed"
@@ -408,6 +420,10 @@ msgctxt "SettingsVariants::discussion::page_post_approval::any"
msgid "Any customer"
msgstr "Any customer"
+msgctxt "SettingsVariants::discussion::page_post_approval::anonymous"
+msgid "Only anonymous customers"
+msgstr "Only anonymous customers"
+
msgctxt "SettingsVariants::discussion::page_post_approval::disabled"
msgid "No approval needed"
msgstr "No approval needed"
@@ -416,6 +432,10 @@ msgctxt "SettingsVariants::discussion::home_page_post_approval::any"
msgid "Any customer"
msgstr "Any customer"
+msgctxt "SettingsVariants::discussion::home_page_post_approval::anonymous"
+msgid "Only anonymous customers"
+msgstr "Only anonymous customers"
+
msgctxt "SettingsVariants::discussion::home_page_post_approval::disabled"
msgid "No approval needed"
msgstr "No approval needed"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment