2 $request = Yii::app()->request;
4 <div
class=
"success-message" style=
"display:none; background-color:green;">
7 <div
class=
"mail-form">
8 <?php $form = $this->beginWidget(
'CActiveForm', array(
9 'id' =>
'share-by-mail-form',
10 'action' => Yii::app()->createUrl(
'/remember/manage/shareByMail'),
11 'enableAjaxValidation' =>
true,
12 'htmlOptions' => array(
13 'style' =>
'display:none'
15 'clientOptions' => array(
16 'validateOnSubmit' =>
true,
17 'validateOnChange' =>
false,
18 'afterValidate' =>
'js:
19 function (form, data, hasError){
20 console.log(form, data, hasError);
22 $(form).find("input[type=text], textarea").each(function(i, input){$(input).val("");});
30 <?php echo $form->errorSummary($mailForm) ?>
33 <?php echo $form->labelEx($mailForm,
'name'); ?>
34 <?php echo $form->textField($mailForm,
'name') ?>
35 <?php echo $form->error($mailForm,
'name'); ?>
38 <?php echo $form->labelEx($mailForm,
'email'); ?>
39 <?php echo $form->textField($mailForm,
'email') ?>
40 <?php echo $form->error($mailForm,
'email'); ?>
43 <?php echo $form->labelEx($mailForm,
'description'); ?>
44 <?php echo $form->textArea($mailForm,
'description') ?>
45 <?php echo $form->error($mailForm,
'description'); ?>
47 <?php echo $form->hiddenField($mailForm,
'links') ?>
51 <?php $this->endWidget() ?>
54 $buttonsTemplate =
'';
55 if (Yii::app()->getModule(
'remember')->shareByMailEnabled) {
56 $buttonsTemplate =
'{share_facebook}<br/>{share_mail}<br/>{remove}';
58 $buttonsTemplate =
'{share_facebook}<br/>{remove}';
61 $this->widget(
'zii.widgets.grid.CGridView', array(
62 'id' =>
'share-remembered-pages',
63 'dataProvider' => $model->search($this->pageSize,$this->collection_id),
65 'rowCssClassExpression' =>
'"page_$data->id"',
79 'htmlOptions' => array(
80 'class' =>
'remember-page-title',
87 'htmlOptions' => array(
'class' =>
'remember-page-url')
94 'value' =>
'Yii::app()->dateFormatter->formatDateTime($data->created)'
101 'value' =>
'@$data->additional[0]'
106 'value' =>
'@$data->additional[1]'
110 'class' =>
'CButtonColumn',
112 'template' => $buttonsTemplate,
114 'share_facebook' => array(
116 'url' =>
'$data->fbSharerUrl',
117 'options' => array(
'class' =>
'share-fb-link')
120 'share_mail' => array(
122 'url' =>
'"javascript:void(0)"',
124 'options' => array(
'class' =>
'share-mail-link')
136 'url' =>
'Yii::app()->createUrl("/remember/manage/deletePage",
139 "collection_id" => EncryptHelper::encrypt($data->collection_id)
153 $(document).on(
'click',
'#share-remembered-pages .select-all',
function(){
154 if($(
this).attr(
'checked')){
155 $(
'.action-checkbox').attr(
'checked',
true);
157 $(
'.action-checkbox').removeAttr(
'checked');
160 $(document).on(
'click',
'#share-remembered-pages .share-fb-link',
function(){
161 var message = makeMessage($(
this).closest(
'tr'));
164 $(document).on(
'click',
'#share-remembered-pages .share-mail-link',
function(){
165 var message = makeMessage($(
this).closest(
'tr'));
168 $(document).on(
'click',
'#share-remembered-pages .print-link',
function(){
169 var $message = $(
this).closest(
'tr');
170 printLinks(makeMessage($message));
172 $(document).on(
'click',
'#share-remembered-pages [name="ok_button"]',
function(){
173 var $checkboxes = $(
'.action-checkbox:checked');
174 if($checkboxes.length === 0){
177 var action = $(
'#share-remembered-pages .action option:selected').val();
179 if(action ===
'fb_share'){
180 shareFb(makeMessageForChecked());
181 }
else if(action ===
'mail_share'){
182 shareEmail(makeMessageForChecked());
183 }
else if(action ===
'delete') {
185 }
else if(action ===
'print') {
186 printLinks(makeMessageForChecked());
190 function makeMessage(el){
191 return $(el).find(
'.remember-page-url').text();
193 function makeMessageForChecked(){
194 var $checkboxes = $(
'.action-checkbox:checked');
196 $checkboxes.each(
function(i, el){
197 message += makeMessage($(el).closest(
'tr'));
202 function shareFb(message){
207 var postFbMessage =
function(){
208 FB.api(
'/me/feed',
'post',obj,
function(response){
209 console.log(response);
213 FB.getLoginStatus(
function(response) {
214 console.log(response);
215 if (response.status ===
'connected') {
218 }
else if (response.status ===
'not_authorized') {
220 fbLogin(postFbMessage);
223 fbLogin(postFbMessage);
227 function shareEmail(message){
228 var $form = $(
'#share-by-mail-form');
230 $form.find(
'[name="ShareMailForm[links]"]').val(message);
232 function deleteAll(){
233 if(!confirm(
'Are you sure you want to delete this items?'))
return false;
235 var checkboxes = $(
'#share-remembered-pages .action-checkbox:checked');
237 checkboxes.each(
function(i, el){
238 pageIds.push($(el).val());
240 console.log(pageIds);
241 var csrf = <?php echo CJSON::encode($request->enableCsrfValidation ? array($request->csrfTokenName => $request->getCsrfToken()) : array())?>;
243 $.get(
'<?php echo Yii::app()->createUrl('/remember/manage/deletePage
')?>',
244 $.extend({}, {
id : pageIds.join(
',')}, csrf),
246 data = jQuery.parseJSON(data);
247 if(data.status != undefined && data.status ==
'success'){
248 pageIds.forEach(
function(element, index, array){
249 $(
'.page_'+element).
remove();
257 function printLinks(links)
259 var disp_setting=
"toolbar=yes,location=no,directories=yes,menubar=yes,";
260 disp_setting+=
"scrollbars=yes,width=650, height=600, left=100, top=25";
261 var content_vlue = links;
263 var docprint=window.open(
"",
"",disp_setting);
265 $(docprint.document.body).append(links);
266 $(docprint.document.body).append($(
'<input>').attr({
'type':
'button',
'value':
'Print',
'onclick':
'window.print()'}));
273 function successMessage(){
274 $(
'#share-by-mail-form').hide();
275 var $success = $(
'.success-message');
277 setTimeout(
function (){$success.hide()}, 3000);
302 function fbLogin(callback) {
303 FB.login(
function(response) {
304 console.log(
'login', response);
305 if (response.authResponse) {
311 },{scope:
'publish_stream'});