Sidekick - Version 1.3.5

Version Description

  • CSS Fixes
  • Autostart on specific pages
  • Added Wait_For Event
  • Changed error messaging
  • Fixed underscore template conflict with other backbone themes / apps
  • Added LABjs file loading
  • Added library load doublecheck
  • Optimized Tracking
  • Fixes to display rules boolean operations
  • Added handlers for open a specific bucket
  • Added handlers to auto open a specific bucket
  • Fixed a bug when there were no comments in the blog
Download this release

Release Info

Developer raptor235
Plugin Icon 128x128 Sidekick
Version 1.3.5
Comparing to
See all releases

Code changes from version 1.3.4 to 1.3.5

css/sidekick_wordpress.css CHANGED
@@ -38,7 +38,7 @@ div.sk_hotspot {
38
  height: 25px;
39
  position: absolute;
40
  cursor: pointer;
41
- background: url('../images/sprides_v13.png') -3px -796px;
42
  opacity: 0.0;
43
  margin-left: -20px;
44
  margin-top: -10px;
@@ -125,7 +125,7 @@ div#sidekick {
125
  height: 40px;
126
  width: 160px;
127
  /*overflow: hidden;*/
128
- z-index: 10000003;
129
  /*.animate_reg;*/
130
  }
131
  div#sidekick.sidekick_player {
@@ -133,6 +133,21 @@ div#sidekick.sidekick_player {
133
  bottom: 0px;
134
  display: block;
135
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
136
  div#sidekick.open {
137
  width: 100%;
138
  -webkit-transition: all 0.5s ease-out;
@@ -141,10 +156,14 @@ div#sidekick.open {
141
  transition: all 0.5s ease-out;
142
  }
143
  div#sidekick.open div#sk_taskbar button.sk_toggle {
144
- background: url('../images/sprides_v13.png') -1px -359px;
145
  transform: rotate(180deg);
146
  -ms-transform: rotate(180deg);
147
  -webkit-transform: rotate(180deg);
 
 
 
 
148
  }
149
  div#sidekick.open div#sk_taskbar div.sk_controls {
150
  display: block;
@@ -161,44 +180,81 @@ div#sidekick.drawer_open #sk_drawer ul.sk_bucketContainer ul#sk_upgrade {
161
  transition: all 0.5s ease-out;
162
  bottom: 39px;
163
  }
164
- div#sidekick.drawer_closed #sk_drawer ul.sk_bucketContainer ul#sk_upgrade {
165
- -webkit-transition: all 0.5s ease-out;
166
- -moz-transition: all 0.5s ease-out;
167
- -o-transition: all 0.5s ease-out;
168
- transition: all 0.5s ease-out;
169
- bottom: -200px;
170
  }
171
- div#sidekick.playing {
172
- width: 100%;
173
  }
174
- div#sidekick.playing #sk_drawer {
175
- height: 0px;
176
- display: none;
 
 
 
177
  }
178
- div#sidekick.playing div#sk_taskbar div.sk_controls {
 
 
 
 
 
179
  display: block;
180
  }
181
- div#sidekick.playing div#sk_taskbar div.sk_controls button {
 
182
  opacity: 1;
 
 
 
 
 
 
183
  }
184
- div#sidekick.playing div#sk_taskbar div.sk_info {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
185
  display: block;
186
  }
187
  div#sidekick.playing div#sk_taskbar div.sk_info div.sk_time,
188
- div#sidekick.playing div#sk_taskbar div.sk_info div.sk_title {
 
 
189
  opacity: 1;
190
  display: block;
191
  }
192
- div#sidekick.playing div#sk_taskbar div.sk_info .sk_divider {
 
193
  float: left;
194
  }
195
- div#sidekick.playing div#sk_taskbar button.sk_toggle {
196
- background: url('../images/sprides_v13.png') -1px -359px;
 
197
  transform: rotate(0deg);
198
  -ms-transform: rotate(0deg);
199
  -webkit-transform: rotate(0deg);
200
  }
201
- div#sidekick.playing div#sk_taskbar div.sk_toggles {
 
202
  display: block;
203
  margin-top: 100px;
204
  transform: translate3d(0, 0, 0);
@@ -211,7 +267,8 @@ div#sidekick.playing div#sk_taskbar div.sk_toggles {
211
  /*-o-transition: width 0.3s ease-out, max-height 0.3s ease-out, background-color 0.3s ease-out, -o-transform 0.3s ease-out;*/
212
  /*transition: width 0.3s ease-out, max-height 0.3s ease-out, background-color 0.3s ease-out, transform 0.3s ease-out;*/
213
  }
214
- div#sidekick.playing div#sk_taskbar div.sk_toggles #toggle_drawer {
 
215
  display: none;
216
  }
217
  div#sidekick button {
@@ -222,7 +279,8 @@ div#sidekick button {
222
  div#sidekick #click_warning {
223
  width: 50%;
224
  min-width: 880px;
225
- background-color: #a34316;
 
226
  color: white;
227
  position: absolute;
228
  top: 100px;
@@ -231,11 +289,8 @@ div#sidekick #click_warning {
231
  z-index: 1000002;
232
  left: 50%;
233
  margin-left: -440px;
234
- /*padding: 20px 5px;*/
235
- /*border: solid 2px red;*/
236
- font-weight: bold;
237
  font-size: 18px;
238
- /*.animate;*/
239
  }
240
  div#sidekick #click_warning.show {
241
  top: -60px;
@@ -340,7 +395,7 @@ div#sidekick div#sk_taskbar div#logo {
340
  height: 100%;
341
  width: 125px;
342
  /*width: 124px; wp 3.8+ */
343
- background: url('../images/sprides_v13.png') 5px 0px no-repeat;
344
  cursor: pointer;
345
  }
346
  div#sidekick div#sk_taskbar button.sk_toggle {
@@ -348,7 +403,7 @@ div#sidekick div#sk_taskbar button.sk_toggle {
348
  height: 100%;
349
  width: 32px;
350
  margin-left: 3px;
351
- background: url('../images/sprides_v13.png') 0px -358px;
352
  border: none;
353
  }
354
  div#sidekick div#sk_taskbar div.sk_debug {
@@ -433,38 +488,40 @@ div#sidekick div#sk_taskbar div.sk_controls button {
433
  opacity: 0.3;
434
  position: absolute;
435
  top: 0px;
 
436
  }
437
  div#sidekick div#sk_taskbar div.sk_controls button.sidekick_restart {
438
  left: 0px;
439
- background: url('../images/sprides_v13.png') 17px -140px;
440
- }
441
- div#sidekick div#sk_taskbar div.sk_controls button.sidekick_restart:hover {
442
- background: #d9763b url('../images/sprides_v13.png') 17px -140px;
443
  }
444
  div#sidekick div#sk_taskbar div.sk_controls button.sidekick_play_pause {
445
- background: url('../images/sprides_v13.png') 17px -178px;
446
  left: 70px;
447
  border-right: solid 1px white;
448
  border-left: solid 1px white;
449
- }
450
- div#sidekick div#sk_taskbar div.sk_controls button.sidekick_play_pause.playing {
451
- background: url('../images/sprides_v13.png') 17px -718px;
452
- }
453
- div#sidekick div#sk_taskbar div.sk_controls button.sidekick_play_pause:hover {
454
- background: #d9763b url('../images/sprides_v13.png') 17px -178px;
455
  }
456
  div#sidekick div#sk_taskbar div.sk_controls button.sidekick_stop {
457
- background: url('../images/sprides_v13.png') 17px -210px;
458
  left: 140px;
459
- }
460
- div#sidekick div#sk_taskbar div.sk_controls button.sidekick_stop:hover {
461
- background: #d9763b url('../images/sprides_v13.png') 17px -210px;
462
  }
463
  div#sidekick div#sk_taskbar div.sk_caption {
 
 
 
 
 
464
  position: absolute;
465
- width: 100%;
466
- left: 0px;
467
- bottom: -100px;
 
 
 
 
 
468
  transform: translate3d(0, 0, 0);
469
  -webkit-transition: all 0.3s ease-out;
470
  -moz-transition: all 0.3s ease-out;
@@ -476,34 +533,12 @@ div#sidekick div#sk_taskbar div.sk_caption {
476
  /*transition: width 0.3s ease-out, max-height 0.3s ease-out, background-color 0.3s ease-out, transform 0.3s ease-out;*/
477
  }
478
  div#sidekick div#sk_taskbar div.sk_caption.show {
479
- bottom: 40px;
480
  }
481
  div#sidekick div#sk_taskbar div.sk_caption .text {
482
- background: #582c16;
483
- /* Old browsers */
484
- /* IE9 SVG, needs conditional override of 'filter' to 'none' */
485
- background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzU4MmMxNiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiM0NzI2MTIiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
486
- background: -moz-linear-gradient(top, #582c16 0%, #472612 100%);
487
- /* FF3.6+ */
488
- background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #582c16), color-stop(100%, #472612));
489
- /* Chrome,Safari4+ */
490
- background: -webkit-linear-gradient(top, #582c16 0%, #472612 100%);
491
- /* Chrome10+,Safari5.1+ */
492
- background: -o-linear-gradient(top, #582c16 0%, #472612 100%);
493
- /* Opera 11.10+ */
494
- background: -ms-linear-gradient(top, #582c16 0%, #472612 100%);
495
- /* IE10+ */
496
- background: linear-gradient(to bottom, #582c16 0%, #472612 100%);
497
- /* W3C */
498
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#582c16', endColorstr='#472612', GradientType=0);
499
- /* IE6-8 */
500
- text-align: center;
501
- color: white;
502
- width: 60%;
503
- margin: 0 auto;
504
- padding: 10px 10px;
505
- font-size: 20px;
506
- line-height: 26px;
507
  -webkit-border-top-left-radius: 10px;
508
  -moz-border-top-left-radius: 10px;
509
  -ms-border-top-left-radius: 10px;
@@ -523,6 +558,7 @@ div#sidekick div#sk_taskbar div.sk_toggle {
523
  height: 100%;
524
  min-width: 400px;
525
  display: none;
 
526
  }
527
  div#sidekick div#sk_taskbar div.sk_toggles {
528
  transform: translate3d(0, 0, 0);
@@ -545,19 +581,40 @@ div#sidekick div#sk_taskbar div.sk_toggles button {
545
  display: block;
546
  float: left;
547
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
548
  div#sidekick div#sk_taskbar div.sk_toggles button#toggle_hotspots {
549
- /*display: none;*/
 
 
550
  border-left: solid 1px white;
551
- background: #f1631d url('../images/sprides_v13.png') 10px -248px;
552
  padding-left: 24px;
553
  font-size: 18px;
554
  color: white;
555
  }
556
  div#sidekick div#sk_taskbar div.sk_toggles button#toggle_hotspots.on {
557
- background: #fa8c00 url('../images/sprides_v13.png') 10px -248px;
558
  }
559
  div#sidekick div#sk_taskbar div.sk_toggles button#toggle_hotspots:hover {
560
- background: #fa8c00 url('../images/sprides_v13.png') 10px -248px;
561
  transform: translate3d(0, 0, 0);
562
  -webkit-transition: all 0.3s ease-out;
563
  -moz-transition: all 0.3s ease-out;
@@ -569,13 +626,13 @@ div#sidekick div#sk_taskbar div.sk_toggles button#toggle_hotspots:hover {
569
  /*transition: width 0.3s ease-out, max-height 0.3s ease-out, background-color 0.3s ease-out, transform 0.3s ease-out;*/
570
  }
571
  div#sidekick div#sk_taskbar div.sk_toggles button#toggle_feedback {
572
- background: #f1631d url('../images/sprides_v13.png') 17px -287px;
573
  /*border-right: solid 1px white;*/
574
  border-left: solid 1px white;
575
  width: 74px;
576
  }
577
  div#sidekick div#sk_taskbar div.sk_toggles button#toggle_feedback:hover {
578
- background: #fa8c00 url('../images/sprides_v13.png') 17px -287px;
579
  transform: translate3d(0, 0, 0);
580
  -webkit-transition: all 0.3s ease-out;
581
  -moz-transition: all 0.3s ease-out;
@@ -587,13 +644,13 @@ div#sidekick div#sk_taskbar div.sk_toggles button#toggle_feedback:hover {
587
  /*transition: width 0.3s ease-out, max-height 0.3s ease-out, background-color 0.3s ease-out, transform 0.3s ease-out;*/
588
  }
589
  div#sidekick div#sk_taskbar div.sk_toggles button#toggle_preferences {
590
- background: #f1631d url('../images/sprides_v13.png') 17px -33px;
591
  border-right: solid 1px white;
592
  border-left: solid 1px white;
593
  width: 74px;
594
  }
595
  div#sidekick div#sk_taskbar div.sk_toggles button#toggle_preferences:hover {
596
- background: #fa8c00 url('../images/sprides_v13.png') 17px -33px;
597
  transform: translate3d(0, 0, 0);
598
  -webkit-transition: all 0.3s ease-out;
599
  -moz-transition: all 0.3s ease-out;
@@ -605,11 +662,11 @@ div#sidekick div#sk_taskbar div.sk_toggles button#toggle_preferences:hover {
605
  /*transition: width 0.3s ease-out, max-height 0.3s ease-out, background-color 0.3s ease-out, transform 0.3s ease-out;*/
606
  }
607
  div#sidekick div#sk_taskbar div.sk_toggles button#toggle_drawer {
608
- background: #f1631d url('../images/sprides_v13.png') 17px -431px;
609
  position: relative;
610
  }
611
  div#sidekick div#sk_taskbar div.sk_toggles button#toggle_drawer:hover {
612
- background: #fa8c00 url('../images/sprides_v13.png') 17px -431px;
613
  transform: translate3d(0, 0, 0);
614
  -webkit-transition: all 0.3s ease-out;
615
  -moz-transition: all 0.3s ease-out;
@@ -629,7 +686,7 @@ div#sidekick div#sk_taskbar div.sk_toggles button#toggle_drawer.on i {
629
  top: -10px;
630
  width: 20px;
631
  height: 20px;
632
- background: url('../images/sprides_v13.png') -9px -696px;
633
  }
634
  div#sidekick #sk_drawer {
635
  background-color: #fff;
@@ -649,9 +706,13 @@ div#sidekick #sk_drawer h2 {
649
  color: white;
650
  padding: 20px 10px;
651
  margin: 0px;
 
 
 
 
652
  }
653
  div#sidekick #sk_drawer h2 button {
654
- background: url('../images/sprides_v13.png') -8px -656px no-repeat;
655
  width: 20px;
656
  height: 20px;
657
  border: none;
@@ -674,13 +735,19 @@ div#sidekick #sk_drawer input.error {
674
  border: solid 2px red;
675
  background-color: #fae3de;
676
  }
 
 
 
 
677
  div#sidekick #sk_drawer ul.sk_bucketContainer {
678
  position: relative;
679
  overflow-x: hidden;
680
  margin: 0px;
 
681
  }
682
  div#sidekick #sk_drawer ul.sk_bucketContainer .heading.goprev {
683
  background-color: white;
 
684
  }
685
  div#sidekick #sk_drawer ul.sk_bucketContainer .heading.goprev span {
686
  padding: 0px;
@@ -699,11 +766,40 @@ div#sidekick #sk_drawer ul.sk_bucketContainer li.related_walkthroughs_heading.he
699
  div#sidekick #sk_drawer ul.sk_bucketContainer li.related_walkthroughs_heading.heading span {
700
  font-weight: bold;
701
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
702
  div#sidekick #sk_drawer ul.sk_bucketContainer ul li {
703
  padding: 0px;
704
  }
705
  div#sidekick #sk_drawer ul.sk_bucketContainer ul#sk_upgrade {
706
- bottom: -1000px;
707
  position: fixed;
708
  text-align: center;
709
  -webkit-transition: all 0.5s ease-out;
@@ -890,10 +986,10 @@ div#sidekick #sk_drawer ul.sk_bucketContainer ul.activate div#content #benefits
890
  float: left;
891
  }
892
  div#sidekick #sk_drawer ul.sk_bucketContainer ul.activate div#content #benefits ul li#more i {
893
- background: #f6f6f6 url('../images/sprides_v13.png') -431px -22px;
894
  }
895
  div#sidekick #sk_drawer ul.sk_bucketContainer ul.activate div#content #benefits ul li#types i {
896
- background: #f6f6f6 url('../images/sprides_v13.png') -494px -22px;
897
  }
898
  div#sidekick #sk_drawer ul.sk_bucketContainer input[type='text'],
899
  div#sidekick #sk_drawer ul.sk_bucketContainer input[type='password'] {
@@ -925,6 +1021,8 @@ div#sidekick #sk_drawer ul.sk_bucketContainer div > ul.hide {
925
  div#sidekick #sk_drawer ul.sk_bucketContainer .buckets {
926
  position: absolute;
927
  left: 0px;
 
 
928
  transform: translate3d(0, 0, 0);
929
  -webkit-transition: all 0.3s ease-out;
930
  -moz-transition: all 0.3s ease-out;
@@ -938,6 +1036,9 @@ div#sidekick #sk_drawer ul.sk_bucketContainer .buckets {
938
  div#sidekick #sk_drawer ul.sk_bucketContainer .buckets a {
939
  text-decoration: none;
940
  }
 
 
 
941
  div#sidekick #sk_drawer ul.sk_bucketContainer .buckets .bucket_heading i {
942
  -webkit-transform: rotate(90deg);
943
  -moz-transform: rotate(90deg);
@@ -945,6 +1046,19 @@ div#sidekick #sk_drawer ul.sk_bucketContainer .buckets .bucket_heading i {
945
  -o-transform: rotate(90deg);
946
  transform: rotate(90deg);
947
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
948
  div#sidekick #sk_drawer ul.sk_bucketContainer ul.sub_bucket_inner {
949
  height: 100px;
950
  overflow-y: auto;
@@ -953,7 +1067,7 @@ div#sidekick #sk_drawer ul.sk_bucketContainer ul.sub_bucket_inner {
953
  }
954
  div#sidekick #sk_drawer ul.sk_bucketContainer .sub_bucket {
955
  /*display: none;*/
956
- left: 300px;
957
  position: absolute;
958
  top: 0px;
959
  overflow-y: auto;
@@ -970,28 +1084,12 @@ div#sidekick #sk_drawer ul.sk_bucketContainer .sub_bucket {
970
  }
971
  div#sidekick #sk_drawer ul.sk_bucketContainer .sub_bucket.show {
972
  /*display: block;*/
973
- left: 0px;
974
- transform: translate3d(0, 0, 0);
975
- -webkit-transition: all 0.3s ease-out;
976
- -moz-transition: all 0.3s ease-out;
977
- -o-transition: all 0.3s ease-out;
978
- transition: all 0.3s ease-out;
979
- /*-moz-transition: width 0.3s ease-out, max-height 0.3s ease-out, background-color 0.3s ease-out, -moz-transform 0.3s ease-out;*/
980
- /*-webkit-transition: width 0.3s ease-out, max-height 0.3s ease-out, background-color 0.3s ease-out, -webkit-transform 0.3s ease-out;*/
981
- /*-o-transition: width 0.3s ease-out, max-height 0.3s ease-out, background-color 0.3s ease-out, -o-transform 0.3s ease-out;*/
982
- /*transition: width 0.3s ease-out, max-height 0.3s ease-out, background-color 0.3s ease-out, transform 0.3s ease-out;*/
983
  }
984
  div#sidekick #sk_drawer ul.sk_bucketContainer .sub_bucket.hide {
985
- left: -300px;
986
- transform: translate3d(0, 0, 0);
987
- -webkit-transition: all 0.3s ease-out;
988
- -moz-transition: all 0.3s ease-out;
989
- -o-transition: all 0.3s ease-out;
990
- transition: all 0.3s ease-out;
991
- /*-moz-transition: width 0.3s ease-out, max-height 0.3s ease-out, background-color 0.3s ease-out, -moz-transform 0.3s ease-out;*/
992
- /*-webkit-transition: width 0.3s ease-out, max-height 0.3s ease-out, background-color 0.3s ease-out, -webkit-transform 0.3s ease-out;*/
993
- /*-o-transition: width 0.3s ease-out, max-height 0.3s ease-out, background-color 0.3s ease-out, -o-transform 0.3s ease-out;*/
994
- /*transition: width 0.3s ease-out, max-height 0.3s ease-out, background-color 0.3s ease-out, transform 0.3s ease-out;*/
995
  }
996
  div#sidekick #sk_drawer ul.sk_bucketContainer .sub_bucket li.heading {
997
  text-align: center;
@@ -1007,6 +1105,9 @@ div#sidekick #sk_drawer ul.sk_bucketContainer .sub_bucket li.sub_bucket_heading
1007
  transform: rotate(90deg);
1008
  }
1009
  div#sidekick #sk_drawer ul.sk_bucketContainer .walkthroughs {
 
 
 
1010
  transform: translate3d(0, 0, 0);
1011
  -webkit-transition: all 0.3s ease-out;
1012
  -moz-transition: all 0.3s ease-out;
@@ -1024,6 +1125,7 @@ div#sidekick #sk_drawer ul.sk_bucketContainer .walkthroughs li.sub_heading {
1024
  border-bottom: solid 1px #17909b;
1025
  margin-bottom: 10px;
1026
  cursor: default;
 
1027
  }
1028
  div#sidekick #sk_drawer ul.sk_bucketContainer .walkthroughs li.sub_heading span {
1029
  display: inline;
@@ -1038,19 +1140,37 @@ div#sidekick #sk_drawer ul.sk_bucketContainer .walkthroughs li.sub_heading span
1038
  text-transform: uppercase;
1039
  height: 20px;
1040
  }
1041
- div#sidekick #sk_drawer ul.sk_bucketContainer .walkthroughs .walkthrough a li {
1042
- background: url('../images/sprides_v13.png') 257px -861px;
 
 
 
 
 
 
 
 
 
 
 
1043
  }
1044
- div#sidekick #sk_drawer ul.sk_bucketContainer .walkthroughs .walkthrough a li span {
1045
  margin: 0;
1046
- padding: 0;
1047
  font-size: 14px;
1048
  color: #988c8f;
 
 
 
 
 
1049
  }
1050
- div#sidekick #sk_drawer ul.sk_bucketContainer .walkthroughs .walkthrough a li.subscribed {
1051
- background: none;
 
 
 
1052
  }
1053
- div#sidekick #sk_drawer ul.sk_bucketContainer .walkthroughs .walkthrough a li.subscribed span {
1054
  color: #3e3e3e;
1055
  }
1056
  div#sidekick #sk_drawer ul.sk_bucketContainer .walkthroughs .overview {
@@ -1072,7 +1192,7 @@ div#sidekick #sk_drawer ul.sk_bucketContainer .walkthroughs .overview {
1072
  }*/
1073
  }
1074
  div#sidekick #sk_drawer ul.sk_bucketContainer .walkthroughs .walkthrough {
1075
- left: 300px;
1076
  position: absolute;
1077
  top: 0px;
1078
  background-color: white;
@@ -1124,16 +1244,8 @@ div#sidekick #sk_drawer ul.sk_bucketContainer .walkthroughs .walkthrough a:hover
1124
  /*transition: width 0.3s ease-out, max-height 0.3s ease-out, background-color 0.3s ease-out, transform 0.3s ease-out;*/
1125
  }
1126
  div#sidekick #sk_drawer ul.sk_bucketContainer .walkthroughs .walkthrough.show {
1127
- left: 0px;
1128
- transform: translate3d(0, 0, 0);
1129
- -webkit-transition: all 0.3s ease-out;
1130
- -moz-transition: all 0.3s ease-out;
1131
- -o-transition: all 0.3s ease-out;
1132
- transition: all 0.3s ease-out;
1133
- /*-moz-transition: width 0.3s ease-out, max-height 0.3s ease-out, background-color 0.3s ease-out, -moz-transform 0.3s ease-out;*/
1134
- /*-webkit-transition: width 0.3s ease-out, max-height 0.3s ease-out, background-color 0.3s ease-out, -webkit-transform 0.3s ease-out;*/
1135
- /*-o-transition: width 0.3s ease-out, max-height 0.3s ease-out, background-color 0.3s ease-out, -o-transform 0.3s ease-out;*/
1136
- /*transition: width 0.3s ease-out, max-height 0.3s ease-out, background-color 0.3s ease-out, transform 0.3s ease-out;*/
1137
  }
1138
  div#sidekick #sk_drawer ul.sk_bucketContainer .user .heading {
1139
  margin-bottom: 10px;
@@ -1141,6 +1253,7 @@ div#sidekick #sk_drawer ul.sk_bucketContainer .user .heading {
1141
  }
1142
  div#sidekick #sk_drawer ul.sk_bucketContainer li {
1143
  width: 300px;
 
1144
  font-size: 16px;
1145
  color: white;
1146
  margin: 0;
@@ -1148,6 +1261,15 @@ div#sidekick #sk_drawer ul.sk_bucketContainer li {
1148
  cursor: pointer;
1149
  cursor: hand;
1150
  max-height: 57px;
 
 
 
 
 
 
 
 
 
1151
  }
1152
  div#sidekick #sk_drawer ul.sk_bucketContainer li.heading {
1153
  background-color: #dddddd;
38
  height: 25px;
39
  position: absolute;
40
  cursor: pointer;
41
+ background: url('../images/sprides_v13.png?v=1.3.4') -3px -796px;
42
  opacity: 0.0;
43
  margin-left: -20px;
44
  margin-top: -10px;
125
  height: 40px;
126
  width: 160px;
127
  /*overflow: hidden;*/
128
+ z-index: 9999998;
129
  /*.animate_reg;*/
130
  }
131
  div#sidekick.sidekick_player {
133
  bottom: 0px;
134
  display: block;
135
  }
136
+ div#sidekick.composer_on {
137
+ bottom: -50px;
138
+ transform: translate3d(0, 0, 0);
139
+ -webkit-transition: all 0.3s ease-out;
140
+ -moz-transition: all 0.3s ease-out;
141
+ -o-transition: all 0.3s ease-out;
142
+ transition: all 0.3s ease-out;
143
+ /*-moz-transition: width 0.3s ease-out, max-height 0.3s ease-out, background-color 0.3s ease-out, -moz-transform 0.3s ease-out;*/
144
+ /*-webkit-transition: width 0.3s ease-out, max-height 0.3s ease-out, background-color 0.3s ease-out, -webkit-transform 0.3s ease-out;*/
145
+ /*-o-transition: width 0.3s ease-out, max-height 0.3s ease-out, background-color 0.3s ease-out, -o-transform 0.3s ease-out;*/
146
+ /*transition: width 0.3s ease-out, max-height 0.3s ease-out, background-color 0.3s ease-out, transform 0.3s ease-out;*/
147
+ }
148
+ div#sidekick.composer_button_on div#sk_taskbar div.sk_toggles button#toggle_composer {
149
+ display: block;
150
+ }
151
  div#sidekick.open {
152
  width: 100%;
153
  -webkit-transition: all 0.5s ease-out;
156
  transition: all 0.5s ease-out;
157
  }
158
  div#sidekick.open div#sk_taskbar button.sk_toggle {
159
+ background: url('../images/sprides_v13.png?v=1.3.4') -1px -359px;
160
  transform: rotate(180deg);
161
  -ms-transform: rotate(180deg);
162
  -webkit-transform: rotate(180deg);
163
+ outline: 0;
164
+ }
165
+ div#sidekick.open div#sk_taskbar button {
166
+ outline: 0;
167
  }
168
  div#sidekick.open div#sk_taskbar div.sk_controls {
169
  display: block;
180
  transition: all 0.5s ease-out;
181
  bottom: 39px;
182
  }
183
+ div#sidekick.paused div#sk_taskbar div.sk_toggles #toggle_drawer {
184
+ display: none;
 
 
 
 
185
  }
186
+ div#sidekick.paused div#sk_taskbar div.sk_controls button.sidekick_play_pause {
187
+ background-position: 17px -178px;
188
  }
189
+ div#sidekick.playing div#sk_taskbar div.sk_controls button.sidekick_play_pause {
190
+ background-image: url('../images/sprides_v13.png?v=1.3.4');
191
+ background-position: 17px -718px;
192
+ }
193
+ div#sidekick.playing div#sk_taskbar div.sk_controls button.sidekick_play_pause:hover {
194
+ background-position: 17px -718px;
195
  }
196
+ div#sidekick.playing,
197
+ div#sidekick.paused {
198
+ width: 100%;
199
+ }
200
+ div#sidekick.playing div#sk_taskbar div.sk_controls,
201
+ div#sidekick.paused div#sk_taskbar div.sk_controls {
202
  display: block;
203
  }
204
+ div#sidekick.playing div#sk_taskbar div.sk_controls button,
205
+ div#sidekick.paused div#sk_taskbar div.sk_controls button {
206
  opacity: 1;
207
+ background-color: #d9763b;
208
+ background-image: url('../images/sprides_v13.png?v=1.3.4');
209
+ }
210
+ div#sidekick.playing div#sk_taskbar div.sk_controls button:hover,
211
+ div#sidekick.paused div#sk_taskbar div.sk_controls button:hover {
212
+ background-color: #df6226;
213
  }
214
+ div#sidekick.playing div#sk_taskbar div.sk_controls button.sidekick_play_pause,
215
+ div#sidekick.paused div#sk_taskbar div.sk_controls button.sidekick_play_pause {
216
+ cursor: pointer;
217
+ }
218
+ div#sidekick.playing div#sk_taskbar div.sk_controls button.sidekick_restart,
219
+ div#sidekick.paused div#sk_taskbar div.sk_controls button.sidekick_restart {
220
+ cursor: pointer;
221
+ }
222
+ div#sidekick.playing div#sk_taskbar div.sk_controls button.sidekick_restart:hover,
223
+ div#sidekick.paused div#sk_taskbar div.sk_controls button.sidekick_restart:hover {
224
+ background-position: 17px -140px;
225
+ }
226
+ div#sidekick.playing div#sk_taskbar div.sk_controls button.sidekick_stop,
227
+ div#sidekick.paused div#sk_taskbar div.sk_controls button.sidekick_stop {
228
+ cursor: pointer;
229
+ }
230
+ div#sidekick.playing div#sk_taskbar div.sk_controls button.sidekick_stop:hover,
231
+ div#sidekick.paused div#sk_taskbar div.sk_controls button.sidekick_stop:hover {
232
+ background-position: 17px -210px;
233
+ }
234
+ div#sidekick.playing div#sk_taskbar div.sk_info,
235
+ div#sidekick.paused div#sk_taskbar div.sk_info {
236
  display: block;
237
  }
238
  div#sidekick.playing div#sk_taskbar div.sk_info div.sk_time,
239
+ div#sidekick.paused div#sk_taskbar div.sk_info div.sk_time,
240
+ div#sidekick.playing div#sk_taskbar div.sk_info div.sk_title,
241
+ div#sidekick.paused div#sk_taskbar div.sk_info div.sk_title {
242
  opacity: 1;
243
  display: block;
244
  }
245
+ div#sidekick.playing div#sk_taskbar div.sk_info .sk_divider,
246
+ div#sidekick.paused div#sk_taskbar div.sk_info .sk_divider {
247
  float: left;
248
  }
249
+ div#sidekick.playing div#sk_taskbar button.sk_toggle,
250
+ div#sidekick.paused div#sk_taskbar button.sk_toggle {
251
+ background: url('../images/sprides_v13.png?v=1.3.4') -1px -359px;
252
  transform: rotate(0deg);
253
  -ms-transform: rotate(0deg);
254
  -webkit-transform: rotate(0deg);
255
  }
256
+ div#sidekick.playing div#sk_taskbar div.sk_toggles,
257
+ div#sidekick.paused div#sk_taskbar div.sk_toggles {
258
  display: block;
259
  margin-top: 100px;
260
  transform: translate3d(0, 0, 0);
267
  /*-o-transition: width 0.3s ease-out, max-height 0.3s ease-out, background-color 0.3s ease-out, -o-transform 0.3s ease-out;*/
268
  /*transition: width 0.3s ease-out, max-height 0.3s ease-out, background-color 0.3s ease-out, transform 0.3s ease-out;*/
269
  }
270
+ div#sidekick.playing div#sk_taskbar div.sk_toggles #toggle_drawer,
271
+ div#sidekick.paused div#sk_taskbar div.sk_toggles #toggle_drawer {
272
  display: none;
273
  }
274
  div#sidekick button {
279
  div#sidekick #click_warning {
280
  width: 50%;
281
  min-width: 880px;
282
+ min-height: 57px;
283
+ background-color: #EB6125;
284
  color: white;
285
  position: absolute;
286
  top: 100px;
289
  z-index: 1000002;
290
  left: 50%;
291
  margin-left: -440px;
292
+ font-weight: normal;
 
 
293
  font-size: 18px;
 
294
  }
295
  div#sidekick #click_warning.show {
296
  top: -60px;
395
  height: 100%;
396
  width: 125px;
397
  /*width: 124px; wp 3.8+ */
398
+ background: url('../images/sprides_v13.png?v=1.3.4') 5px 0px no-repeat;
399
  cursor: pointer;
400
  }
401
  div#sidekick div#sk_taskbar button.sk_toggle {
403
  height: 100%;
404
  width: 32px;
405
  margin-left: 3px;
406
+ background: url('../images/sprides_v13.png?v=1.3.4') 0px -358px;
407
  border: none;
408
  }
409
  div#sidekick div#sk_taskbar div.sk_debug {
488
  opacity: 0.3;
489
  position: absolute;
490
  top: 0px;
491
+ outline: 0;
492
  }
493
  div#sidekick div#sk_taskbar div.sk_controls button.sidekick_restart {
494
  left: 0px;
495
+ background: url('../images/sprides_v13.png?v=1.3.4') 17px -140px;
496
+ cursor: default;
 
 
497
  }
498
  div#sidekick div#sk_taskbar div.sk_controls button.sidekick_play_pause {
499
+ background: url('../images/sprides_v13.png?v=1.3.4') 17px -178px;
500
  left: 70px;
501
  border-right: solid 1px white;
502
  border-left: solid 1px white;
503
+ cursor: default;
 
 
 
 
 
504
  }
505
  div#sidekick div#sk_taskbar div.sk_controls button.sidekick_stop {
506
+ background: url('../images/sprides_v13.png?v=1.3.4') 17px -210px;
507
  left: 140px;
508
+ cursor: default;
 
 
509
  }
510
  div#sidekick div#sk_taskbar div.sk_caption {
511
+ width: 50%;
512
+ min-width: 880px;
513
+ min-height: 57px;
514
+ background-color: #EB6125;
515
+ color: white;
516
  position: absolute;
517
+ top: 100px;
518
+ min-height: 45px;
519
+ text-align: center;
520
+ z-index: 1000002;
521
+ left: 50%;
522
+ margin-left: -440px;
523
+ font-weight: normal;
524
+ font-size: 18px;
525
  transform: translate3d(0, 0, 0);
526
  -webkit-transition: all 0.3s ease-out;
527
  -moz-transition: all 0.3s ease-out;
533
  /*transition: width 0.3s ease-out, max-height 0.3s ease-out, background-color 0.3s ease-out, transform 0.3s ease-out;*/
534
  }
535
  div#sidekick div#sk_taskbar div.sk_caption.show {
536
+ top: -60px;
537
  }
538
  div#sidekick div#sk_taskbar div.sk_caption .text {
539
+ padding: 20px 5px 20px;
540
+ display: block;
541
+ font-size: 21px;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
542
  -webkit-border-top-left-radius: 10px;
543
  -moz-border-top-left-radius: 10px;
544
  -ms-border-top-left-radius: 10px;
558
  height: 100%;
559
  min-width: 400px;
560
  display: none;
561
+ outline: 0;
562
  }
563
  div#sidekick div#sk_taskbar div.sk_toggles {
564
  transform: translate3d(0, 0, 0);
581
  display: block;
582
  float: left;
583
  }
584
+ div#sidekick div#sk_taskbar div.sk_toggles button#toggle_composer {
585
+ display: none;
586
+ background: #f1631d url('../images/sprides_v13.png?v=1.3.4') 17px -475px;
587
+ /*border-right: solid 1px white;*/
588
+ border-left: solid 1px white;
589
+ width: 74px;
590
+ }
591
+ div#sidekick div#sk_taskbar div.sk_toggles button#toggle_composer:hover {
592
+ background: #fa8c00 url('../images/sprides_v13.png?v=1.3.4') 17px -475px;
593
+ transform: translate3d(0, 0, 0);
594
+ -webkit-transition: all 0.3s ease-out;
595
+ -moz-transition: all 0.3s ease-out;
596
+ -o-transition: all 0.3s ease-out;
597
+ transition: all 0.3s ease-out;
598
+ /*-moz-transition: width 0.3s ease-out, max-height 0.3s ease-out, background-color 0.3s ease-out, -moz-transform 0.3s ease-out;*/
599
+ /*-webkit-transition: width 0.3s ease-out, max-height 0.3s ease-out, background-color 0.3s ease-out, -webkit-transform 0.3s ease-out;*/
600
+ /*-o-transition: width 0.3s ease-out, max-height 0.3s ease-out, background-color 0.3s ease-out, -o-transform 0.3s ease-out;*/
601
+ /*transition: width 0.3s ease-out, max-height 0.3s ease-out, background-color 0.3s ease-out, transform 0.3s ease-out;*/
602
+ }
603
  div#sidekick div#sk_taskbar div.sk_toggles button#toggle_hotspots {
604
+ display: none;
605
+ visibility: hidden;
606
+ width: 1px;
607
  border-left: solid 1px white;
608
+ background: #f1631d url('../images/sprides_v13.png?v=1.3.4') 10px -248px;
609
  padding-left: 24px;
610
  font-size: 18px;
611
  color: white;
612
  }
613
  div#sidekick div#sk_taskbar div.sk_toggles button#toggle_hotspots.on {
614
+ background: #fa8c00 url('../images/sprides_v13.png?v=1.3.4') 10px -248px;
615
  }
616
  div#sidekick div#sk_taskbar div.sk_toggles button#toggle_hotspots:hover {
617
+ background: #fa8c00 url('../images/sprides_v13.png?v=1.3.4') 10px -248px;
618
  transform: translate3d(0, 0, 0);
619
  -webkit-transition: all 0.3s ease-out;
620
  -moz-transition: all 0.3s ease-out;
626
  /*transition: width 0.3s ease-out, max-height 0.3s ease-out, background-color 0.3s ease-out, transform 0.3s ease-out;*/
627
  }
628
  div#sidekick div#sk_taskbar div.sk_toggles button#toggle_feedback {
629
+ background: #f1631d url('../images/sprides_v13.png?v=1.3.4') 17px -287px;
630
  /*border-right: solid 1px white;*/
631
  border-left: solid 1px white;
632
  width: 74px;
633
  }
634
  div#sidekick div#sk_taskbar div.sk_toggles button#toggle_feedback:hover {
635
+ background: #fa8c00 url('../images/sprides_v13.png?v=1.3.4') 17px -287px;
636
  transform: translate3d(0, 0, 0);
637
  -webkit-transition: all 0.3s ease-out;
638
  -moz-transition: all 0.3s ease-out;
644
  /*transition: width 0.3s ease-out, max-height 0.3s ease-out, background-color 0.3s ease-out, transform 0.3s ease-out;*/
645
  }
646
  div#sidekick div#sk_taskbar div.sk_toggles button#toggle_preferences {
647
+ background: #f1631d url('../images/sprides_v13.png?v=1.3.4') 17px -33px;
648
  border-right: solid 1px white;
649
  border-left: solid 1px white;
650
  width: 74px;
651
  }
652
  div#sidekick div#sk_taskbar div.sk_toggles button#toggle_preferences:hover {
653
+ background: #fa8c00 url('../images/sprides_v13.png?v=1.3.4') 17px -33px;
654
  transform: translate3d(0, 0, 0);
655
  -webkit-transition: all 0.3s ease-out;
656
  -moz-transition: all 0.3s ease-out;
662
  /*transition: width 0.3s ease-out, max-height 0.3s ease-out, background-color 0.3s ease-out, transform 0.3s ease-out;*/
663
  }
664
  div#sidekick div#sk_taskbar div.sk_toggles button#toggle_drawer {
665
+ background: #f1631d url('../images/sprides_v13.png?v=1.3.4') 17px -431px;
666
  position: relative;
667
  }
668
  div#sidekick div#sk_taskbar div.sk_toggles button#toggle_drawer:hover {
669
+ background: #fa8c00 url('../images/sprides_v13.png?v=1.3.4') 17px -431px;
670
  transform: translate3d(0, 0, 0);
671
  -webkit-transition: all 0.3s ease-out;
672
  -moz-transition: all 0.3s ease-out;
686
  top: -10px;
687
  width: 20px;
688
  height: 20px;
689
+ background: url('../images/sprides_v13.png?v=1.3.4') -9px -696px;
690
  }
691
  div#sidekick #sk_drawer {
692
  background-color: #fff;
706
  color: white;
707
  padding: 20px 10px;
708
  margin: 0px;
709
+ font-size: 1.5em;
710
+ line-height: 18px;
711
+ letter-spacing: normal;
712
+ text-align: left;
713
  }
714
  div#sidekick #sk_drawer h2 button {
715
+ background: url('../images/sprides_v13.png?v=1.3.4') -8px -656px no-repeat;
716
  width: 20px;
717
  height: 20px;
718
  border: none;
735
  border: solid 2px red;
736
  background-color: #fae3de;
737
  }
738
+ div#sidekick #sk_drawer ul {
739
+ margin: 0px;
740
+ padding: 0px;
741
+ }
742
  div#sidekick #sk_drawer ul.sk_bucketContainer {
743
  position: relative;
744
  overflow-x: hidden;
745
  margin: 0px;
746
+ padding: 0px;
747
  }
748
  div#sidekick #sk_drawer ul.sk_bucketContainer .heading.goprev {
749
  background-color: white;
750
+ text-align: center;
751
  }
752
  div#sidekick #sk_drawer ul.sk_bucketContainer .heading.goprev span {
753
  padding: 0px;
766
  div#sidekick #sk_drawer ul.sk_bucketContainer li.related_walkthroughs_heading.heading span {
767
  font-weight: bold;
768
  }
769
+ div#sidekick #sk_drawer ul.sk_bucketContainer ul {
770
+ margin: 0px;
771
+ }
772
+ div#sidekick #sk_drawer ul.sk_bucketContainer ul.pull_left {
773
+ position: absolute;
774
+ left: -300px;
775
+ transform: translate3d(0, 0, 0);
776
+ -webkit-transition: all 0.3s ease-out;
777
+ -moz-transition: all 0.3s ease-out;
778
+ -o-transition: all 0.3s ease-out;
779
+ transition: all 0.3s ease-out;
780
+ /*-moz-transition: width 0.3s ease-out, max-height 0.3s ease-out, background-color 0.3s ease-out, -moz-transform 0.3s ease-out;*/
781
+ /*-webkit-transition: width 0.3s ease-out, max-height 0.3s ease-out, background-color 0.3s ease-out, -webkit-transform 0.3s ease-out;*/
782
+ /*-o-transition: width 0.3s ease-out, max-height 0.3s ease-out, background-color 0.3s ease-out, -o-transform 0.3s ease-out;*/
783
+ /*transition: width 0.3s ease-out, max-height 0.3s ease-out, background-color 0.3s ease-out, transform 0.3s ease-out;*/
784
+ }
785
+ div#sidekick #sk_drawer ul.sk_bucketContainer ul.pull_right {
786
+ position: absolute;
787
+ left: 300px;
788
+ transform: translate3d(0, 0, 0);
789
+ -webkit-transition: all 0.3s ease-out;
790
+ -moz-transition: all 0.3s ease-out;
791
+ -o-transition: all 0.3s ease-out;
792
+ transition: all 0.3s ease-out;
793
+ /*-moz-transition: width 0.3s ease-out, max-height 0.3s ease-out, background-color 0.3s ease-out, -moz-transform 0.3s ease-out;*/
794
+ /*-webkit-transition: width 0.3s ease-out, max-height 0.3s ease-out, background-color 0.3s ease-out, -webkit-transform 0.3s ease-out;*/
795
+ /*-o-transition: width 0.3s ease-out, max-height 0.3s ease-out, background-color 0.3s ease-out, -o-transform 0.3s ease-out;*/
796
+ /*transition: width 0.3s ease-out, max-height 0.3s ease-out, background-color 0.3s ease-out, transform 0.3s ease-out;*/
797
+ }
798
  div#sidekick #sk_drawer ul.sk_bucketContainer ul li {
799
  padding: 0px;
800
  }
801
  div#sidekick #sk_drawer ul.sk_bucketContainer ul#sk_upgrade {
802
+ bottom: -200px;
803
  position: fixed;
804
  text-align: center;
805
  -webkit-transition: all 0.5s ease-out;
986
  float: left;
987
  }
988
  div#sidekick #sk_drawer ul.sk_bucketContainer ul.activate div#content #benefits ul li#more i {
989
+ background: #f6f6f6 url('../images/sprides_v13.png?v=1.3.4') -431px -22px;
990
  }
991
  div#sidekick #sk_drawer ul.sk_bucketContainer ul.activate div#content #benefits ul li#types i {
992
+ background: #f6f6f6 url('../images/sprides_v13.png?v=1.3.4') -494px -22px;
993
  }
994
  div#sidekick #sk_drawer ul.sk_bucketContainer input[type='text'],
995
  div#sidekick #sk_drawer ul.sk_bucketContainer input[type='password'] {
1021
  div#sidekick #sk_drawer ul.sk_bucketContainer .buckets {
1022
  position: absolute;
1023
  left: 0px;
1024
+ margin: 0px;
1025
+ padding: 0px;
1026
  transform: translate3d(0, 0, 0);
1027
  -webkit-transition: all 0.3s ease-out;
1028
  -moz-transition: all 0.3s ease-out;
1036
  div#sidekick #sk_drawer ul.sk_bucketContainer .buckets a {
1037
  text-decoration: none;
1038
  }
1039
+ div#sidekick #sk_drawer ul.sk_bucketContainer .buckets .bucket_heading {
1040
+ text-align: left;
1041
+ }
1042
  div#sidekick #sk_drawer ul.sk_bucketContainer .buckets .bucket_heading i {
1043
  -webkit-transform: rotate(90deg);
1044
  -moz-transform: rotate(90deg);
1046
  -o-transform: rotate(90deg);
1047
  transform: rotate(90deg);
1048
  }
1049
+ div#sidekick #sk_drawer ul.sk_bucketContainer .sub_buckets {
1050
+ transform: translate3d(0, 0, 0);
1051
+ -webkit-transition: all 0.3s ease-out;
1052
+ -moz-transition: all 0.3s ease-out;
1053
+ -o-transition: all 0.3s ease-out;
1054
+ transition: all 0.3s ease-out;
1055
+ /*-moz-transition: width 0.3s ease-out, max-height 0.3s ease-out, background-color 0.3s ease-out, -moz-transform 0.3s ease-out;*/
1056
+ /*-webkit-transition: width 0.3s ease-out, max-height 0.3s ease-out, background-color 0.3s ease-out, -webkit-transform 0.3s ease-out;*/
1057
+ /*-o-transition: width 0.3s ease-out, max-height 0.3s ease-out, background-color 0.3s ease-out, -o-transform 0.3s ease-out;*/
1058
+ /*transition: width 0.3s ease-out, max-height 0.3s ease-out, background-color 0.3s ease-out, transform 0.3s ease-out;*/
1059
+ left: 0px;
1060
+ position: absolute;
1061
+ }
1062
  div#sidekick #sk_drawer ul.sk_bucketContainer ul.sub_bucket_inner {
1063
  height: 100px;
1064
  overflow-y: auto;
1067
  }
1068
  div#sidekick #sk_drawer ul.sk_bucketContainer .sub_bucket {
1069
  /*display: none;*/
1070
+ /*left: 300px;*/
1071
  position: absolute;
1072
  top: 0px;
1073
  overflow-y: auto;
1084
  }
1085
  div#sidekick #sk_drawer ul.sk_bucketContainer .sub_bucket.show {
1086
  /*display: block;*/
1087
+ /*left: 0px;*/
1088
+ /*.animate;*/
 
 
 
 
 
 
 
 
1089
  }
1090
  div#sidekick #sk_drawer ul.sk_bucketContainer .sub_bucket.hide {
1091
+ /*left: -300px;*/
1092
+ /*.animate;*/
 
 
 
 
 
 
 
 
1093
  }
1094
  div#sidekick #sk_drawer ul.sk_bucketContainer .sub_bucket li.heading {
1095
  text-align: center;
1105
  transform: rotate(90deg);
1106
  }
1107
  div#sidekick #sk_drawer ul.sk_bucketContainer .walkthroughs {
1108
+ left: 0px;
1109
+ position: absolute;
1110
+ top: 0px;
1111
  transform: translate3d(0, 0, 0);
1112
  -webkit-transition: all 0.3s ease-out;
1113
  -moz-transition: all 0.3s ease-out;
1125
  border-bottom: solid 1px #17909b;
1126
  margin-bottom: 10px;
1127
  cursor: default;
1128
+ text-align: left;
1129
  }
1130
  div#sidekick #sk_drawer ul.sk_bucketContainer .walkthroughs li.sub_heading span {
1131
  display: inline;
1140
  text-transform: uppercase;
1141
  height: 20px;
1142
  }
1143
+ div#sidekick #sk_drawer ul.sk_bucketContainer .walkthroughs .walkthrough {
1144
+ padding: 0px;
1145
+ margin: 0px;
1146
+ }
1147
+ div#sidekick #sk_drawer ul.sk_bucketContainer .walkthroughs .walkthrough .walkthroughs_inner {
1148
+ padding: 0px;
1149
+ margin: 0px;
1150
+ }
1151
+ div#sidekick #sk_drawer ul.sk_bucketContainer .walkthroughs .walkthrough .walkthroughs_inner a li {
1152
+ background-image: url('../images/sprides_v13.png?v=1.3.4');
1153
+ background-position: 257px -861px;
1154
+ text-align: left;
1155
+ display: block;
1156
  }
1157
+ div#sidekick #sk_drawer ul.sk_bucketContainer .walkthroughs .walkthrough .walkthroughs_inner a li span {
1158
  margin: 0;
 
1159
  font-size: 14px;
1160
  color: #988c8f;
1161
+ padding: 0 5px 0 0;
1162
+ }
1163
+ div#sidekick #sk_drawer ul.sk_bucketContainer .walkthroughs .walkthrough .walkthroughs_inner a li .edit {
1164
+ color: orange;
1165
+ display: inline;
1166
  }
1167
+ div#sidekick #sk_drawer ul.sk_bucketContainer .walkthroughs .walkthrough .walkthroughs_inner a li .edit:hover {
1168
+ color: black;
1169
+ }
1170
+ div#sidekick #sk_drawer ul.sk_bucketContainer .walkthroughs .walkthrough .walkthroughs_inner a li.subscribed {
1171
+ background-image: none;
1172
  }
1173
+ div#sidekick #sk_drawer ul.sk_bucketContainer .walkthroughs .walkthrough .walkthroughs_inner a li.subscribed span {
1174
  color: #3e3e3e;
1175
  }
1176
  div#sidekick #sk_drawer ul.sk_bucketContainer .walkthroughs .overview {
1192
  }*/
1193
  }
1194
  div#sidekick #sk_drawer ul.sk_bucketContainer .walkthroughs .walkthrough {
1195
+ left: 0px;
1196
  position: absolute;
1197
  top: 0px;
1198
  background-color: white;
1244
  /*transition: width 0.3s ease-out, max-height 0.3s ease-out, background-color 0.3s ease-out, transform 0.3s ease-out;*/
1245
  }
1246
  div#sidekick #sk_drawer ul.sk_bucketContainer .walkthroughs .walkthrough.show {
1247
+ /*left: 0px;*/
1248
+ /*.animate;*/
 
 
 
 
 
 
 
 
1249
  }
1250
  div#sidekick #sk_drawer ul.sk_bucketContainer .user .heading {
1251
  margin-bottom: 10px;
1253
  }
1254
  div#sidekick #sk_drawer ul.sk_bucketContainer li {
1255
  width: 300px;
1256
+ left: 0px;
1257
  font-size: 16px;
1258
  color: white;
1259
  margin: 0;
1261
  cursor: pointer;
1262
  cursor: hand;
1263
  max-height: 57px;
1264
+ transform: translate3d(0, 0, 0);
1265
+ -webkit-transition: all 0.3s ease-out;
1266
+ -moz-transition: all 0.3s ease-out;
1267
+ -o-transition: all 0.3s ease-out;
1268
+ transition: all 0.3s ease-out;
1269
+ /*-moz-transition: width 0.3s ease-out, max-height 0.3s ease-out, background-color 0.3s ease-out, -moz-transform 0.3s ease-out;*/
1270
+ /*-webkit-transition: width 0.3s ease-out, max-height 0.3s ease-out, background-color 0.3s ease-out, -webkit-transform 0.3s ease-out;*/
1271
+ /*-o-transition: width 0.3s ease-out, max-height 0.3s ease-out, background-color 0.3s ease-out, -o-transform 0.3s ease-out;*/
1272
+ /*transition: width 0.3s ease-out, max-height 0.3s ease-out, background-color 0.3s ease-out, transform 0.3s ease-out;*/
1273
  }
1274
  div#sidekick #sk_drawer ul.sk_bucketContainer li.heading {
1275
  background-color: #dddddd;
css/sidekick_wpe.css ADDED
@@ -0,0 +1,353 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @font-face {
2
+ font-family: SourceSansProRegular;
3
+ src: url(fonts/SourceSansPro-Regular.ttf);
4
+ }
5
+ body div.sidekick_pointer {
6
+ background-color: rgba(235, 97, 38, 0.4);
7
+ }
8
+ body div.sidekick_pointer div.sk_point {
9
+ background-color: rgba(235, 97, 38, 0.9);
10
+ }
11
+ body div#sidekick_need_input.left,
12
+ body div#sidekick_need_input.right,
13
+ body div#sidekick_need_input.top,
14
+ body div#sidekick_need_input.bottom {
15
+ background-image: url('../images/sprides_v13.png?v=1.3.4');
16
+ text-shadow: none;
17
+ font-family: SourceSansProRegular;
18
+ }
19
+ body div#sidekick_need_input span {
20
+ font-size: 19px;
21
+ }
22
+ body div#sidekick_need_input button {
23
+ background-image: none;
24
+ background-color: #111f26;
25
+ border-radius: 0px;
26
+ padding: 3px 14px;
27
+ margin-top: 8px;
28
+ }
29
+ body div#sidekick_need_input button:hover {
30
+ background-color: #294a5b;
31
+ background-image: none;
32
+ }
33
+ body .sidekickHighlightInput {
34
+ outline-color: #eb6126;
35
+ box-shadow: inset 0px 0px 0px 2px #eb6126;
36
+ }
37
+ body div.sk_hotspot {
38
+ background-position: -110px -796px;
39
+ }
40
+ body div.sk_modal h1 {
41
+ background-color: #162a33;
42
+ font-size: 18px;
43
+ font-weight: normal;
44
+ }
45
+ body div.sk_modal i {
46
+ background-position: -107px -833px;
47
+ }
48
+ body div.sk_modal button {
49
+ background-color: #40bac8;
50
+ }
51
+ body div.sk_modal button:hover {
52
+ background-color: #24757e;
53
+ }
54
+ body div#sidekick {
55
+ width: 220px;
56
+ font-family: SourceSansProRegular;
57
+ }
58
+ body div#sidekick.open div#sk_taskbar button.sk_toggle {
59
+ background: url('../images/sprides_v13.png?v=1.3.4') -52px -358px;
60
+ transform: rotate(0deg);
61
+ -ms-transform: rotate(0deg);
62
+ -webkit-transform: rotate(0deg);
63
+ }
64
+ body div#sidekick.paused div#sk_taskbar div.sk_controls button.sidekick_play_pause {
65
+ background-position: -85px -178px;
66
+ }
67
+ body div#sidekick.paused div#sk_taskbar div.sk_controls button.sidekick_play_pause:hover {
68
+ background-position: 17px -178px;
69
+ }
70
+ body div#sidekick.playing div#sk_taskbar div.sk_controls button.sidekick_play_pause {
71
+ background-position: -86px -718px;
72
+ }
73
+ body div#sidekick.playing div#sk_taskbar div.sk_controls button.sidekick_play_pause:hover {
74
+ background-position: 17px -718px;
75
+ }
76
+ body div#sidekick.playing div#sk_taskbar div.sk_toggles,
77
+ body div#sidekick.paused div#sk_taskbar div.sk_toggles {
78
+ display: none;
79
+ }
80
+ body div#sidekick.playing div#sk_taskbar div.sk_controls button.sidekick_restart,
81
+ body div#sidekick.paused div#sk_taskbar div.sk_controls button.sidekick_restart {
82
+ background-position: -85px -140px;
83
+ }
84
+ body div#sidekick.playing div#sk_taskbar div.sk_controls button.sidekick_restart:hover,
85
+ body div#sidekick.paused div#sk_taskbar div.sk_controls button.sidekick_restart:hover {
86
+ background-position: -40px -140px;
87
+ }
88
+ body div#sidekick.playing div#sk_taskbar div.sk_controls button.sidekick_restart,
89
+ body div#sidekick.paused div#sk_taskbar div.sk_controls button.sidekick_restart,
90
+ body div#sidekick.playing div#sk_taskbar div.sk_controls button.sidekick_stop,
91
+ body div#sidekick.paused div#sk_taskbar div.sk_controls button.sidekick_stop,
92
+ body div#sidekick.playing div#sk_taskbar div.sk_controls button.sidekick_play_pause,
93
+ body div#sidekick.paused div#sk_taskbar div.sk_controls button.sidekick_play_pause {
94
+ border-right-color: #4a565c;
95
+ border-left-color: #4a565c;
96
+ background-color: #162a33;
97
+ }
98
+ body div#sidekick.playing div#sk_taskbar div.sk_controls button.sidekick_restart:hover,
99
+ body div#sidekick.paused div#sk_taskbar div.sk_controls button.sidekick_restart:hover,
100
+ body div#sidekick.playing div#sk_taskbar div.sk_controls button.sidekick_stop:hover,
101
+ body div#sidekick.paused div#sk_taskbar div.sk_controls button.sidekick_stop:hover,
102
+ body div#sidekick.playing div#sk_taskbar div.sk_controls button.sidekick_play_pause:hover,
103
+ body div#sidekick.paused div#sk_taskbar div.sk_controls button.sidekick_play_pause:hover {
104
+ background-color: #162a33;
105
+ }
106
+ body div#sidekick.playing div#sk_taskbar div.sk_info .sk_divider,
107
+ body div#sidekick.paused div#sk_taskbar div.sk_info .sk_divider {
108
+ background-color: #2d7d88;
109
+ width: 1px;
110
+ height: 24px;
111
+ float: left;
112
+ margin-top: 10px;
113
+ }
114
+ body div#sidekick.playing div#sk_taskbar div.sk_info div.sk_title,
115
+ body div#sidekick.paused div#sk_taskbar div.sk_info div.sk_title {
116
+ border-right: none;
117
+ }
118
+ body div#sidekick.playing div#sk_taskbar div.sk_info div.sk_title label,
119
+ body div#sidekick.paused div#sk_taskbar div.sk_info div.sk_title label {
120
+ font-size: 10px;
121
+ margin-top: 4px;
122
+ height: 14px;
123
+ }
124
+ body div#sidekick.playing div#sk_taskbar div.sk_info div.sk_title span,
125
+ body div#sidekick.paused div#sk_taskbar div.sk_info div.sk_title span {
126
+ font-size: 14px;
127
+ }
128
+ body div#sidekick.playing div#sk_taskbar div.sk_info div.sk_time,
129
+ body div#sidekick.paused div#sk_taskbar div.sk_info div.sk_time {
130
+ font-size: 14px;
131
+ margin-top: 17px;
132
+ }
133
+ body div#sidekick.playing div#sk_taskbar div.sk_caption.show,
134
+ body div#sidekick.paused div#sk_taskbar div.sk_caption.show {
135
+ /*bottom: 43px;*/
136
+ z-index: 999;
137
+ position: absolute;
138
+ background: none;
139
+ background-color: #dbdad6;
140
+ }
141
+ body div#sidekick.playing div#sk_taskbar div.sk_caption.show .text,
142
+ body div#sidekick.paused div#sk_taskbar div.sk_caption.show .text {
143
+ color: #162a33;
144
+ }
145
+ body div#sidekick.playing div#sk_taskbar div.sk_caption.show .text b,
146
+ body div#sidekick.paused div#sk_taskbar div.sk_caption.show .text b {
147
+ font-weight: bold;
148
+ color: #162a33;
149
+ }
150
+ body div#sidekick div#click_warning h3 {
151
+ display: none;
152
+ }
153
+ body div#sidekick div#click_warning span {
154
+ background: none;
155
+ position: relative;
156
+ border-top-left-radius: 0px;
157
+ font-size: 21px;
158
+ padding-top: 20px;
159
+ }
160
+ body div#sidekick div#sk_taskbar {
161
+ background: none;
162
+ background-color: #40bac8;
163
+ position: relative;
164
+ filter: -;
165
+ }
166
+ body div#sidekick div#sk_taskbar #logo {
167
+ background: none;
168
+ padding: 10px 30px;
169
+ font-size: 18px;
170
+ color: white;
171
+ }
172
+ body div#sidekick div#sk_taskbar div.sk_powered_by {
173
+ float: right;
174
+ font-size: 12px;
175
+ color: #305b6e;
176
+ padding: 12px;
177
+ }
178
+ body div#sidekick div#sk_taskbar button.sk_toggle {
179
+ background: url('../images/sprides_v13.png?v=1.3.4') -52px -358px;
180
+ transform: rotate(180deg);
181
+ -ms-transform: rotate(180deg);
182
+ -webkit-transform: rotate(180deg);
183
+ }
184
+ body div#sidekick div#sk_taskbar div.sk_controls {
185
+ background: none;
186
+ background-color: #162a33;
187
+ border: none;
188
+ filter: -;
189
+ }
190
+ body div#sidekick div#sk_taskbar div.sk_controls button {
191
+ opacity: 1;
192
+ }
193
+ body div#sidekick div#sk_taskbar div.sk_controls button.sidekick_restart,
194
+ body div#sidekick div#sk_taskbar div.sk_controls button.sidekick_stop,
195
+ body div#sidekick div#sk_taskbar div.sk_controls button.sidekick_play_pause {
196
+ background-image: url('../images/sprides_v13.png?v=1.3.4');
197
+ border-right-color: #4a565c;
198
+ border-left-color: #4a565c;
199
+ }
200
+ body div#sidekick div#sk_taskbar div.sk_controls button.sidekick_stop {
201
+ position: relative;
202
+ background-position: -85px -210px;
203
+ /*&:hover{
204
+ background-position: -40px -210px;
205
+ }*/
206
+ }
207
+ body div#sidekick div#sk_taskbar div.sk_controls button.sidekick_stop:before {
208
+ content: "";
209
+ position: absolute;
210
+ top: 0;
211
+ right: 0;
212
+ border-width: 16px 0px 0px 16px;
213
+ border-style: solid;
214
+ border-color: #40bac8 #162a33;
215
+ }
216
+ body div#sidekick div#sk_taskbar div.sk_controls button.sidekick_restart {
217
+ background-position: -85px -140px;
218
+ /*&:hover{
219
+ background-position: -40px -140px;
220
+ }*/
221
+ }
222
+ body div#sidekick div#sk_taskbar div.sk_controls button.sidekick_play_pause {
223
+ background-position: -85px -178px;
224
+ /*&:hover{
225
+ background-position: -40px -178px;
226
+ }*/
227
+ }
228
+ body div#sidekick div#sk_taskbar div.sk_toggles #toggle_feedback {
229
+ display: none;
230
+ }
231
+ body div#sidekick div#sk_taskbar div.sk_toggles #toggle_preferences {
232
+ display: none;
233
+ }
234
+ body div#sidekick div#sk_taskbar div.sk_toggles #toggle_hotspots {
235
+ display: none;
236
+ }
237
+ body div#sidekick div#sk_taskbar div.sk_toggles button#toggle_hotspots,
238
+ body div#sidekick div#sk_taskbar div.sk_toggles button#toggle_drawer {
239
+ background-color: #35657a;
240
+ border: none;
241
+ border-top-left-radius: 10px;
242
+ position: relative;
243
+ transition: none;
244
+ }
245
+ body div#sidekick div#sk_taskbar div.sk_toggles button#toggle_hotspots:before,
246
+ body div#sidekick div#sk_taskbar div.sk_toggles button#toggle_drawer:before {
247
+ content: "";
248
+ position: absolute;
249
+ top: 0;
250
+ left: 0;
251
+ border-width: 16px 16px 0px 0;
252
+ border-style: solid;
253
+ border-color: #40bac8 #35657a;
254
+ }
255
+ body div#sidekick div#sk_taskbar div.sk_toggles button#toggle_hotspots:hover,
256
+ body div#sidekick div#sk_taskbar div.sk_toggles button#toggle_drawer:hover {
257
+ background-color: #254757;
258
+ transition: none;
259
+ }
260
+ body div#sidekick div#sk_taskbar div.sk_toggles button#toggle_hotspots:hover:before,
261
+ body div#sidekick div#sk_taskbar div.sk_toggles button#toggle_drawer:hover:before {
262
+ border-color: #40bac8 #254757;
263
+ }
264
+ body div#sidekick div#sk_taskbar div.sk_toggles button#toggle_hotspots.on,
265
+ body div#sidekick div#sk_taskbar div.sk_toggles button#toggle_drawer.on {
266
+ background-color: #162a33;
267
+ border-color: #40bac8 #162a33;
268
+ }
269
+ body div#sidekick div#sk_taskbar div.sk_toggles button#toggle_hotspots.on:before,
270
+ body div#sidekick div#sk_taskbar div.sk_toggles button#toggle_drawer.on:before {
271
+ border-color: #40bac8 #162a33;
272
+ }
273
+ body div#sidekick div#sk_taskbar div.sk_toggles button#toggle_hotspots.on:hover,
274
+ body div#sidekick div#sk_taskbar div.sk_toggles button#toggle_drawer.on:hover {
275
+ background-color: #35657a;
276
+ }
277
+ body div#sidekick div#sk_taskbar div.sk_toggles button#toggle_hotspots.on:hover:before,
278
+ body div#sidekick div#sk_taskbar div.sk_toggles button#toggle_drawer.on:hover:before {
279
+ border-color: #40bac8 #35657a;
280
+ }
281
+ body div#sidekick div#sk_taskbar div.sk_toggles button#toggle_hotspots.on i,
282
+ body div#sidekick div#sk_taskbar div.sk_toggles button#toggle_drawer.on i {
283
+ background-position: -59px -696px;
284
+ }
285
+ body div#sidekick #sk_drawer {
286
+ background-color: #ffffff;
287
+ box-shadow: none;
288
+ }
289
+ body div#sidekick #sk_drawer h2 {
290
+ background-color: #162a33;
291
+ padding-left: 20px;
292
+ font-size: 27px;
293
+ text-transform: none;
294
+ }
295
+ body div#sidekick #sk_drawer ul.sk_bucketContainer li.heading {
296
+ background-color: #ffffff;
297
+ color: #40bac8;
298
+ border-bottom-color: #b5b5b5;
299
+ }
300
+ body div#sidekick #sk_drawer ul.sk_bucketContainer li.heading i {
301
+ background-image: url('../images/sprides_v13.png?v=1.3.4');
302
+ }
303
+ body div#sidekick #sk_drawer ul.sk_bucketContainer li.heading:hover {
304
+ background-color: #f3f3f3;
305
+ color: #40bac8;
306
+ }
307
+ body div#sidekick #sk_drawer ul.sk_bucketContainer li.heading:hover i {
308
+ background-image: url('../images/sprides_v13.png?v=1.3.4');
309
+ }
310
+ body div#sidekick #sk_drawer ul.sk_bucketContainer li.heading.goprev {
311
+ text-align: left;
312
+ }
313
+ body div#sidekick #sk_drawer ul.sk_bucketContainer li.heading.goprev span {
314
+ margin-left: 40px;
315
+ font-size: 18px;
316
+ }
317
+ body div#sidekick #sk_drawer ul.sk_bucketContainer li.heading.sub_bucket_heading span {
318
+ font-size: 14px;
319
+ }
320
+ body div#sidekick #sk_drawer ul.sk_bucketContainer li span {
321
+ font-size: 18px;
322
+ }
323
+ body div#sidekick #sk_drawer ul.sk_bucketContainer .walkthroughs li.sub_heading {
324
+ border-bottom-color: #b5b5b5;
325
+ margin: 0px;
326
+ }
327
+ body div#sidekick #sk_drawer ul.sk_bucketContainer .walkthroughs li.sub_heading span {
328
+ background-color: #b5b5b5;
329
+ margin-top: 10px;
330
+ display: inline-block;
331
+ margin-bottom: 0px;
332
+ padding-top: 2px;
333
+ font-size: 14px;
334
+ }
335
+ body div#sidekick #sk_drawer ul.sk_bucketContainer .walkthroughs .walkthrough .heading {
336
+ text-align: left;
337
+ }
338
+ body div#sidekick #sk_drawer ul.sk_bucketContainer .walkthroughs .walkthrough .heading span {
339
+ margin-left: 40px;
340
+ }
341
+ body div#sidekick #sk_drawer ul.sk_bucketContainer .walkthroughs .walkthrough .walkthroughs_inner a li.subscribed {
342
+ border-bottom: solid 1px #b5b5b5;
343
+ padding-top: 10px;
344
+ width: 100%;
345
+ }
346
+ body div#sidekick #sk_drawer ul.sk_bucketContainer .walkthroughs .walkthrough .walkthroughs_inner a li.subscribed span {
347
+ color: #40bac8;
348
+ }
349
+ body div#sidekick #sk_drawer ul.sk_bucketContainer .walkthroughs .walkthrough .walkthroughs_inner a li.subscribed:hover {
350
+ background-color: #f3f3f3;
351
+ color: #40bac8;
352
+ margin-left: 0px;
353
+ }
images/sprides_v12_wpe.png ADDED
Binary file
images/sprides_v13.png CHANGED
Binary file
js/sk.source.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! sidekick - v1.3.4 - 2014-06-05 */(function(jQuery, window){
2
 
3
  jQuery.fn.center = function () {
4
  this.css("position","absolute");
@@ -884,43 +884,73 @@ jQuery.fn.center = function () {
884
  };
885
 
886
  })(jQuery, window);;/*!
887
- * jQuery Cookie Plugin v1.3.0
888
  * https://github.com/carhartl/jquery-cookie
889
  *
890
  * Copyright 2013 Klaus Hartl
891
  * Released under the MIT license
892
  */
893
- (function ($, document, undefined) {
 
 
 
 
 
 
 
 
 
 
 
894
 
895
  var pluses = /\+/g;
896
 
897
- function raw(s) {
898
- return s;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
899
  }
900
 
901
- function decoded(s) {
902
- return decodeURIComponent(s.replace(pluses, ' '));
 
903
  }
904
 
905
  var config = $.cookie = function (key, value, options) {
906
 
907
- // write
908
- if (value !== undefined) {
909
- options = $.extend({}, config.defaults, options);
910
 
911
- if (value === null) {
912
- options.expires = -1;
913
- }
914
 
915
  if (typeof options.expires === 'number') {
916
  var days = options.expires, t = options.expires = new Date();
917
- t.setDate(t.getDate() + days);
918
  }
919
 
920
- value = config.json ? JSON.stringify(value) : String(value);
921
-
922
  return (document.cookie = [
923
- encodeURIComponent(key), '=', config.raw ? value : encodeURIComponent(value),
924
  options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
925
  options.path ? '; path=' + options.path : '',
926
  options.domain ? '; domain=' + options.domain : '',
@@ -928,31 +958,48 @@ jQuery.fn.center = function () {
928
  ].join(''));
929
  }
930
 
931
- // read
932
- var decode = config.raw ? raw : decoded;
933
- var cookies = document.cookie.split('; ');
 
 
 
 
 
 
934
  for (var i = 0, l = cookies.length; i < l; i++) {
935
  var parts = cookies[i].split('=');
936
- if (decode(parts.shift()) === key) {
937
- var cookie = decode(parts.join('='));
938
- return config.json ? JSON.parse(cookie) : cookie;
 
 
 
 
 
 
 
 
 
939
  }
940
  }
941
 
942
- return null;
943
  };
944
 
945
  config.defaults = {};
946
 
947
  $.removeCookie = function (key, options) {
948
- if ($.cookie(key) !== null) {
949
- $.cookie(key, null, options);
950
- return true;
951
  }
952
- return false;
 
 
 
953
  };
954
 
955
- })(jQuery, document);
956
  ;// Generated by CoffeeScript 1.6.3
957
  /*
958
  jQuery css-watch event Coffeescript
@@ -1887,11 +1934,13 @@ jQuery.extend( jQuery.easing,
1887
  show_toggle_feedback: true,
1888
  sk_debug: null,
1889
  qa_mode: false,
 
 
1890
  bucket_counts: []
1891
  },
1892
 
1893
  initialize: function(){
1894
- // console.group('%cinitialize: App Model %o', 'color:#3b4580', this);
1895
 
1896
  if ( $.browser.msie && $.browser.version < 9) {
1897
  console.error('This browser is not supported');
@@ -1902,7 +1951,7 @@ jQuery.extend( jQuery.easing,
1902
  SidekickWP.Events = _.extend({}, Backbone.Events);
1903
 
1904
  SidekickWP.Events.on("all", function(eventName){
1905
- // console.log('%cPLREVENT: [ %c' + eventName + '%c ] was triggered!','background-color: #fa62bf;color: white','color: yellow; background-color: #fa4339','background-color: #fa4339;color: white');
1906
  });
1907
 
1908
  Sidekick.Events.on('loaded_walkthrough',this.loaded_walkthrough,this);
@@ -1921,107 +1970,56 @@ jQuery.extend( jQuery.easing,
1921
  this.set('qa_mode',true);
1922
  }
1923
 
1924
- if ((typeof sk_free_library == 'undefined' || !sk_config.library_free_file) && (typeof sk_paid_library == 'undefined' || !sk_config.library_paid_file)) {
 
 
 
 
 
 
 
1925
  var msg = 'No Library Found!';
1926
- SidekickWP.Events.trigger('track_error',{msg: msg});
1927
-
1928
- console.error('Sidekick Library Not Found! -> %o',sk_config);
1929
-
1930
- if (typeof sk_free_library == 'undefined') {
1931
- console.log('sk_free_library %o', typeof sk_free_library);
1932
- } else {
1933
- console.log('sk_free_library %o', sk_free_library);
1934
- }
1935
-
1936
- if (typeof sk_paid_library == 'undefined') {
1937
- console.log('sk_paid_library %o', typeof sk_paid_library);
1938
- } else {
1939
- console.log('sk_paid_library %o', sk_paid_library);
1940
- }
1941
-
1942
- console.log('typeof sk_free_library %o', typeof sk_free_library);
1943
- console.log('sk_config.library_free_file %o', !sk_config.library_free_file);
1944
- console.log('typeof sk_paid_library %o', typeof sk_paid_library);
1945
- console.log('sk_config.library_paid_file %o', !sk_config.library_paid_file);
1946
 
1947
- return;
1948
- } else {
1949
- if(typeof sk_paid_library !== 'undefined' && _.size(sk_paid_library.buckets) > 0){
1950
- console.groupCollapsed('%cFOUND sk_paid_library %o', 'background-color: #51fa3d; color black;',sk_paid_library);
1951
-
1952
- sk_config.site_url = sk_config.site_url.replace('www.','');
1953
- var paid_library_domain = sk_paid_library.domain_name;
1954
- paid_library_domain = paid_library_domain.replace('www.','');
1955
-
1956
- if (paid_library_domain.indexOf(',') > -1) {
1957
- var paid_library_domains = paid_library_domain.split(',');
1958
- _.each(paid_library_domains,function(item){
1959
- if (item) {
1960
- item = item.replace('www.','');
1961
-
1962
- if (sk_config.site_url == item.trim()) {
1963
- matched_domain = item;
1964
- console.log('%cMATCHED DOMAIN %o == %o', 'background-color: #51fa3d;color: black',sk_config.site_url,item);
1965
- } else {
1966
- console.log('%cCHECK DOMAIN %o == %o', 'background-color: #c12029;color: white',sk_config.site_url,item);
1967
- }
1968
- }
1969
- });
1970
- } else {
1971
- if (sk_config.site_url == paid_library_domain) {
1972
- matched_domain = item;
1973
- }
1974
- }
1975
  console.groupEnd();
1976
- } else {
1977
- console.log('%cNO paid library','background-color: #c12029;color: white');
1978
- sk_config.activation_id = 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxfree';
1979
- if (typeof sk_free_library == 'undefined' || !sk_config.library_free_file){
1980
- console.error('Paid Library didn\'t match domain and no free library');
1981
- return false;
1982
- }
1983
  }
1984
- }
1985
 
1986
- if (matched_domain || sk_config.site_url === 'local.sidekick.pro') {
1987
- this.set('full_library',sk_paid_library);
1988
- this.set('paid_library',sk_paid_library);
1989
- console.info('%cPaid Library for %s -> ' + sk_config.library_paid_file + ' (%o)', 'background-color: #51fa3d; color black;',matched_domain,sk_paid_library);
1990
- } else {
1991
- this.set('full_library',sk_free_library);
1992
- console.info('%cFree Library -> ' + sk_config.library_free_file + ' (%o)', 'background-color: #facf42; color black;',sk_free_library);
1993
  }
1994
 
1995
  if (typeof sk_config.just_activated != 'undefined')
1996
  SidekickWP.Events.trigger('window_activate');
1997
 
1998
- if (typeof sk_config.main_soft_version === 'undefined') {
1999
- console.error('No WP Version?!?');
2000
- return false;
2001
- }
2002
-
2003
- if (typeof sk_config.main_soft_version != 'undefined') this.set('main_soft_version',sk_config.main_soft_version);
2004
- if (typeof sk_config.installed_plugins != 'undefined') this.set('installed_plugins',sk_config.installed_plugins);
2005
-
2006
- if (sk_config.track_data === true) console.log("Can't Track User Data!");
2007
 
2008
  this.set('current_url',window.location.toString());
2009
 
2010
- var http = 'http';
2011
- if (window.location.toString().indexOf('https') > -1) {
2012
- http = 'https';
2013
- }
2014
-
2015
- this.views = {};
2016
  this.check_library();
2017
  this.filter_walkthroughs();
2018
 
2019
  this.views.app = new SidekickWP.Views.App({model: this, el: $("body")});
2020
 
 
 
 
 
 
 
2021
  if (sk_config.show_login === true) {
2022
  SidekickWP.Events.trigger('open_sidekick_drawer');
2023
  }
2024
- // console.groupEnd();
 
2025
  },
2026
 
2027
  screen_activate: function(){
@@ -2049,17 +2047,10 @@ jQuery.extend( jQuery.easing,
2049
 
2050
  console.log('filter_walkthroughs library.buckets %o', library.buckets);
2051
 
2052
-
2053
  _.each(library.buckets,function(item,key){
2054
  // Delete root bucket if no sub buckets
2055
  this.check_delete_empty_sub_buckets_recrusive(item);
2056
 
2057
- console.log('key %o', key);
2058
-
2059
- console.log('_.size(library.buckets[key].sub_buckets) %o', _.size(library.buckets[key].sub_buckets));
2060
-
2061
- console.log('library.buckets[key].sub_buckets %o', library.buckets[key].sub_buckets);
2062
-
2063
  if (_.size(library.buckets[key].sub_buckets) === 0 && _.size(library.buckets[key].walkthroughs) === 0) {
2064
  console.log('%cDELETE ROOT BUCKET -> %o(%o)','color: red',key,library.buckets[key]);
2065
  delete(library.buckets[key]);
@@ -2249,17 +2240,38 @@ jQuery.extend( jQuery.easing,
2249
  for ( var rule in walkthrough.display_rules){
2250
  var rule_data = walkthrough.display_rules[rule];
2251
 
2252
- if (!isNaN(rule_data.value)) {
2253
- rule_data.value = parseInt(rule_data.value,10);
2254
- }
2255
 
2256
- if (!isNaN(sk_config[rule_data.variable])) {
 
2257
  sk_config[rule_data.variable] = parseInt(sk_config[rule_data.variable],10);
2258
  }
2259
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2260
  if (rule_data.operator.toLowerCase() === 'equals') {
2261
  if (!(sk_config[rule_data.variable] === rule_data.value)) {
2262
- console.log('%cFAILED Custom Rule [%s] %s === %s','color: red',rule_data.operator.toLowerCase(),rule_data.variable, rule_data.value);
2263
  console.log('sk_config[rule_data.variable] %o', sk_config[rule_data.variable]);
2264
  console.log('rule_data.value %o', rule_data.value);
2265
  console.log('sk_config[rule_data.variable] !== rule_data.value %o', sk_config[rule_data.variable] !== rule_data.value);
@@ -2268,7 +2280,7 @@ jQuery.extend( jQuery.easing,
2268
  }
2269
  } else if (rule_data.operator.toLowerCase() === 'not equal to') {
2270
  if (!(sk_config[rule_data.variable] !== rule_data.value)) {
2271
- console.log('%cFAILED Custom Rule [%s] %s !== %s','color: red',rule_data.operator.toLowerCase(),rule_data.variable, rule_data.value);
2272
  console.log('sk_config[rule_data.variable] %o', sk_config[rule_data.variable]);
2273
  console.log('rule_data.value %o', rule_data.value);
2274
  console.log('sk_config[rule_data.variable] === rule_data.value %o', sk_config[rule_data.variable] === rule_data.value);
@@ -2277,11 +2289,12 @@ jQuery.extend( jQuery.easing,
2277
  }
2278
  } else if (rule_data.operator.toLowerCase() === 'greater then') {
2279
  if (isNaN(sk_config[rule_data.variable]) || isNaN(rule_data.value)) {
2280
- console.log('%cFAILED Custom Rule [%s] Can\'t compare non integers %s > %s','color: red',rule_data.operator.toLowerCase(),rule_data.variable, rule_data.value);
 
2281
  return false;
2282
  }
2283
  if (!(sk_config[rule_data.variable] > rule_data.value)) {
2284
- console.group('%cFAILED Custom Rule [%s] %s > %s','color: red',rule_data.operator.toLowerCase(),rule_data.variable, rule_data.value);
2285
  console.log('sk_config[rule_data.variable] %o', sk_config[rule_data.variable]);
2286
  console.log('rule_data.value %o', rule_data.value);
2287
  console.log('sk_config[rule_data.variable] > rule_data.value %o', sk_config[rule_data.variable] > rule_data.value);
@@ -2290,11 +2303,12 @@ jQuery.extend( jQuery.easing,
2290
  }
2291
  } else if (rule_data.operator.toLowerCase() === 'less then') {
2292
  if (isNaN(sk_config[rule_data.variable]) || isNaN(rule_data.value)) {
2293
- console.log('%cFAILED Custom Rule [%s] Can\'t compare non integers %s > %s','color: red',rule_data.operator.toLowerCase(),rule_data.variable, rule_data.value);
 
2294
  return false;
2295
  }
2296
  if (!(sk_config[rule_data.variable] < rule_data.value)) {
2297
- console.log('%cFAILED Custom Rule [%s] %s < %s','color: red',rule_data.operator.toLowerCase(),rule_data.variable, rule_data.value);
2298
  console.log('sk_config[rule_data.variable] %o', sk_config[rule_data.variable]);
2299
  console.log('rule_data.value %o', rule_data.value);
2300
  console.log('sk_config[rule_data.variable] < rule_data.value %o', sk_config[rule_data.variable] < rule_data.value);
@@ -2303,7 +2317,7 @@ jQuery.extend( jQuery.easing,
2303
  }
2304
  } else if (rule_data.operator.toLowerCase() === 'contains') {
2305
  if (typeof sk_config[rule_data.variable] === 'undefined' || sk_config[rule_data.variable].indexOf(rule_data.value) === -1) {
2306
- console.log('%cFAILED Custom Rule [%s] %s < %s','color: red',rule_data.operator.toLowerCase(),rule_data.variable, rule_data.value);
2307
  console.log('sk_config[rule_data.variable] %o', sk_config[rule_data.variable]);
2308
  console.log('rule_data.value %o', rule_data.value);
2309
  console.log('sk_config[rule_data.variable] < rule_data.value %o', sk_config[rule_data.variable] < rule_data.value);
@@ -2313,10 +2327,11 @@ jQuery.extend( jQuery.easing,
2313
  page_related_walkthrough = true;
2314
  }
2315
  } else {
2316
- console.log('%cFAILED Unrecognized Rule [%s] %s < %s','color: red',rule_data.operator.toLowerCase(),rule_data.variable, rule_data.value);
 
2317
  return false;
2318
  }
2319
- console.group('%cPASSED Custom Rule %s %s %s','color: #3ab00b',rule_data.variable, sk_config[rule_data.variable], rule_data.operator.toLowerCase(), rule_data.value);
2320
  console.log('sk_config[rule_data.variable] %o', sk_config[rule_data.variable]);
2321
  console.log('rule_data.value %o', rule_data.value);
2322
  console.log('sk_config[rule_data.variable] %s rule_data.value %o', rule_data.operator, sk_config[rule_data.variable] < rule_data.value);
@@ -2347,6 +2362,18 @@ jQuery.extend( jQuery.easing,
2347
  return true;
2348
  },
2349
 
 
 
 
 
 
 
 
 
 
 
 
 
2350
  check_library: function(){
2351
  if (!this.get('full_library')) {
2352
  console.error("WPU Library Not Found!");
@@ -2363,6 +2390,10 @@ jQuery.extend( jQuery.easing,
2363
  this.set('last_loaded_walkthrough',walkthrough_model);
2364
  },
2365
 
 
 
 
 
2366
  activate_controls: function(){
2367
  console.log('activate_controls');
2368
  $('div#sidekick').addClass('playing');
@@ -2372,6 +2403,14 @@ jQuery.extend( jQuery.easing,
2372
  $('div#sidekick').removeClass('playing');
2373
  },
2374
 
 
 
 
 
 
 
 
 
2375
  show_msg: function(data,context){
2376
  // console.log('show_msg %o',arguments);
2377
  new SidekickWP.Models.Message({title: data.title, message: data.msg});
@@ -2387,13 +2426,83 @@ jQuery.extend( jQuery.easing,
2387
 
2388
  SidekickWP.Models.BucketContainer = Backbone.Model.extend({
2389
  defaults: {
2390
- navigation_history: ['buckets']
 
 
 
2391
  },
2392
 
2393
  initialize: function(){
2394
  this.view = new SidekickWP.Views.BucketContainer({model: this});
2395
  return this;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2396
  }
 
 
2397
  });
2398
 
2399
  }(jQuery));;(function($) {
@@ -2518,8 +2627,10 @@ jQuery.extend( jQuery.easing,
2518
  http = 'https';
2519
  }
2520
 
2521
- // console.log('WP: send tracking to WPU',data);
2522
- $.post(http + "://library.sidekick.pro/wp-admin/admin-ajax.php", data);
 
 
2523
  },
2524
 
2525
  track_explore: function(data){
@@ -2570,23 +2681,33 @@ jQuery.extend( jQuery.easing,
2570
 
2571
  }(jQuery));;(function($) {
2572
  SidekickWP.Views.App = Backbone.View.extend({
 
2573
  initialize: function(){
2574
- SidekickWP.Events.on('toggle_sidekick_drawer', this.toggle_sidekick_drawer, this);
2575
- SidekickWP.Events.on('close_sidekick_drawer', this.close_sidekick_drawer, this);
2576
- SidekickWP.Events.on('open_sidekick_drawer', this.open_sidekick_drawer, this);
2577
- SidekickWP.Events.on('resize_sidekick_drawer', this.resize_sidekick_drawer, this);
2578
- SidekickWP.Events.on('toggle_hotspots', this.toggle_hotspots, this);
2579
- SidekickWP.Events.on('toggle_preferences', this.toggle_preferences, this);
2580
- SidekickWP.Events.on('window_resize', this.check_sidebar_minifiy, this);
2581
- SidekickWP.Events.on('size_drawer', this.size_drawer, this);
 
 
 
 
 
 
 
 
2582
 
2583
  Sidekick.Events.on('show_click_warning', this.show_click_warning, this);
2584
  Sidekick.Events.on('track_play', this.check_sidebar_minifiy, this);
2585
- Sidekick.Events.on('track_play', this.toggle_sidekick_drawer,'hide');
2586
  Sidekick.Events.on('track_stop', this.open_sidekick_drawer);
2587
  Sidekick.Events.on('track_play', this.remove_hotspots,this);
2588
  Sidekick.Events.on('track_stop', this.draw_hotspots,this);
2589
  Sidekick.Events.on('nextStep', this.update_debugger);
 
2590
 
2591
  return this.render();
2592
  },
@@ -2594,9 +2715,13 @@ jQuery.extend( jQuery.easing,
2594
  render: function(){
2595
  console.groupCollapsed('%crender: SidekickWP: appView %o', 'color:#8fa2ff', this);
2596
 
 
 
 
2597
  this.BucketContainer = new SidekickWP.Models.BucketContainer({
2598
  full_library: this.model.get('full_library'),
2599
- passed_current_page_walkthroughs: this.model.get('passed_current_page_walkthroughs')
 
2600
  });
2601
 
2602
  if (_.size(this.model.get('full_library').buckets) > 0) {
@@ -2606,14 +2731,27 @@ jQuery.extend( jQuery.easing,
2606
  SidekickWP.Events.trigger('show_msg',{title: "No Walkthroughs", msg: "We're sorry but it looks like there are no walkthroughs compatible with your version of software."},this.model);
2607
  }
2608
 
 
 
 
 
 
 
 
 
 
 
 
 
2609
  var template = _.template( SidekickWP.Templates.App, {
2610
- sidekick_title: (typeof sk_config.sidekick_title !== 'undefined') ? sk_config.sidekick_title : '',
2611
- drawer_title: (typeof sk_config.drawer_title !== 'undefined') ? sk_config.drawer_title : 'Walkthroughs',
2612
- show_powered_by: (typeof sk_config.show_powered_by !== 'undefined') ? sk_config.show_powered_by : '',
2613
- sk_debug: this.model.get('sk_debug'),
2614
- BucketContainer: BucketContainer,
2615
- paid_library: this.model.get('paid_library'),
2616
- hotspots: $.cookie('sidekick_hotspots')
 
2617
  });
2618
  this.$el.append( template );
2619
 
@@ -2626,8 +2764,6 @@ jQuery.extend( jQuery.easing,
2626
  // this.toggle_sidekick_window();
2627
  this.draw_hotspots();
2628
 
2629
- var currentDebugMode = $.cookie('sidekick_debug_mode');
2630
-
2631
  $(document).bind('keypress.sidekickwp',{context: this}, function(e){
2632
  // console.log('e %o', e);
2633
  // console.log('e.keyCode %o', e.keyCode);
@@ -2666,10 +2802,13 @@ jQuery.extend( jQuery.easing,
2666
  $('.sk_debug').show();
2667
  }
2668
 
2669
- // if (sk_config.open_bucket) {
2670
- // SidekickWP.Events.trigger('open_sidekick_drawer');
2671
- // $('[data-open_bucket="' + sk_config.open_bucket + '"],[data-open_walkthroughs="' + sk_config.open_bucket + '"]').trigger('click');
2672
- // }
 
 
 
2673
 
2674
  $(window).resize(_.debounce(function(){
2675
  SidekickWP.Events.trigger('resize_sidekick_drawer');
@@ -2689,13 +2828,39 @@ jQuery.extend( jQuery.easing,
2689
  "click #toggle_hotspots": "toggle_hotspots",
2690
  "click #toggle_preferences": "toggle_preferences",
2691
  "click #toggle_feedback": "show_feedback",
 
2692
  "click #close_sidekick": "close_sidekick_window",
2693
  "click #sk_upgrade button": "screen_activate"
2694
  },
2695
 
2696
- update_debugger: function(){
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2697
 
 
2698
  $('#sidekick .step_count').html('Current Step: ' + sidekick.walkthroughModel.get('currentStep') + '/' + _.size(sidekick.walkthroughModel.get('steps')));
 
2699
  },
2700
 
2701
  screen_activate: function(){
@@ -2704,10 +2869,10 @@ jQuery.extend( jQuery.easing,
2704
 
2705
  show_click_warning: function(){
2706
  $('#sidekick #click_warning').remove();
2707
- $('#sidekick').append('<div id="click_warning"><h3></h3><span>Clicks are restricted during Walkthroughs. Stop the Walkthrough to navigate normally.</span></div>')
2708
  .find('#click_warning')
2709
  .addClass('show')
2710
- .wait(3000)
2711
  .removeClass('show');
2712
  },
2713
 
@@ -2716,17 +2881,7 @@ jQuery.extend( jQuery.easing,
2716
  var playing = $('#sidekick').hasClass('playing');
2717
  if (width < 784 && playing) {
2718
  $('.sidekick_stop').trigger('click');
2719
-
2720
- Sidekick.Events.trigger('show_modal',{
2721
- error_id: 1,
2722
- title: 'ERROR',
2723
- msg: 'Sidekick requires a larger window to run properly.',
2724
-
2725
- button1: {
2726
- title: 'Ok',
2727
- onclick: "javascript:jQuery(\'#sk_lightbox .close\').trigger(\'click\');javascript:jQuery(\'.sidekick_play_pause\').trigger(\'click\')"
2728
- }
2729
- });
2730
  }
2731
 
2732
  if ('body.sticky-menu') {
@@ -2784,18 +2939,24 @@ jQuery.extend( jQuery.easing,
2784
  // console.log('toggle_sidekick_drawer %o | %o | %o', force,$('#sk_drawer').height(),$('div#sidekick').hasClass('open'));
2785
 
2786
  if ($('#sk_drawer').height() > 0 || force == 'hide' || !$('div#sidekick').hasClass('open')) {
2787
- // $('.sk_hotspot').hide();
2788
  SidekickWP.Events.trigger('close_sidekick_drawer');
2789
  } else {
2790
  SidekickWP.Events.trigger('open_sidekick_drawer');
2791
  }
2792
  },
2793
 
 
 
 
 
 
 
 
2794
  close_sidekick_drawer: function(){
2795
  console.log('Closing Drawer');
2796
- $('div#sidekick').addClass('drawer_closed').removeClass('drawer_open');
2797
  $('div#sidekick #toggle_drawer').removeClass('on');
2798
- $('#sk_drawer .sk_bucketContainer,#sk_drawer').css({
2799
  height: 0,
2800
  transition: 'height 0.3s ease-in-out'
2801
  });
@@ -2803,9 +2964,13 @@ jQuery.extend( jQuery.easing,
2803
 
2804
  open_sidekick_drawer: function(){
2805
  console.log('Open Drawer');
2806
-
2807
- $('div#sidekick').addClass('drawer_open').removeClass('drawer_closed');
2808
  $('.sk_hotspot').show();
 
 
 
 
 
 
2809
  SidekickWP.Events.trigger('size_drawer');
2810
  },
2811
 
@@ -2814,13 +2979,18 @@ jQuery.extend( jQuery.easing,
2814
  if (window_height > 900) {
2815
  window_height = 900;
2816
  }
2817
- var sk_drawer_height = window_height - 80;
2818
  var sk_bucketContainer_height = sk_drawer_height - 56;
 
 
2819
  if ($('#sk_upgrade').length > 0) {
 
2820
  sk_bucketContainer_height -= $('#sk_upgrade').height();
2821
  }
2822
- var sub_bucket_height = window_height - 137;
2823
- var sub_bucket_inner_height = sub_bucket_height - $('#sk_upgrade').height() - 58;
 
 
2824
 
2825
  $('div#sidekick').addClass('open');
2826
  $('div#sidekick .sk_caption').removeClass('show');
@@ -2837,32 +3007,69 @@ jQuery.extend( jQuery.easing,
2837
  maxHeight: sub_bucket_height,
2838
  transition: 'all 0.3s ease-in-out'
2839
  });
 
2840
  $('#sk_drawer .sub_bucket_inner').css({
2841
  height: sub_bucket_inner_height
2842
  });
 
 
 
 
 
 
 
 
 
 
 
2843
  },
2844
 
2845
  toggle_sidekick_window: function(e){
 
2846
  console.log('toggle_sidekick_window');
2847
 
 
 
 
 
 
2848
  if ($('div#sidekick').hasClass('open')) {
2849
- // console.log('Closing Sidekick Window');
2850
- SidekickWP.Events.trigger('close_sidekick_drawer');
2851
- $('div#sidekick').wait(500).removeClass('open');
 
2852
  } else {
2853
- SidekickWP.Events.trigger('track_explore',{what:'Sidekick - Open'});
2854
- // console.log('Showing Sidekick Window');
2855
- $('div#sidekick').addClass('open').wait(500,function(e){
2856
- SidekickWP.Events.trigger('open_sidekick_drawer');
2857
- });
2858
  }
2859
  },
2860
 
 
 
 
 
 
 
 
2861
  close_sidekick_window: function(e){
2862
- // console.log('close_sidekick_window');
2863
  if ($('div#sidekick').hasClass('open')) {
2864
- SidekickWP.Events.trigger('toggle_sidekick_drawer');
2865
- $('div#sidekick').wait(500).removeClass('open');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2866
  }
2867
  },
2868
 
@@ -2924,17 +3131,26 @@ jQuery.extend( jQuery.easing,
2924
  if (url.indexOf(hotspot_data.url) > -1) {
2925
  selectors = hotspot_data.selector;
2926
 
2927
- if ($(selectors).length == 1 && $(selectors).is(':visible')) {
2928
- console.log('hotspot selectors-1 %o', selectors);
2929
- count++;
2930
- } else if ($(selectors).length > 1){
2931
- _.each($(selectors),function(item,key){
2932
- if ($(item).length && $(item).is(':visible')) {
2933
- console.log('hotspot selectors-2 %o', item);
2934
- count++;
2935
- }
2936
- });
 
 
 
 
 
 
 
2937
  }
 
 
2938
  }
2939
  }
2940
 
@@ -2975,7 +3191,8 @@ jQuery.extend( jQuery.easing,
2975
  at: selector_x + " " + selector_y,
2976
  my: hotspot_x + hotspot_x_padding + " " + hotspot_y + hotspot_y_padding,
2977
  of: $(selectors)
2978
- }).css({zIndex: $(selectors).css('zIndex')});
 
2979
 
2980
  $(selectors).data('sk_hotspot','.sk_hotspot_' + hotspot);
2981
 
@@ -3018,7 +3235,8 @@ jQuery.extend( jQuery.easing,
3018
  at: selector_x + " " + selector_y,
3019
  my: hotspot_x + hotspot_x_padding + " " + hotspot_y + hotspot_y_padding,
3020
  of: item
3021
- }).css({zIndex: $(item).css('zIndex')});
 
3022
 
3023
  $('.sk_hotspot').wait(20*count).addClass('visible');
3024
  });
@@ -3047,76 +3265,65 @@ jQuery.extend( jQuery.easing,
3047
  },
3048
 
3049
  render: function(){
3050
- // console.group('%crender: render: bucketContainerView %o', 'color:#8fa2ff', this);
3051
 
3052
  this.bucket = new SidekickWP.Models.Bucket({
3053
  title: this.model.get('title'),
3054
  full_library: this.model.get('full_library'),
3055
- passed_current_page_walkthroughs: this.model.get('passed_current_page_walkthroughs')
 
3056
  });
3057
  this.$el.append(this.bucket.view.render().el);
3058
- // console.groupEnd();
 
3059
  return this;
3060
  },
3061
 
3062
  clicked_bucket: function(e){
3063
- console.log('clicked_bucket',e);
3064
-
3065
 
3066
- var navigation_history = this.model.get('navigation_history');
3067
- // $('#sk_drawer>h2 span').html('Walkthroughs');
3068
 
3069
  if ($(e).hasClass('goprev')) {
3070
- // console.log('Go Back');
3071
- $('.show').removeClass('show').wait(2000).parent().remove();
3072
- navigation_history.pop();
3073
- var goto_bucket = navigation_history[navigation_history.length-1];
3074
- if (goto_bucket == 'buckets') {
3075
- $('[data-bucket_id="' + goto_bucket + '"]').removeClass('hide').addClass('show');
3076
- } else {
3077
- $('ul.sub_bucket[data-bucket_id="' + goto_bucket + '"]').removeClass('hide').addClass('show');
3078
- }
3079
-
3080
- } else if ($(e).data('open_bucket')){
3081
- // console.log('Showing Bucket %o',$(e).data('open_bucket'));
3082
- // console.log('$(e).closest(.show) %o', $(e).closest('.show'));
3083
-
3084
- SidekickWP.Events.trigger('track_explore',{what:'Bucket - ' + $('span',e).html(), id: $(e).data('open_bucket') });
3085
-
3086
- $(e).closest('.show').removeClass('show').addClass('hide');
3087
-
3088
-
3089
- this.draw_bucket($(e).data('open_bucket'));
3090
-
3091
-
3092
- SidekickWP.Events.trigger('resize_sidekick_drawer');
3093
 
 
3094
 
3095
- $('ul.sub_bucket[data-bucket_id="' + $(e).data('open_bucket') + '"]').wait(10).addClass('show');
 
 
3096
 
3097
- navigation_history.push($(e).data('open_bucket'));
 
3098
  } else {
3099
- // console.log('Showing Walkthroughs %o',$(e).data('open_walkthroughs'));
3100
- // console.log('$(e).parent() %o', $(e).parent());
3101
-
3102
- SidekickWP.Events.trigger('track_explore',{what:'Bucket - ' + $('span',e).html(), id: $(e).data('open_walkthroughs') });
3103
-
3104
- // $('#sk_drawer>h2 span').html('How Do I...');
3105
-
3106
- $(e).closest('.show').removeClass('show').addClass('hide');
3107
 
3108
- this.draw_walkthroughs($(e).data('open_walkthroughs'));
3109
- $('ul.walkthrough[data-bucket_id="' + $(e).data('open_walkthroughs') + '"]').wait(10).addClass('show');
3110
 
3111
- navigation_history.push($(e).data('open_bucket'));
3112
- }
3113
  this.setup_events();
3114
- this.model.set('navigation_history',navigation_history);
 
 
 
 
 
 
 
 
3115
  },
3116
 
3117
  find_bucket_by_id: function(data,key,match){
3118
  if (data[key] == match) {
3119
- // console.log('%cfound %o','color: green',data);
3120
  return data;
3121
  }
3122
 
@@ -3128,7 +3335,7 @@ jQuery.extend( jQuery.easing,
3128
  }
3129
  }
3130
  } else {
3131
- // console.log('%cnot found','color: red');
3132
  return;
3133
  }
3134
  },
@@ -3143,23 +3350,48 @@ jQuery.extend( jQuery.easing,
3143
  return false;
3144
  },
3145
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3146
  draw_bucket: function(bucket_id){
3147
  console.info('draw_bucket %o', bucket_id);
3148
  var full_library = this.model.get('full_library');
3149
  var bucket_data = this.find_bucket_by_id_rec(full_library.buckets,'id',bucket_id);
3150
 
3151
  var variables = {
3152
- bucket_id: bucket_id,
3153
- bucket_title: bucket_data.post_title,
3154
- bucket_data: bucket_data,
3155
- full_library: full_library
3156
  };
3157
-
3158
  var template = _.template( SidekickWP.Templates.SubBucket, variables );
3159
-
3160
- // console.log('draw_bucket variables %o', variables);
3161
- // console.log('template %o', template);
3162
-
3163
  $('.sk_bucketContainer>div').append(template);
3164
  },
3165
 
@@ -3176,8 +3408,6 @@ jQuery.extend( jQuery.easing,
3176
  };
3177
 
3178
  var template = _.template( SidekickWP.Templates.Walkthroughs, variables );
3179
- // console.log('template %o', template);
3180
-
3181
  $('.sk_bucketContainer>div').append(template);
3182
  },
3183
 
@@ -3190,6 +3420,15 @@ jQuery.extend( jQuery.easing,
3190
  $('a.sidekick_play_walkthrough').unbind('click').click({context:this},function(e){
3191
  SidekickWP.Events.trigger('close_sidekick_window');
3192
  });
 
 
 
 
 
 
 
 
 
3193
  // SidekickWP.Helpers.preventScrolling();
3194
  }
3195
  });
@@ -3376,10 +3615,8 @@ jQuery.extend( jQuery.easing,
3376
 
3377
  });
3378
 
3379
- }(jQuery));;_.templateSettings.interpolate = /\{\{(.*?)\}\}/;
3380
-
3381
- SidekickWP.Templates.App = [
3382
- "<div id='sidekick' class='sidekick_player'>",
3383
  "<div id='sk_taskbar'>",
3384
  "<div id='logo'><% print(sidekick_title) %></div>",
3385
  "<button class='sk_toggle'></button>",
@@ -3397,6 +3634,7 @@ SidekickWP.Templates.App = [
3397
  "<div class='sk_toggles'>",
3398
  // "<% console.log('hotspots %o',hotspots);%>",
3399
  "<button id='toggle_hotspots' <% if (hotspots === '1' || typeof hotspots === 'undefined'){%>class='on'<% } %> alt='Number of hotspots'>0</button>",
 
3400
  "<button id='toggle_feedback'></button>",
3401
  "<button id='toggle_preferences'></button>",
3402
  "<button id='toggle_drawer'><i></i></button>",
@@ -3449,7 +3687,7 @@ SidekickWP.Templates.Bucket = [
3449
  "<% } %>",
3450
  "<% first_drawn = true %>",
3451
  "<% } %>",
3452
- "<a href='javascript: <% if (walkthrough.subscribed) { %> sidekick.play(<% print(walkthrough.id) %>) <% } else { %> sidekick.upgrade() <% } %>'><li class='overview <% if (walkthrough.subscribed){ %>subscribed<% } %>'><span><% print(walkthrough.title) %></span></li></a>",
3453
  "<% } %>",
3454
  "<% }); %>",
3455
  "<% var first_drawn = false; %>",
@@ -3463,7 +3701,7 @@ SidekickWP.Templates.Bucket = [
3463
  "<% } %>",
3464
  "<% first_drawn = true %>",
3465
  "<% } %>",
3466
- "<a href='javascript: <% if (walkthrough.subscribed) { %> sidekick.play(<% print(walkthrough.id) %>) <% } else { %> sidekick.upgrade() <% } %>'><li class='how <% if (walkthrough.subscribed){ %>subscribed<% } %>'><span><% print(walkthrough.title) %></span></li></a>",
3467
  "<% } %>",
3468
  "<% }); %>",
3469
  "</ul>",
@@ -3476,6 +3714,28 @@ SidekickWP.Templates.Bucket = [
3476
  "</ul>"
3477
  ].join("");
3478
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3479
  SidekickWP.Templates.SubBucket = [
3480
  "<ul class='sub_buckets'>",
3481
  "<ul class='sub_bucket' data-bucket_id='<% print(bucket_id) %>'>",
@@ -3572,12 +3832,46 @@ SidekickWP.Templates.User = [
3572
  "<% } %>"
3573
  ].join("");
3574
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3575
  SidekickWP.Templates.Walkthroughs = [
3576
  "<ul class='walkthroughs'>",
3577
  "<ul class='walkthrough' data-bucket_id='<% print(bucket_id) %>'>",
3578
  "<li class='heading goprev'><span><% print(bucket_data.post_title) %></span><i></i></li>",
3579
  "<ul class='walkthroughs_inner' data-bucket_id='<% print(bucket_id) %>'>",
3580
- "<% console.log('bucket_data %',bucket_data); %>",
3581
  "<% var first_drawn = false; %>",
3582
  "<% _.each(bucket_data.walkthroughs, function(walkthrough, walkthrough_key){ %>",
3583
  "<% if (walkthrough.type == 'overview'){ %>",
@@ -3589,7 +3883,7 @@ SidekickWP.Templates.Walkthroughs = [
3589
  "<% } %>",
3590
  "<% first_drawn = true %>",
3591
  "<% } %>",
3592
- "<a href='javascript: <% if (walkthrough.subscribed) { %> sidekick.play(<% print(walkthrough.id) %>) <% } else { %> sidekick.upgrade() <% } %>'><li class='overview <% if (walkthrough.subscribed){ %>subscribed<% } %>'><span><% print(walkthrough.title) %></span></li></a>",
3593
  "<% } %>",
3594
  "<% }); %>",
3595
  "<% var first_drawn = false; %>",
@@ -3603,7 +3897,7 @@ SidekickWP.Templates.Walkthroughs = [
3603
  "<% } %>",
3604
  "<% first_drawn = true %>",
3605
  "<% } %>",
3606
- "<a href='javascript: <% if (walkthrough.subscribed) { %> sidekick.play(<% print(walkthrough.id) %>) <% } else { %> sidekick.upgrade() <% } %>'><li class='how <% if (walkthrough.subscribed){ %>subscribed<% } %>'><span><% print(walkthrough.title) %></span></li></a>",
3607
  "<% } %>",
3608
  "<% }); %>",
3609
  "</ul>",
1
+ /*! sidekick - v1.3.6 - 2014-07-21 */(function(jQuery, window){
2
 
3
  jQuery.fn.center = function () {
4
  this.css("position","absolute");
884
  };
885
 
886
  })(jQuery, window);;/*!
887
+ * jQuery Cookie Plugin v1.4.1
888
  * https://github.com/carhartl/jquery-cookie
889
  *
890
  * Copyright 2013 Klaus Hartl
891
  * Released under the MIT license
892
  */
893
+ (function (factory) {
894
+ if (typeof define === 'function' && define.amd) {
895
+ // AMD
896
+ define(['jquery'], factory);
897
+ } else if (typeof exports === 'object') {
898
+ // CommonJS
899
+ factory(require('jquery'));
900
+ } else {
901
+ // Browser globals
902
+ factory(jQuery);
903
+ }
904
+ }(function ($) {
905
 
906
  var pluses = /\+/g;
907
 
908
+ function encode(s) {
909
+ return config.raw ? s : encodeURIComponent(s);
910
+ }
911
+
912
+ function decode(s) {
913
+ return config.raw ? s : decodeURIComponent(s);
914
+ }
915
+
916
+ function stringifyCookieValue(value) {
917
+ return encode(config.json ? JSON.stringify(value) : String(value));
918
+ }
919
+
920
+ function parseCookieValue(s) {
921
+ if (s.indexOf('"') === 0) {
922
+ // This is a quoted cookie as according to RFC2068, unescape...
923
+ s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\');
924
+ }
925
+
926
+ try {
927
+ // Replace server-side written pluses with spaces.
928
+ // If we can't decode the cookie, ignore it, it's unusable.
929
+ // If we can't parse the cookie, ignore it, it's unusable.
930
+ s = decodeURIComponent(s.replace(pluses, ' '));
931
+ return config.json ? JSON.parse(s) : s;
932
+ } catch(e) {}
933
  }
934
 
935
+ function read(s, converter) {
936
+ var value = config.raw ? s : parseCookieValue(s);
937
+ return $.isFunction(converter) ? converter(value) : value;
938
  }
939
 
940
  var config = $.cookie = function (key, value, options) {
941
 
942
+ // Write
 
 
943
 
944
+ if (value !== undefined && !$.isFunction(value)) {
945
+ options = $.extend({}, config.defaults, options);
 
946
 
947
  if (typeof options.expires === 'number') {
948
  var days = options.expires, t = options.expires = new Date();
949
+ t.setTime(+t + days * 864e+5);
950
  }
951
 
 
 
952
  return (document.cookie = [
953
+ encode(key), '=', stringifyCookieValue(value),
954
  options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
955
  options.path ? '; path=' + options.path : '',
956
  options.domain ? '; domain=' + options.domain : '',
958
  ].join(''));
959
  }
960
 
961
+ // Read
962
+
963
+ var result = key ? undefined : {};
964
+
965
+ // To prevent the for loop in the first place assign an empty array
966
+ // in case there are no cookies at all. Also prevents odd result when
967
+ // calling $.cookie().
968
+ var cookies = document.cookie ? document.cookie.split('; ') : [];
969
+
970
  for (var i = 0, l = cookies.length; i < l; i++) {
971
  var parts = cookies[i].split('=');
972
+ var name = decode(parts.shift());
973
+ var cookie = parts.join('=');
974
+
975
+ if (key && key === name) {
976
+ // If second argument (value) is a function it's a converter...
977
+ result = read(cookie, value);
978
+ break;
979
+ }
980
+
981
+ // Prevent storing a cookie that we couldn't decode.
982
+ if (!key && (cookie = read(cookie)) !== undefined) {
983
+ result[name] = cookie;
984
  }
985
  }
986
 
987
+ return result;
988
  };
989
 
990
  config.defaults = {};
991
 
992
  $.removeCookie = function (key, options) {
993
+ if ($.cookie(key) === undefined) {
994
+ return false;
 
995
  }
996
+
997
+ // Must not alter options, thus extending a fresh object...
998
+ $.cookie(key, '', $.extend({}, options, { expires: -1 }));
999
+ return !$.cookie(key);
1000
  };
1001
 
1002
+ }));
1003
  ;// Generated by CoffeeScript 1.6.3
1004
  /*
1005
  jQuery css-watch event Coffeescript
1934
  show_toggle_feedback: true,
1935
  sk_debug: null,
1936
  qa_mode: false,
1937
+ currentDebugMode: null,
1938
+ tried_library_load_twice: false,
1939
  bucket_counts: []
1940
  },
1941
 
1942
  initialize: function(){
1943
+ console.group('%cinitialize: App Model %o', 'color:#3b4580', this);
1944
 
1945
  if ( $.browser.msie && $.browser.version < 9) {
1946
  console.error('This browser is not supported');
1951
  SidekickWP.Events = _.extend({}, Backbone.Events);
1952
 
1953
  SidekickWP.Events.on("all", function(eventName){
1954
+ // console.log('%cPLR_REVENT: [ %c' + eventName + '%c ] was triggered!','background-color: #fa62bf;color: white','color: yellow; background-color: #fa4339','background-color: #fa4339;color: white');
1955
  });
1956
 
1957
  Sidekick.Events.on('loaded_walkthrough',this.loaded_walkthrough,this);
1970
  this.set('qa_mode',true);
1971
  }
1972
 
1973
+ if(typeof sk_paid_library !== 'undefined' && _.size(sk_paid_library.buckets) > 0){
1974
+ this.set('full_library',sk_paid_library);
1975
+ this.set('paid_library',sk_paid_library);
1976
+ console.log('%cFOUND sk_paid_library (%o) %o', 'background-color: #51fa3d; color black;',sk_config.library_paid_file,sk_paid_library);
1977
+ } else if (typeof sk_free_library !== 'undefined' && _.size(sk_free_library.buckets) > 0){
1978
+ this.set('full_library',sk_free_library);
1979
+ console.log('%cFOUND sk_free_library (%o) %o', 'background-color: #f9fa58; color black;',sk_config.library_free_file,sk_free_library);
1980
+ } else {
1981
  var msg = 'No Library Found!';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1982
 
1983
+ if (this.get('tried_library_load_twice') === false) {
1984
+ console.warn('msg %o', msg);
1985
+ setTimeout($.proxy(function(){
1986
+ this.initialize();
1987
+ },this),2000);
1988
+ this.set('tried_library_load_twice',true);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1989
  console.groupEnd();
1990
+ return;
 
 
 
 
 
 
1991
  }
 
1992
 
1993
+ SidekickWP.Events.trigger('track_error',{msg: msg});
1994
+ console.groupEnd();
1995
+ return false;
 
 
 
 
1996
  }
1997
 
1998
  if (typeof sk_config.just_activated != 'undefined')
1999
  SidekickWP.Events.trigger('window_activate');
2000
 
2001
+ if (typeof sk_config.main_soft_version !== 'undefined') this.set('main_soft_version',sk_config.main_soft_version);
2002
+ if (typeof sk_config.installed_plugins !== 'undefined') this.set('installed_plugins',sk_config.installed_plugins);
 
 
 
 
 
 
 
2003
 
2004
  this.set('current_url',window.location.toString());
2005
 
2006
+ this.views = {};
 
 
 
 
 
2007
  this.check_library();
2008
  this.filter_walkthroughs();
2009
 
2010
  this.views.app = new SidekickWP.Views.App({model: this, el: $("body")});
2011
 
2012
+ var sk_composer_preview_on = $.cookie('sk_composer_preview_on');
2013
+ if (sk_composer_preview_on) {
2014
+ console.log('sk_composer_preview_on restarting preview %o', sk_composer_preview_on);
2015
+ Sidekick.Events.trigger('resume_preview');
2016
+ }
2017
+
2018
  if (sk_config.show_login === true) {
2019
  SidekickWP.Events.trigger('open_sidekick_drawer');
2020
  }
2021
+
2022
+ console.groupEnd();
2023
  },
2024
 
2025
  screen_activate: function(){
2047
 
2048
  console.log('filter_walkthroughs library.buckets %o', library.buckets);
2049
 
 
2050
  _.each(library.buckets,function(item,key){
2051
  // Delete root bucket if no sub buckets
2052
  this.check_delete_empty_sub_buckets_recrusive(item);
2053
 
 
 
 
 
 
 
2054
  if (_.size(library.buckets[key].sub_buckets) === 0 && _.size(library.buckets[key].walkthroughs) === 0) {
2055
  console.log('%cDELETE ROOT BUCKET -> %o(%o)','color: red',key,library.buckets[key]);
2056
  delete(library.buckets[key]);
2240
  for ( var rule in walkthrough.display_rules){
2241
  var rule_data = walkthrough.display_rules[rule];
2242
 
2243
+ // if (!isNaN(rule_data.value)) {
2244
+ // rule_data.value = parseInt(rule_data.value,10);
2245
+ // }
2246
 
2247
+ if (this.isNumeric(sk_config[rule_data.variable])) {
2248
+ // console.log('CONVERTING TO INTEGER');
2249
  sk_config[rule_data.variable] = parseInt(sk_config[rule_data.variable],10);
2250
  }
2251
 
2252
+ if (rule_data.value == "true" || rule_data.value == "yes" || rule_data.value == "1"){
2253
+ // console.log('TRUE');
2254
+ rule_data.value = true;
2255
+ }
2256
+
2257
+ if (rule_data.value == "false" || rule_data.value == "no" || rule_data.value == "0" || rule_data.value === null){
2258
+ // console.log('FALSE');
2259
+ rule_data.value = false;
2260
+ }
2261
+
2262
+ if (sk_config[rule_data.variable] == "true" || sk_config[rule_data.variable] == "yes" || sk_config[rule_data.variable] == "1"){
2263
+ // console.log('TRUE');
2264
+ sk_config[rule_data.variable] = true;
2265
+ }
2266
+
2267
+ if (sk_config[rule_data.variable] == "false" || sk_config[rule_data.variable] == "no" || sk_config[rule_data.variable] == "0" || sk_config[rule_data.variable] === null){
2268
+ // console.log('FALSE');
2269
+ sk_config[rule_data.variable] = false;
2270
+ }
2271
+
2272
  if (rule_data.operator.toLowerCase() === 'equals') {
2273
  if (!(sk_config[rule_data.variable] === rule_data.value)) {
2274
+ console.groupCollapsed('%cFAILED Custom Rule [%s] %s === %s','color: red',rule_data.operator.toLowerCase(),rule_data.variable, rule_data.value);
2275
  console.log('sk_config[rule_data.variable] %o', sk_config[rule_data.variable]);
2276
  console.log('rule_data.value %o', rule_data.value);
2277
  console.log('sk_config[rule_data.variable] !== rule_data.value %o', sk_config[rule_data.variable] !== rule_data.value);
2280
  }
2281
  } else if (rule_data.operator.toLowerCase() === 'not equal to') {
2282
  if (!(sk_config[rule_data.variable] !== rule_data.value)) {
2283
+ console.groupCollapsed('%cFAILED Custom Rule [%s] %s !== %s','color: red',rule_data.operator.toLowerCase(),rule_data.variable, rule_data.value);
2284
  console.log('sk_config[rule_data.variable] %o', sk_config[rule_data.variable]);
2285
  console.log('rule_data.value %o', rule_data.value);
2286
  console.log('sk_config[rule_data.variable] === rule_data.value %o', sk_config[rule_data.variable] === rule_data.value);
2289
  }
2290
  } else if (rule_data.operator.toLowerCase() === 'greater then') {
2291
  if (isNaN(sk_config[rule_data.variable]) || isNaN(rule_data.value)) {
2292
+ console.groupCollapsed('%cFAILED Custom Rule [%s] Can\'t compare non integers %s > %s','color: red',rule_data.operator.toLowerCase(),rule_data.variable, rule_data.value);
2293
+ console.groupEnd();
2294
  return false;
2295
  }
2296
  if (!(sk_config[rule_data.variable] > rule_data.value)) {
2297
+ console.groupCollapsed('%cFAILED Custom Rule [%s] %s > %s','color: red',rule_data.operator.toLowerCase(),rule_data.variable, rule_data.value);
2298
  console.log('sk_config[rule_data.variable] %o', sk_config[rule_data.variable]);
2299
  console.log('rule_data.value %o', rule_data.value);
2300
  console.log('sk_config[rule_data.variable] > rule_data.value %o', sk_config[rule_data.variable] > rule_data.value);
2303
  }
2304
  } else if (rule_data.operator.toLowerCase() === 'less then') {
2305
  if (isNaN(sk_config[rule_data.variable]) || isNaN(rule_data.value)) {
2306
+ console.groupCollapsed('%cFAILED Custom Rule [%s] Can\'t compare non integers %s > %s','color: red',rule_data.operator.toLowerCase(),rule_data.variable, rule_data.value);
2307
+ console.groupEnd();
2308
  return false;
2309
  }
2310
  if (!(sk_config[rule_data.variable] < rule_data.value)) {
2311
+ console.groupCollapsed('%cFAILED Custom Rule [%s] %s < %s','color: red',rule_data.operator.toLowerCase(),rule_data.variable, rule_data.value);
2312
  console.log('sk_config[rule_data.variable] %o', sk_config[rule_data.variable]);
2313
  console.log('rule_data.value %o', rule_data.value);
2314
  console.log('sk_config[rule_data.variable] < rule_data.value %o', sk_config[rule_data.variable] < rule_data.value);
2317
  }
2318
  } else if (rule_data.operator.toLowerCase() === 'contains') {
2319
  if (typeof sk_config[rule_data.variable] === 'undefined' || sk_config[rule_data.variable].indexOf(rule_data.value) === -1) {
2320
+ console.groupCollapsed('%cFAILED Custom Rule [%s] %s < %s','color: red',rule_data.operator.toLowerCase(),rule_data.variable, rule_data.value);
2321
  console.log('sk_config[rule_data.variable] %o', sk_config[rule_data.variable]);
2322
  console.log('rule_data.value %o', rule_data.value);
2323
  console.log('sk_config[rule_data.variable] < rule_data.value %o', sk_config[rule_data.variable] < rule_data.value);
2327
  page_related_walkthrough = true;
2328
  }
2329
  } else {
2330
+ console.groupCollapsed('%cFAILED Unrecognized Rule [%s] %s < %s','color: red',rule_data.operator.toLowerCase(),rule_data.variable, rule_data.value);
2331
+ console.groupEnd();
2332
  return false;
2333
  }
2334
+ console.groupCollapsed('%cPASSED Custom Rule %s %s %s','color: #3ab00b',rule_data.variable, sk_config[rule_data.variable], rule_data.operator.toLowerCase(), rule_data.value);
2335
  console.log('sk_config[rule_data.variable] %o', sk_config[rule_data.variable]);
2336
  console.log('rule_data.value %o', rule_data.value);
2337
  console.log('sk_config[rule_data.variable] %s rule_data.value %o', rule_data.operator, sk_config[rule_data.variable] < rule_data.value);
2362
  return true;
2363
  },
2364
 
2365
+ isNumeric: function(n) {
2366
+ return !isNaN(parseFloat(n)) && isFinite(n);
2367
+ },
2368
+
2369
+ stringToBoolean: function(string){
2370
+ switch(string.toLowerCase()){
2371
+ case "true": case "yes": case "1": return true;
2372
+ case "false": case "no": case "0": case null: return false;
2373
+ default: return Boolean(string);
2374
+ }
2375
+ },
2376
+
2377
  check_library: function(){
2378
  if (!this.get('full_library')) {
2379
  console.error("WPU Library Not Found!");
2390
  this.set('last_loaded_walkthrough',walkthrough_model);
2391
  },
2392
 
2393
+ open_bucket: function(bucket_id){
2394
+ this.views.app.open_bucket(bucket_id);
2395
+ },
2396
+
2397
  activate_controls: function(){
2398
  console.log('activate_controls');
2399
  $('div#sidekick').addClass('playing');
2403
  $('div#sidekick').removeClass('playing');
2404
  },
2405
 
2406
+ turn_on_composer: function(){
2407
+ SidekickWP.Events.trigger('composer_mode',true);
2408
+ },
2409
+
2410
+ turn_off_composer: function(){
2411
+ SidekickWP.Events.trigger('composer_mode',false);
2412
+ },
2413
+
2414
  show_msg: function(data,context){
2415
  // console.log('show_msg %o',arguments);
2416
  new SidekickWP.Models.Message({title: data.title, message: data.msg});
2426
 
2427
  SidekickWP.Models.BucketContainer = Backbone.Model.extend({
2428
  defaults: {
2429
+ full_library: null,
2430
+ sub_bucket_height: null,
2431
+ sub_bucket_inner_height: null,
2432
+ currentDebugMode: null
2433
  },
2434
 
2435
  initialize: function(){
2436
  this.view = new SidekickWP.Views.BucketContainer({model: this});
2437
  return this;
2438
+ },
2439
+
2440
+ find_bucket: function(bucket_id){
2441
+ var library = this.get('full_library');
2442
+
2443
+ var found = false;
2444
+
2445
+ if (bucket_id === 0) {
2446
+ return {bucket:{
2447
+ post_title: 'test',
2448
+ sub_buckets: library.buckets
2449
+ }};
2450
+ }
2451
+
2452
+ console.log('find_bucket %o', library);
2453
+
2454
+ var found_bucket = false;
2455
+
2456
+ _.find(library.buckets,function(item,key){
2457
+ // console.log('key %o (%o) %o', key,item.id,item);
2458
+
2459
+ var find_bucket = this.find_bucket_recrusive(bucket_id,item);
2460
+ // console.log('00find_bucket %o', find_bucket);
2461
+
2462
+ if (find_bucket) {
2463
+ // console.log('FOUND IT!!!');
2464
+ // console.log('find_bucket %o', find_bucket);
2465
+ found_bucket = find_bucket;
2466
+ return true;
2467
+ } else {
2468
+ // console.log('look at next root bucket');
2469
+ }
2470
+ },this);
2471
+
2472
+ // console.log('*** found_bucket %o', found_bucket);
2473
+
2474
+ return found_bucket;
2475
+ },
2476
+
2477
+ find_bucket_recrusive: function(bucket_id,bucket){
2478
+ // console.log('find_bucket %o in %o (%o)', bucket_id,bucket,bucket.id);
2479
+
2480
+ var found_bucket = false;
2481
+
2482
+ if (bucket_id === bucket.id) {
2483
+ // console.log('FOUND');
2484
+ return {parent: false,bucket: bucket};
2485
+ }
2486
+
2487
+ if (bucket.id !== bucket_id && _.size(bucket.sub_buckets) > 0) {
2488
+ // console.log('Looking Deeper');
2489
+ _.find(bucket.sub_buckets,function(item,key){
2490
+ // console.log('key %o', key);
2491
+
2492
+ if (this.find_bucket_recrusive(bucket_id,item)) {
2493
+ // console.log('FOUND A');
2494
+ found_bucket = {parent: bucket,bucket: item};
2495
+ return true;
2496
+ }
2497
+ },this);
2498
+ } else {
2499
+ // console.log('Not found nothing more to check here');
2500
+ return false;
2501
+ }
2502
+ return found_bucket;
2503
  }
2504
+
2505
+
2506
  });
2507
 
2508
  }(jQuery));;(function($) {
2627
  http = 'https';
2628
  }
2629
 
2630
+ console.log('WP: send tracking to WPU',data);
2631
+
2632
+ $.post(http + "://api.sidekick.pro/v3/events/", data);
2633
+ // $.post(http + "://library.sidekick.pro/wp-admin/admin-ajax.php", data);
2634
  },
2635
 
2636
  track_explore: function(data){
2681
 
2682
  }(jQuery));;(function($) {
2683
  SidekickWP.Views.App = Backbone.View.extend({
2684
+
2685
  initialize: function(){
2686
+ SidekickWP.Events.on('open_sidekick_window', this.open_sidekick_window, this);
2687
+ SidekickWP.Events.on('close_sidekick_window', this.close_sidekick_window, this);
2688
+ SidekickWP.Events.on('open_sidekick_window_and_drawer', this.open_sidekick_window_and_drawer, this);
2689
+ SidekickWP.Events.on('toggle_sidekick_drawer', this.toggle_sidekick_drawer, this);
2690
+ SidekickWP.Events.on('close_sidekick_drawer', this.close_sidekick_drawer, this);
2691
+ SidekickWP.Events.on('open_sidekick_drawer', this.open_sidekick_drawer, this);
2692
+ SidekickWP.Events.on('resize_sidekick_drawer', this.resize_sidekick_drawer, this);
2693
+ SidekickWP.Events.on('toggle_hotspots', this.toggle_hotspots, this);
2694
+ SidekickWP.Events.on('toggle_preferences', this.toggle_preferences, this);
2695
+ SidekickWP.Events.on('window_resize', this.check_sidebar_minifiy, this);
2696
+ SidekickWP.Events.on('size_drawer', this.size_drawer, this);
2697
+ SidekickWP.Events.on('turn_off_composer', this.turn_off_composer, this);
2698
+ SidekickWP.Events.on('mode_composer', this.mode_composer, this);
2699
+ SidekickWP.Events.on('mode_player', this.mode_player, this);
2700
+
2701
+
2702
 
2703
  Sidekick.Events.on('show_click_warning', this.show_click_warning, this);
2704
  Sidekick.Events.on('track_play', this.check_sidebar_minifiy, this);
2705
+ Sidekick.Events.on('track_play', this.close_sidekick_drawer,'hide');
2706
  Sidekick.Events.on('track_stop', this.open_sidekick_drawer);
2707
  Sidekick.Events.on('track_play', this.remove_hotspots,this);
2708
  Sidekick.Events.on('track_stop', this.draw_hotspots,this);
2709
  Sidekick.Events.on('nextStep', this.update_debugger);
2710
+ Sidekick.Events.on('preview', this.mode_preview);
2711
 
2712
  return this.render();
2713
  },
2715
  render: function(){
2716
  console.groupCollapsed('%crender: SidekickWP: appView %o', 'color:#8fa2ff', this);
2717
 
2718
+ var currentDebugMode = $.cookie('sidekick_debug_mode');
2719
+ this.model.set('currentDebugMode',currentDebugMode);
2720
+
2721
  this.BucketContainer = new SidekickWP.Models.BucketContainer({
2722
  full_library: this.model.get('full_library'),
2723
+ passed_current_page_walkthroughs: this.model.get('passed_current_page_walkthroughs'),
2724
+ currentDebugMode: this.model.get('currentDebugMode')
2725
  });
2726
 
2727
  if (_.size(this.model.get('full_library').buckets) > 0) {
2731
  SidekickWP.Events.trigger('show_msg',{title: "No Walkthroughs", msg: "We're sorry but it looks like there are no walkthroughs compatible with your version of software."},this.model);
2732
  }
2733
 
2734
+ console.log('BucketContainer %o', BucketContainer);
2735
+
2736
+ var composer_state = sessionStorage.getItem("skc_state");
2737
+ var composer_mode = false;
2738
+ console.log('composer_state %o', composer_state);
2739
+
2740
+ if (typeof composer_state !== 'undefined' && composer_state && composer_state !== 'player') {
2741
+ composer_mode = true;
2742
+ }
2743
+ console.log('composer_mode %o', composer_mode);
2744
+
2745
+
2746
  var template = _.template( SidekickWP.Templates.App, {
2747
+ composer_mode: composer_mode,
2748
+ sidekick_title: (typeof sk_config.sidekick_title !== 'undefined') ? sk_config.sidekick_title : '',
2749
+ drawer_title: (typeof sk_config.drawer_title !== 'undefined') ? sk_config.drawer_title : 'Walkthroughs',
2750
+ show_powered_by: (typeof sk_config.show_powered_by !== 'undefined') ? sk_config.show_powered_by : '',
2751
+ sk_debug: this.model.get('sk_debug'),
2752
+ BucketContainer: BucketContainer,
2753
+ paid_library: this.model.get('paid_library'),
2754
+ hotspots: $.cookie('sidekick_hotspots')
2755
  });
2756
  this.$el.append( template );
2757
 
2764
  // this.toggle_sidekick_window();
2765
  this.draw_hotspots();
2766
 
 
 
2767
  $(document).bind('keypress.sidekickwp',{context: this}, function(e){
2768
  // console.log('e %o', e);
2769
  // console.log('e.keyCode %o', e.keyCode);
2802
  $('.sk_debug').show();
2803
  }
2804
 
2805
+ if (sk_config.auto_open_root_bucket_id) {
2806
+ $('[data-open_bucket="' + sk_config.auto_open_root_bucket_id + '"]').trigger('click');
2807
+ }
2808
+
2809
+ if (typeof sk_config.sk_composer_button !== 'undefined' && sk_config.sk_composer_button) {
2810
+ $('#sidekick').addClass('composer_button_on');
2811
+ }
2812
 
2813
  $(window).resize(_.debounce(function(){
2814
  SidekickWP.Events.trigger('resize_sidekick_drawer');
2828
  "click #toggle_hotspots": "toggle_hotspots",
2829
  "click #toggle_preferences": "toggle_preferences",
2830
  "click #toggle_feedback": "show_feedback",
2831
+ "click #toggle_composer": "mode_composer",
2832
  "click #close_sidekick": "close_sidekick_window",
2833
  "click #sk_upgrade button": "screen_activate"
2834
  },
2835
 
2836
+ mode_composer: function(){
2837
+ console.info('mode_composer');
2838
+ this.close_sidekick_window();
2839
+ $('div#sidekick').addClass('composer_on').removeClass('drawer_open composer_preview_on');
2840
+ Sidekick.Events.trigger('activate_composer');
2841
+ console.info('mode_composer2');
2842
+ },
2843
+
2844
+ mode_player: function(){
2845
+ console.info('mode_player');
2846
+ SidekickWP.Events.trigger('open_sidekick_window_and_drawer',this);
2847
+ $('div#sidekick').removeClass('composer_on').addClass('drawer_open');
2848
+ },
2849
+
2850
+ mode_preview: function(){
2851
+ console.info('mode_preview');
2852
+ SidekickWP.Events.trigger('open_sidekick_window',this);
2853
+ $('#sidekick').addClass('composer_preview_on').removeClass('drawer_open').removeClass('composer_on');
2854
+ },
2855
+
2856
+ open_bucket: function(bucket_id){
2857
+ this.BucketContainer.view.open_bucket(bucket_id);
2858
+ SidekickWP.Events.trigger('open_sidekick_drawer',this);
2859
+ },
2860
 
2861
+ update_debugger: function(){
2862
  $('#sidekick .step_count').html('Current Step: ' + sidekick.walkthroughModel.get('currentStep') + '/' + _.size(sidekick.walkthroughModel.get('steps')));
2863
+ $('#sidekick .step_count').append("&nbsp<a target='_blank' href='http://library.sidekick.pro/wp-admin/post.php?post=" + sidekick.walkthroughModel.get('id') + "&action=edit'>Edit</a>");
2864
  },
2865
 
2866
  screen_activate: function(){
2869
 
2870
  show_click_warning: function(){
2871
  $('#sidekick #click_warning').remove();
2872
+ $('#sidekick #sk_taskbar').append('<div id="click_warning"><h3></h3><span>Clicks are restricted during Walkthroughs. Stop the Walkthrough to navigate normally.</span></div>')
2873
  .find('#click_warning')
2874
  .addClass('show')
2875
+ .wait(5000)
2876
  .removeClass('show');
2877
  },
2878
 
2881
  var playing = $('#sidekick').hasClass('playing');
2882
  if (width < 784 && playing) {
2883
  $('.sidekick_stop').trigger('click');
2884
+ Sidekick.Events.trigger('show_error',9);
 
 
 
 
 
 
 
 
 
 
2885
  }
2886
 
2887
  if ('body.sticky-menu') {
2939
  // console.log('toggle_sidekick_drawer %o | %o | %o', force,$('#sk_drawer').height(),$('div#sidekick').hasClass('open'));
2940
 
2941
  if ($('#sk_drawer').height() > 0 || force == 'hide' || !$('div#sidekick').hasClass('open')) {
 
2942
  SidekickWP.Events.trigger('close_sidekick_drawer');
2943
  } else {
2944
  SidekickWP.Events.trigger('open_sidekick_drawer');
2945
  }
2946
  },
2947
 
2948
+ open_sidekick_window_and_drawer: function(){
2949
+ console.log('open_sidekick_window_and_drawer %o',this);
2950
+ this.open_sidekick_window().promise().done(function(){
2951
+ SidekickWP.Events.trigger('open_sidekick_drawer');
2952
+ },this);
2953
+ },
2954
+
2955
  close_sidekick_drawer: function(){
2956
  console.log('Closing Drawer');
2957
+ $('div#sidekick').removeClass('drawer_open');
2958
  $('div#sidekick #toggle_drawer').removeClass('on');
2959
+ return $('#sk_drawer .sk_bucketContainer,#sk_drawer').css({
2960
  height: 0,
2961
  transition: 'height 0.3s ease-in-out'
2962
  });
2964
 
2965
  open_sidekick_drawer: function(){
2966
  console.log('Open Drawer');
 
 
2967
  $('.sk_hotspot').show();
2968
+ if ($('#sidekick').hasClass('composer_preview_on') || $('#sidekick').hasClass('composer_on')) {
2969
+ console.log("Can't open drawer because composer is on");
2970
+ return false;
2971
+ }
2972
+
2973
+ $('div#sidekick').addClass('drawer_open');
2974
  SidekickWP.Events.trigger('size_drawer');
2975
  },
2976
 
2979
  if (window_height > 900) {
2980
  window_height = 900;
2981
  }
2982
+ var sk_drawer_height = window_height - 130;
2983
  var sk_bucketContainer_height = sk_drawer_height - 56;
2984
+ // console.log('sk_drawer_height %o', sk_drawer_height);
2985
+
2986
  if ($('#sk_upgrade').length > 0) {
2987
+ // console.log('upgrade shorter');
2988
  sk_bucketContainer_height -= $('#sk_upgrade').height();
2989
  }
2990
+ // console.log('sk_bucketContainer_height %o', sk_bucketContainer_height);
2991
+
2992
+ var sub_bucket_height = sk_bucketContainer_height;
2993
+ var sub_bucket_inner_height = sub_bucket_height - 56;
2994
 
2995
  $('div#sidekick').addClass('open');
2996
  $('div#sidekick .sk_caption').removeClass('show');
3007
  maxHeight: sub_bucket_height,
3008
  transition: 'all 0.3s ease-in-out'
3009
  });
3010
+
3011
  $('#sk_drawer .sub_bucket_inner').css({
3012
  height: sub_bucket_inner_height
3013
  });
3014
+
3015
+ // console.log('sub_bucket_height %o', sub_bucket_height);
3016
+
3017
+
3018
+ this.BucketContainer.set('sk_bucketContainer_height',sk_bucketContainer_height);
3019
+ this.BucketContainer.set('sub_bucket_height',sub_bucket_height);
3020
+ this.BucketContainer.set('sub_bucket_inner_height',sub_bucket_inner_height);
3021
+ },
3022
+
3023
+ unblur_buttons: function(){
3024
+ $('div#sidekick buttons').blur();
3025
  },
3026
 
3027
  toggle_sidekick_window: function(e){
3028
+ this.unblur_buttons();
3029
  console.log('toggle_sidekick_window');
3030
 
3031
+ if ($('div#sidekick').hasClass('working')) {
3032
+ console.log('Still working can\'t toggle');
3033
+ return false;
3034
+ }
3035
+
3036
  if ($('div#sidekick').hasClass('open')) {
3037
+ this.close_sidekick_drawer().promise().done(function(){
3038
+ console.log('close_sidekick_drawer().promise().done');
3039
+ SidekickWP.Events.trigger('close_sidekick_window');
3040
+ },this);
3041
  } else {
3042
+ this.open_sidekick_window_and_drawer();
 
 
 
 
3043
  }
3044
  },
3045
 
3046
+ set_opened_within_last_hour_cookie: function(){
3047
+ var date = new Date();
3048
+ var minutes = 60;
3049
+ date.setTime(date.getTime() + (minutes * 60 * 1000));
3050
+ $.cookie("sidekick_opened_within_last_hour", true, { expires: date });
3051
+ },
3052
+
3053
  close_sidekick_window: function(e){
3054
+ console.log('close_sidekick_window');
3055
  if ($('div#sidekick').hasClass('open')) {
3056
+ SidekickWP.Events.trigger('close_sidekick_drawer');
3057
+ $('div#sidekick').addClass('working').wait(500,function(e){
3058
+ $('div#sidekick').removeClass('working open');
3059
+ });
3060
+ }
3061
+ },
3062
+
3063
+ open_sidekick_window: function(e){
3064
+ console.log('open_sidekick_window %o',this);
3065
+ if (!$('div#sidekick').hasClass('open')) {
3066
+ this.set_opened_within_last_hour_cookie();
3067
+ SidekickWP.Events.trigger('track_explore',{what:'Sidekick - Open'});
3068
+
3069
+ return $('div#sidekick').addClass('working').addClass('open').wait(500,function(e){
3070
+ console.log('DONE open_sidekick_window');
3071
+ $(this).removeClass('working');
3072
+ });
3073
  }
3074
  },
3075
 
3131
  if (url.indexOf(hotspot_data.url) > -1) {
3132
  selectors = hotspot_data.selector;
3133
 
3134
+ try{
3135
+ if ($(selectors).length == 1 && $(selectors).is(':visible')) {
3136
+ console.log('hotspot selectors-1 %o', selectors);
3137
+ count++;
3138
+ } else if ($(selectors).length > 1){
3139
+ _.each($(selectors),function(item,key){
3140
+ if ($(item).length && $(item).is(':visible')) {
3141
+ console.log('hotspot selectors-2 %o', item);
3142
+ count++;
3143
+ }
3144
+ });
3145
+ }
3146
+ }
3147
+ catch(e){
3148
+ console.log('%cAttaching Hotspot Catch Error','color: red',arguments);
3149
+ console.log('hotspot_data %o', hotspot_data);
3150
+
3151
  }
3152
+
3153
+
3154
  }
3155
  }
3156
 
3191
  at: selector_x + " " + selector_y,
3192
  my: hotspot_x + hotspot_x_padding + " " + hotspot_y + hotspot_y_padding,
3193
  of: $(selectors)
3194
+ })
3195
+ //.css({zIndex: $(selectors).css('zIndex')});
3196
 
3197
  $(selectors).data('sk_hotspot','.sk_hotspot_' + hotspot);
3198
 
3235
  at: selector_x + " " + selector_y,
3236
  my: hotspot_x + hotspot_x_padding + " " + hotspot_y + hotspot_y_padding,
3237
  of: item
3238
+ })
3239
+ //.css({zIndex: $(item).css('zIndex')});
3240
 
3241
  $('.sk_hotspot').wait(20*count).addClass('visible');
3242
  });
3265
  },
3266
 
3267
  render: function(){
3268
+ console.group('%crender: render: bucketContainerView %o', 'color:#8fa2ff', this);
3269
 
3270
  this.bucket = new SidekickWP.Models.Bucket({
3271
  title: this.model.get('title'),
3272
  full_library: this.model.get('full_library'),
3273
+ passed_current_page_walkthroughs: this.model.get('passed_current_page_walkthroughs'),
3274
+ bucket: this.open_bucket(0,true)
3275
  });
3276
  this.$el.append(this.bucket.view.render().el);
3277
+
3278
+ console.groupEnd();
3279
  return this;
3280
  },
3281
 
3282
  clicked_bucket: function(e){
3283
+ // console.log('clicked_bucket',e);
 
3284
 
3285
+ var old_bucket_direction = 'pull_left';
3286
+ var new_bucket_direction = 'pull_right';
3287
 
3288
  if ($(e).hasClass('goprev')) {
3289
+ old_bucket_direction = 'pull_right';
3290
+ new_bucket_direction = 'pull_left';
3291
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3292
 
3293
+ $('.sk_bucketContainer>div>ul').addClass(old_bucket_direction).wait(500).remove();
3294
 
3295
+ var bucket_data = this.model.find_bucket($(e).data('open_bucket'));
3296
+ bucket_data.new_bucket_direction = new_bucket_direction;
3297
+ bucket_data.currentDebugMode = this.model.get('currentDebugMode');
3298
 
3299
+ if (_.size(bucket_data.bucket.walkthroughs) > 0) {
3300
+ template = _.template( SidekickWP.Templates.WalkthroughsNew, bucket_data);
3301
  } else {
3302
+ template = _.template( SidekickWP.Templates.BucketNew, bucket_data);
3303
+ }
3304
+ $('.sk_bucketContainer>div').append(template)
3305
+ .find('.' + new_bucket_direction)
3306
+ .wait(10)
3307
+ .removeClass(new_bucket_direction);
 
 
3308
 
3309
+ SidekickWP.Events.trigger('track_explore',{what:'Bucket - ' + $('span',e).html(), id: $(e).data('open_bucket') });
 
3310
 
3311
+ this.reset_bucket_dimentions();
 
3312
  this.setup_events();
3313
+ },
3314
+
3315
+ reset_bucket_dimentions: function(){
3316
+ $('.sk_bucketContainer')
3317
+ .height(this.model.get('sk_bucketContainer_height'))
3318
+ .find('.sub_bucket')
3319
+ .height(this.model.get('sub_bucket_height'))
3320
+ .find('.sub_bucket_inner')
3321
+ .height(this.model.get('sub_bucket_inner_height'));
3322
  },
3323
 
3324
  find_bucket_by_id: function(data,key,match){
3325
  if (data[key] == match) {
3326
+ console.log('%cfound %o','color: green',data);
3327
  return data;
3328
  }
3329
 
3335
  }
3336
  }
3337
  } else {
3338
+ console.log('%cnot found','color: red');
3339
  return;
3340
  }
3341
  },
3350
  return false;
3351
  },
3352
 
3353
+ open_bucket: function(bucket_id, return_data){
3354
+ console.log('open_bucket %o', bucket_id);
3355
+
3356
+ var template;
3357
+ var bucket_data = this.model.find_bucket(bucket_id);
3358
+ bucket_data.new_bucket_direction = '';
3359
+ bucket_data.currentDebugMode = this.model.get('currentDebugMode');
3360
+
3361
+ if (bucket_data) {
3362
+ console.log('bucket_data %o', bucket_data);
3363
+ $('.sk_bucketContainer>div').html('');
3364
+
3365
+ if (_.size(bucket_data.bucket.walkthroughs) > 0) {
3366
+ template = _.template( SidekickWP.Templates.WalkthroughsNew, bucket_data);
3367
+ } else {
3368
+ template = _.template( SidekickWP.Templates.BucketNew, bucket_data);
3369
+ }
3370
+
3371
+ if (return_data) {
3372
+ return template;
3373
+ }
3374
+
3375
+ $('.sk_bucketContainer>div').append(template);
3376
+ this.reset_bucket_dimentions();
3377
+ } else {
3378
+ console.error('Bucket Doesn\'t exist');
3379
+ }
3380
+ this.setup_events();
3381
+ },
3382
+
3383
  draw_bucket: function(bucket_id){
3384
  console.info('draw_bucket %o', bucket_id);
3385
  var full_library = this.model.get('full_library');
3386
  var bucket_data = this.find_bucket_by_id_rec(full_library.buckets,'id',bucket_id);
3387
 
3388
  var variables = {
3389
+ bucket_id: bucket_id,
3390
+ bucket_title: bucket_data.post_title,
3391
+ bucket_data: bucket_data,
3392
+ full_library: full_library
3393
  };
 
3394
  var template = _.template( SidekickWP.Templates.SubBucket, variables );
 
 
 
 
3395
  $('.sk_bucketContainer>div').append(template);
3396
  },
3397
 
3408
  };
3409
 
3410
  var template = _.template( SidekickWP.Templates.Walkthroughs, variables );
 
 
3411
  $('.sk_bucketContainer>div').append(template);
3412
  },
3413
 
3420
  $('a.sidekick_play_walkthrough').unbind('click').click({context:this},function(e){
3421
  SidekickWP.Events.trigger('close_sidekick_window');
3422
  });
3423
+
3424
+ $('.walkthroughs_inner .edit').click(function(e){
3425
+ e.preventDefault();
3426
+ e.stopPropagation();
3427
+ var id = $(this).data('id');
3428
+ window.open("http://library.sidekick.pro/wp-admin/post.php?post=" + id + "&action=edit","_blank");
3429
+ });
3430
+
3431
+
3432
  // SidekickWP.Helpers.preventScrolling();
3433
  }
3434
  });
3615
 
3616
  });
3617
 
3618
+ }(jQuery));;SidekickWP.Templates.App = [
3619
+ "<div id='sidekick' class='sidekick_player <% if(composer_mode){ %>composer_on<% } %>'>",
 
 
3620
  "<div id='sk_taskbar'>",
3621
  "<div id='logo'><% print(sidekick_title) %></div>",
3622
  "<button class='sk_toggle'></button>",
3634
  "<div class='sk_toggles'>",
3635
  // "<% console.log('hotspots %o',hotspots);%>",
3636
  "<button id='toggle_hotspots' <% if (hotspots === '1' || typeof hotspots === 'undefined'){%>class='on'<% } %> alt='Number of hotspots'>0</button>",
3637
+ "<button id='toggle_composer'></button>",
3638
  "<button id='toggle_feedback'></button>",
3639
  "<button id='toggle_preferences'></button>",
3640
  "<button id='toggle_drawer'><i></i></button>",
3687
  "<% } %>",
3688
  "<% first_drawn = true %>",
3689
  "<% } %>",
3690
+ "<a href='javascript: <% if (walkthrough.subscribed) { %> sidekick.play(<% print(walkthrough.id) %>) <% } else { %> sidekick.upgrade(\"<% print(walkthrough.id) %>\",\"<% print(walkthrough.title) %>\") <% } %>'><li class='overview <% if (walkthrough.subscribed){ %>subscribed<% } %>'><span><% print(walkthrough.title) %></span></li></a>",
3691
  "<% } %>",
3692
  "<% }); %>",
3693
  "<% var first_drawn = false; %>",
3701
  "<% } %>",
3702
  "<% first_drawn = true %>",
3703
  "<% } %>",
3704
+ "<a href='javascript: <% if (walkthrough.subscribed) { %> sidekick.play(<% print(walkthrough.id) %>) <% } else { %> sidekick.upgrade(\"<% print(walkthrough.id) %>\",\"<% print(walkthrough.title) %>\") <% } %>'><li class='how <% if (walkthrough.subscribed){ %>subscribed<% } %>'><span><% print(walkthrough.title) %></span></li></a>",
3705
  "<% } %>",
3706
  "<% }); %>",
3707
  "</ul>",
3714
  "</ul>"
3715
  ].join("");
3716
 
3717
+ SidekickWP.Templates.BucketNew = [
3718
+ "<ul class='sub_buckets <% print(new_bucket_direction) %>'>",
3719
+ "<ul class='sub_bucket' data-bucket_id='<% print(bucket.bucket_id) %>'>",
3720
+ "<% if(parent.id){ %>",
3721
+ "<li class='heading goprev' data-open_bucket='<% print(parent.id) %>'><span><% print(parent.post_title) %></span><i></i></li>",
3722
+ "<% } else if (bucket.id) { %>",
3723
+ "<li class='heading goprev' data-open_bucket='<% print(0) %>'><span><% print(bucket.post_title) %></span><i></i></li>",
3724
+ "<% } %>",
3725
+ "<ul class='sub_bucket_inner'>",
3726
+
3727
+ "<% var loop_data = (typeof bucket.walkthroughs !== 'undefined') ? bucket.walkthroughs : bucket.sub_buckets; %>",
3728
+
3729
+ "<% for (var item in loop_data){ %>",
3730
+ "<% item_data = loop_data[item] %>",
3731
+ "<li class='heading sub_bucket_heading' data-open_bucket='<% print(item_data.id) %>'><span><% print(item_data.post_title) %></span><i></i></li>",
3732
+ "<% }; %>",
3733
+
3734
+ "</ul>",
3735
+ "</ul>",
3736
+ "</ul>"
3737
+ ].join("");
3738
+
3739
  SidekickWP.Templates.SubBucket = [
3740
  "<ul class='sub_buckets'>",
3741
  "<ul class='sub_bucket' data-bucket_id='<% print(bucket_id) %>'>",
3832
  "<% } %>"
3833
  ].join("");
3834
 
3835
+
3836
+ SidekickWP.Templates.WalkthroughsNew = [
3837
+ "<ul class='walkthroughs <% print(new_bucket_direction) %>'>",
3838
+ "<ul class='walkthrough' data-bucket_id='<% print(bucket.id) %>'>",
3839
+ "<li class='heading goprev' data-open_bucket='<% print(parent.id) %>'><span><% print(bucket.post_title) %></span><i></i></li>",
3840
+ "<ul class='walkthroughs_inner'>",
3841
+ "<% var first_drawn = false; %>",
3842
+ "<% _.each(bucket.walkthroughs, function(walkthrough, walkthrough_key){ %>",
3843
+ "<% if (walkthrough.type == 'overview'){ %>",
3844
+ "<% if (!first_drawn){ %>",
3845
+ "<li class='sub_heading'><span>Overviews</span></li>",
3846
+ "<% first_drawn = true %>",
3847
+ "<% } %>",
3848
+ "<a href='javascript: <% if (walkthrough.subscribed) { %> sidekick.play(<% print(walkthrough.id) %>) <% } else { %> sidekick.upgrade(\"<% print(walkthrough.id) %>\",\"<% print(walkthrough.title) %>\") <% } %>'><li class='overview <% if (walkthrough.subscribed){ %>subscribed<% } %>'>",
3849
+ "<span><% print(walkthrough.title) %><% if (currentDebugMode === '1'){ %><div class='edit' data-id='<% print(walkthrough.id) %>'>&nbsp;[ EDIT ]</div><%}%></span>",
3850
+ "</li></a>",
3851
+ "<% } %>",
3852
+ "<% }); %>",
3853
+ "<% var first_drawn = false; %>",
3854
+ "<% _.each(bucket.walkthroughs, function(walkthrough, walkthrough_key){ %>",
3855
+ "<% if (walkthrough.type == 'how'){ %>",
3856
+ "<% if (!first_drawn){ %>",
3857
+ "<li class='sub_heading'><span>How Do I...</span></li>",
3858
+ "<% first_drawn = true %>",
3859
+ "<% } %>",
3860
+ "<a href='javascript: <% if (walkthrough.subscribed) { %> sidekick.play(<% print(walkthrough.id) %>) <% } else { %> sidekick.upgrade(\"<% print(walkthrough.id) %>\",\"<% print(walkthrough.title) %>\") <% } %>'><li class='how <% if (walkthrough.subscribed){ %>subscribed<% } %>'>",
3861
+ "<span><% print(walkthrough.title) %><% if (currentDebugMode === '1'){ %><div class='edit' data-id='<% print(walkthrough.id) %>'>&nbsp;[ EDIT ]</div><%}%></span>",
3862
+ "</li></a>",
3863
+ "<% } %>",
3864
+ "<% }); %>",
3865
+ "</ul>",
3866
+ "</ul>",
3867
+ "</ul>"
3868
+ ].join("");
3869
+
3870
  SidekickWP.Templates.Walkthroughs = [
3871
  "<ul class='walkthroughs'>",
3872
  "<ul class='walkthrough' data-bucket_id='<% print(bucket_id) %>'>",
3873
  "<li class='heading goprev'><span><% print(bucket_data.post_title) %></span><i></i></li>",
3874
  "<ul class='walkthroughs_inner' data-bucket_id='<% print(bucket_id) %>'>",
 
3875
  "<% var first_drawn = false; %>",
3876
  "<% _.each(bucket_data.walkthroughs, function(walkthrough, walkthrough_key){ %>",
3877
  "<% if (walkthrough.type == 'overview'){ %>",
3883
  "<% } %>",
3884
  "<% first_drawn = true %>",
3885
  "<% } %>",
3886
+ "<a href='javascript: <% if (walkthrough.subscribed) { %> sidekick.play(<% print(walkthrough.id) %>) <% } else { %> sidekick.upgrade(\"<% print(walkthrough.id) %>\",\"<% print(walkthrough.title) %>\") <% } %>'><li class='overview <% if (walkthrough.subscribed){ %>subscribed<% } %>'><span><% print(walkthrough.title) %></span></li></a>",
3887
  "<% } %>",
3888
  "<% }); %>",
3889
  "<% var first_drawn = false; %>",
3897
  "<% } %>",
3898
  "<% first_drawn = true %>",
3899
  "<% } %>",
3900
+ "<a href='javascript: <% if (walkthrough.subscribed) { %> sidekick.play(<% print(walkthrough.id) %>) <% } else { %> sidekick.upgrade(\"<% print(walkthrough.id) %>\",\"<% print(walkthrough.title) %>\") <% } %>'><li class='how <% if (walkthrough.subscribed){ %>subscribed<% } %>'><span><% print(walkthrough.title) %></span></li></a>",
3901
  "<% } %>",
3902
  "<% }); %>",
3903
  "</ul>",
js/sk_lab.js ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ /*! LAB.js (LABjs :: Loading And Blocking JavaScript)
2
+ v2.0.3 (c) Kyle Simpson
3
+ MIT License
4
+ */
5
+ (function(o){var K=o.$LAB,y="UseLocalXHR",z="AlwaysPreserveOrder",u="AllowDuplicates",A="CacheBust",B="BasePath",C=/^[^?#]*\//.exec(location.href)[0],D=/^\w+\:\/\/\/?[^\/]+/.exec(C)[0],i=document.head||document.getElementsByTagName("head"),L=(o.opera&&Object.prototype.toString.call(o.opera)=="[object Opera]")||("MozAppearance"in document.documentElement.style),q=document.createElement("script"),E=typeof q.preload=="boolean",r=E||(q.readyState&&q.readyState=="uninitialized"),F=!r&&q.async===true,M=!r&&!F&&!L;function G(a){return Object.prototype.toString.call(a)=="[object Function]"}function H(a){return Object.prototype.toString.call(a)=="[object Array]"}function N(a,c){var b=/^\w+\:\/\//;if(/^\/\/\/?/.test(a)){a=location.protocol+a}else if(!b.test(a)&&a.charAt(0)!="/"){a=(c||"")+a}return b.test(a)?a:((a.charAt(0)=="/"?D:C)+a)}function s(a,c){for(var b in a){if(a.hasOwnProperty(b)){c[b]=a[b]}}return c}function O(a){var c=false;for(var b=0;b<a.scripts.length;b++){if(a.scripts[b].ready&&a.scripts[b].exec_trigger){c=true;a.scripts[b].exec_trigger();a.scripts[b].exec_trigger=null}}return c}function t(a,c,b,d){a.onload=a.onreadystatechange=function(){if((a.readyState&&a.readyState!="complete"&&a.readyState!="loaded")||c[b])return;a.onload=a.onreadystatechange=null;d()}}function I(a){a.ready=a.finished=true;for(var c=0;c<a.finished_listeners.length;c++){a.finished_listeners[c]()}a.ready_listeners=[];a.finished_listeners=[]}function P(d,f,e,g,h){setTimeout(function(){var a,c=f.real_src,b;if("item"in i){if(!i[0]){setTimeout(arguments.callee,25);return}i=i[0]}a=document.createElement("script");if(f.type)a.type=f.type;if(f.charset)a.charset=f.charset;if(h){if(r){e.elem=a;if(E){a.preload=true;a.onpreload=g}else{a.onreadystatechange=function(){if(a.readyState=="loaded")g()}}a.src=c}else if(h&&c.indexOf(D)==0&&d[y]){b=new XMLHttpRequest();b.onreadystatechange=function(){if(b.readyState==4){b.onreadystatechange=function(){};e.text=b.responseText+"\n//@ sourceURL="+c;g()}};b.open("GET",c);b.send()}else{a.type="text/cache-script";t(a,e,"ready",function(){i.removeChild(a);g()});a.src=c;i.insertBefore(a,i.firstChild)}}else if(F){a.async=false;t(a,e,"finished",g);a.src=c;i.insertBefore(a,i.firstChild)}else{t(a,e,"finished",g);a.src=c;i.insertBefore(a,i.firstChild)}},0)}function J(){var l={},Q=r||M,n=[],p={},m;l[y]=true;l[z]=false;l[u]=false;l[A]=false;l[B]="";function R(a,c,b){var d;function f(){if(d!=null){d=null;I(b)}}if(p[c.src].finished)return;if(!a[u])p[c.src].finished=true;d=b.elem||document.createElement("script");if(c.type)d.type=c.type;if(c.charset)d.charset=c.charset;t(d,b,"finished",f);if(b.elem){b.elem=null}else if(b.text){d.onload=d.onreadystatechange=null;d.text=b.text}else{d.src=c.real_src}i.insertBefore(d,i.firstChild);if(b.text){f()}}function S(c,b,d,f){var e,g,h=function(){b.ready_cb(b,function(){R(c,b,e)})},j=function(){b.finished_cb(b,d)};b.src=N(b.src,c[B]);b.real_src=b.src+(c[A]?((/\?.*$/.test(b.src)?"&_":"?_")+~~(Math.random()*1E9)+"="):"");if(!p[b.src])p[b.src]={items:[],finished:false};g=p[b.src].items;if(c[u]||g.length==0){e=g[g.length]={ready:false,finished:false,ready_listeners:[h],finished_listeners:[j]};P(c,b,e,((f)?function(){e.ready=true;for(var a=0;a<e.ready_listeners.length;a++){e.ready_listeners[a]()}e.ready_listeners=[]}:function(){I(e)}),f)}else{e=g[0];if(e.finished){j()}else{e.finished_listeners.push(j)}}}function v(){var e,g=s(l,{}),h=[],j=0,w=false,k;function T(a,c){a.ready=true;a.exec_trigger=c;x()}function U(a,c){a.ready=a.finished=true;a.exec_trigger=null;for(var b=0;b<c.scripts.length;b++){if(!c.scripts[b].finished)return}c.finished=true;x()}function x(){while(j<h.length){if(G(h[j])){try{h[j++]()}catch(err){}continue}else if(!h[j].finished){if(O(h[j]))continue;break}j++}if(j==h.length){w=false;k=false}}function V(){if(!k||!k.scripts){h.push(k={scripts:[],finished:true})}}e={script:function(){for(var f=0;f<arguments.length;f++){(function(a,c){var b;if(!H(a)){c=[a]}for(var d=0;d<c.length;d++){V();a=c[d];if(G(a))a=a();if(!a)continue;if(H(a)){b=[].slice.call(a);b.unshift(d,1);[].splice.apply(c,b);d--;continue}if(typeof a=="string")a={src:a};a=s(a,{ready:false,ready_cb:T,finished:false,finished_cb:U});k.finished=false;k.scripts.push(a);S(g,a,k,(Q&&w));w=true;if(g[z])e.wait()}})(arguments[f],arguments[f])}return e},wait:function(){if(arguments.length>0){for(var a=0;a<arguments.length;a++){h.push(arguments[a])}k=h[h.length-1]}else k=false;x();return e}};return{script:e.script,wait:e.wait,setOptions:function(a){s(a,g);return e}}}m={setGlobalDefaults:function(a){s(a,l);return m},setOptions:function(){return v().setOptions.apply(null,arguments)},script:function(){return v().script.apply(null,arguments)},wait:function(){return v().wait.apply(null,arguments)},queueScript:function(){n[n.length]={type:"script",args:[].slice.call(arguments)};return m},queueWait:function(){n[n.length]={type:"wait",args:[].slice.call(arguments)};return m},runQueue:function(){var a=m,c=n.length,b=c,d;for(;--b>=0;){d=n.shift();a=a[d.type].apply(null,d.args)}return a},noConflict:function(){o.$LAB=K;return m},sandbox:function(){return J()}};return m}o.$LAB=J();(function(a,c,b){if(document.readyState==null&&document[a]){document.readyState="loading";document[a](c,b=function(){document.removeEventListener(c,b,false);document.readyState="complete"},false)}})("addEventListener","DOMContentLoaded")})(this);
readme.txt CHANGED
@@ -2,9 +2,9 @@
2
  Contributors: raptor235,benfox,andymci
3
  Donate link: http://www.sidekick.pro
4
  Tags: help, tutorial, training, learn, learning, sidekick, guide, teach, video, manual, videos, wphelp, support, instructions, question, questions, answers, answer, clippy, q&a, wpuniversity, helper, walkthrough
5
- Requires at least: 3.5
6
  Tested up to: 3.9
7
- Stable tag: 1.3.4
8
  License: GNU Version 2 or Any Later Version
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -130,6 +130,20 @@ Absolutely. In fact, we rely on users like you to tell us about things that nee
130
 
131
  == Changelog ==
132
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
133
  = 1.3.4 =
134
  * Updated Modal UI
135
  * Dropped www. from domain checking
2
  Contributors: raptor235,benfox,andymci
3
  Donate link: http://www.sidekick.pro
4
  Tags: help, tutorial, training, learn, learning, sidekick, guide, teach, video, manual, videos, wphelp, support, instructions, question, questions, answers, answer, clippy, q&a, wpuniversity, helper, walkthrough
5
+ Requires at least: 3.7
6
  Tested up to: 3.9
7
+ Stable tag: 1.3.5
8
  License: GNU Version 2 or Any Later Version
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
130
 
131
  == Changelog ==
132
 
133
+ = 1.3.5 =
134
+ * CSS Fixes
135
+ * Autostart on specific pages
136
+ * Added Wait_For Event
137
+ * Changed error messaging
138
+ * Fixed underscore template conflict with other backbone themes / apps
139
+ * Added LABjs file loading
140
+ * Added library load doublecheck
141
+ * Optimized Tracking
142
+ * Fixes to display rules boolean operations
143
+ * Added handlers for open a specific bucket
144
+ * Added handlers to auto open a specific bucket
145
+ * Fixed a bug when there were no comments in the blog
146
+
147
  = 1.3.4 =
148
  * Updated Modal UI
149
  * Dropped www. from domain checking
sidekick.php CHANGED
@@ -6,14 +6,15 @@ Plugin URL: http://wordpress.org/plugins/sidekick/
6
  Description: Adds a real-time WordPress training walkthroughs right in your Dashboard
7
  Requires at least: 3.7
8
  Tested up to: 3.9.1
9
- Version: 1.3.4
10
  Author: Sidekick.pro
11
  Author URI: http://www.sidekick.pro
12
  */
13
 
14
- define('SK_PLUGIN_VERSION','1.3.4');
15
  define('SK_LIBRARY_VERSION',5);
16
  define('SK_PLATFORM_VERSION',7);
 
17
 
18
  if ( ! defined( 'SK_SL_PLUGIN_DIR' ) ) define( 'SK_SL_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
19
  if ( ! defined( 'SK_SL_PLUGIN_URL' ) ) define( 'SK_SL_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
@@ -85,6 +86,12 @@ class Sidekick{
85
  delete_option('sk_activation_id');
86
  }
87
 
 
 
 
 
 
 
88
  if (isset($_POST['sk_track_data'])) {
89
  update_option( 'sk_track_data', true );
90
  } else {
@@ -92,14 +99,15 @@ class Sidekick{
92
  }
93
 
94
  update_option( 'sk_activated', true );
95
- die('<script>window.open("' . get_site_url() . '/wp-admin/options-general.php?page=sidekick&firstuse","_self")</script>');
96
  }
97
 
98
- $activation_id = get_option( 'sk_activation_id' );
99
- $email = get_option( 'sk_email' );
100
- $first_name = get_option( 'sk_first_name' );
101
- $sk_track_data = get_option( 'sk_track_data' );
102
- $error = null;
 
103
 
104
  if (defined('SK_PAID_LIBRARY_FILE') && $activation_id) {
105
  $_POST['activation_id'] = $activation_id;
@@ -147,7 +155,8 @@ class Sidekick{
147
 
148
  ?>
149
 
150
- <?php if ($_SERVER['QUERY_STRING'] == 'page=sidekick&firstuse'): ?>
 
151
  <script type="text/javascript">
152
  jQuery(document).ready(function($) {
153
  jQuery('#sidekick #logo').trigger('click');
@@ -182,205 +191,203 @@ class Sidekick{
182
  <?php settings_fields('sk_license'); ?>
183
  <table class="form-table">
184
  <tbody>
185
- <!-- <tr valign="top">
186
- <th scope="row" valign="top">First Name</th>
187
- <td>
188
- <input id="first_name" name="first_name" type="text" class="regular-text" value="<?php echo $first_name ?>" />
189
- <label class="description" for="first_name"><?php _e('Enter your first name'); ?></label>
190
- </td>
191
- </tr> -->
192
-
193
- <!-- <tr valign="top">
194
- <th scope="row" valign="top">E-Mail</th>
195
- <td>
196
- <input id="email" name="email" type="text" class="regular-text" value="<?php echo $email ?>" />
197
- <label class="description" for="email"><?php _e('Enter your email address'); ?></label>
198
- </td>
199
- </tr> -->
200
-
201
- <tr valign="top">
202
- <th scope="row" valign="top">Activation ID</th>
203
- <td><input class='regular-text' type='text' name='activation_id' value='<?php echo $activation_id ?>'></input></td>
204
- </tr>
205
-
206
- <tr valign="top">
207
- <th scope="row" valign="top">Status</th>
208
- <td><span style='color: green' class='<?php echo strtolower($status) ?>'><?php echo ucfirst($status) ?></span></td>
209
- </tr>
210
-
211
- <tr valign="top">
212
- <th scope="row" valign="top">
213
- Data Tracking
214
- </th>
215
- <td>
216
- <input id="track_data" name="sk_track_data" type="checkbox" <?php if ($sk_track_data): ?>CHECKED<?php endif ?> />
217
- <input type='hidden' name='status' value='<?php echo $status ?>'/>
218
- <label class="description" for="track_data">Help Sidekick by providing tracking data which will help us build better help tools.</label>
219
- </td>
220
- </tr>
221
- </tbody>
222
- </table>
223
- <?php submit_button('Update'); ?>
224
- </form>
225
- <?php endif ?>
226
-
227
- <h3>Welcome to the fastest and easiest way to learn WordPress</h3>
228
-
229
- <p></p>
230
- <p>Like SIDEKICK? Please leave us a 5 star rating on <a target='_blank' href='http://wordpress.org/plugins/sidekick/'>http://WordPress.org</a></p>
231
- <br/>
232
- <p>Here are a few things you should know:</p>
233
-
234
- <ul>
235
- <li>&nbsp;&nbsp;&nbsp;&nbsp;1. Clicking the check-box above will allow us to link your email address to the stats we collect so we can contact you if we have a question or notice an issue. It’s not mandatory, but it would help us out. </li>
236
- <li>&nbsp;&nbsp;&nbsp;&nbsp;2. Your Activation ID is unique and locked to this URL. </li>
237
- <li>&nbsp;&nbsp;&nbsp;&nbsp;3. Want even more Walkthroughs for WordPress, WooCommerce and more? <a target='_blank' href='http://www.sidekick.pro/wordpress/modules?utm_source=plugin_settings'>UPGRADE Now!</a> </li>
238
- <li>&nbsp;&nbsp;&nbsp;&nbsp;4. The Sidekick team adheres strictly to CANSPAM. From time to time we may send critical updates (such as security notices) to the email address setup as the Administrator on this site. </li>
239
- <li>&nbsp;&nbsp;&nbsp;&nbsp;5. If you have any questions, bug reports or feedback, please send them to <a target='_blank' href='mailto:info@sidekick.pro'>us</a> </li>
240
- <li>&nbsp;&nbsp;&nbsp;&nbsp;6. You can find our terms of use <a target='_blank' href='http://www.sidekick.pro/terms-of-use/'>here</a></li>
241
- </ul>
242
- <p>Thank you,</p>
243
- <br/>
244
-
245
- </div>
246
- <?php
247
- }
248
 
249
- function get_domain(){
250
- $site_url = get_site_url();
251
- if(substr($site_url, -1) == '/') {
252
- $site_url = substr($site_url, 0, -1);
253
- }
254
- $site_url = str_replace(array("http://","https://"),array(""),$site_url);
255
- return $site_url;
256
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
257
 
258
- function list_post_types(){
259
- global $wpdb;
260
- $query = "SELECT post_type, count(distinct ID) as count from {$wpdb->prefix}posts group by post_type";
261
- $counts = $wpdb->get_results($query);
262
- foreach ($counts as $key => $type) {
263
- $type->post_type = str_replace('-', '_', $type->post_type);
264
- echo "\n post_type_{$type->post_type} : $type->count,";
265
- }
266
  }
 
 
 
267
 
268
- function list_taxonomies(){
269
- global $wpdb;
270
- $query = "SELECT count(distinct term_taxonomy_id) as count, taxonomy from {$wpdb->prefix}term_taxonomy group by taxonomy";
271
- $counts = $wpdb->get_results($query);
272
- foreach ($counts as $key => $taxonomy) {
273
- $taxonomy->taxonomy = str_replace('-', '_', $taxonomy->taxonomy);
274
- echo "\n taxonomy_{$taxonomy->taxonomy} : $taxonomy->count,";
275
- }
276
  }
 
277
 
278
- function list_comments(){
279
- global $wpdb;
280
- $query = "SELECT count(distinct comment_ID) as count from {$wpdb->prefix}comments";
281
- $counts = $wpdb->get_var($query);
282
- echo "\n comment_count : $counts,";
 
 
283
  }
 
284
 
285
- function list_post_statuses(){
286
- global $wpdb;
287
- $query = "SELECT post_status, count(ID) as count from {$wpdb->prefix}posts group by post_status";
288
- $counts = $wpdb->get_results($query);
289
- foreach ($counts as $key => $type) {
290
- $type->post_status = str_replace('-', '_', $type->post_status);
291
- echo "\n post_status_{$type->post_status} : $type->count,";
292
- }
 
 
 
 
 
 
 
293
  }
 
294
 
295
- function get_user_data(){
296
- global $current_user;
297
- $data = get_userdata($current_user->ID);
298
- foreach ($data->allcaps as $cap => $val) {
299
- $cap = sanitize_title($cap);
300
- $cap = str_replace('-', '_', $cap);
301
- echo "\n cap_{$cap} : $val,";
302
- }
303
  }
 
304
 
305
- function get_current_url() {
306
 
307
- if (isset($_SERVER['REQUEST_URI'])) {
308
- return 'http'.(empty($_SERVER['HTTPS'])?'':'s').'://'.$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
309
- } else if (isset($_SERVER['PATH_INFO'])) {
310
- return $_SERVER['PATH_INFO'];
311
- } else {
312
- $host = $_SERVER['HTTP_HOST'];
313
- $port = $_SERVER['SERVER_PORT'];
314
- $request = $_SERVER['PHP_SELF'];
315
- $query = isset($_SERVER['argv']) ? substr($_SERVER['argv'][0], strpos($_SERVER['argv'][0], ';') + 1) : '';
316
- $toret = $protocol . '://' . $host . ($port == $protocol_port ? '' : ':' . $port) . $request . (empty($query) ? '' : '?' . $query);
317
- return $toret;
318
- }
319
  }
 
320
 
321
- function footer(){
322
- global $current_user, $wp_roles;
323
 
324
- $current_user = wp_get_current_user();
325
- $sk_just_activated = get_option( 'sk_just_activated' );
326
- $sk_track_data = get_option( 'sk_track_data' );
327
- $theme = wp_get_theme();
328
- $not_supported_ie = false;
329
 
330
- delete_option( 'sk_just_activated' );
331
- foreach($wp_roles->role_names as $role => $Role) {
332
- if (array_key_exists($role, $current_user->caps)){
333
- $user_role = $role;
334
- break;
335
- }
336
  }
 
337
 
338
- if(preg_match('/(?i)msie [6-8]/',$_SERVER['HTTP_USER_AGENT'])){
339
- $not_supported_ie = true;
340
- }
341
 
342
- $site_url = $this->get_domain();
343
 
344
- ?>
345
 
346
- <?php if (!$not_supported_ie): ?>
347
 
348
- <script type="text/javascript">
349
 
350
- var sk_config = {
351
- domain: '<?php echo str_replace("http://","",$_SERVER["SERVER_NAME"]) ?>',
352
- installed_plugins: <?php echo $this->list_plugins() ?>,
353
- installed_theme: '<?php echo $theme->Name ?>',
354
- library_free_file: '<?php echo (defined("SK_FREE_LIBRARY_FILE") ? SK_FREE_LIBRARY_FILE : '') ?>',
355
- library_paid_file: '<?php echo (defined("SK_PAID_LIBRARY_FILE") ? SK_PAID_LIBRARY_FILE : '') ?>',
356
- library_version: '<?php echo (defined("SK_LIBRARY_VERSION") ? SK_LIBRARY_VERSION : '') ?>',
357
- plugin_version: '<?php echo (defined("SK_PLUGIN_VERSION") ? SK_PLUGIN_VERSION : '') ?>',
358
- platform_version: '<?php echo (defined("SK_PLATFORM_VERSION") ? SK_PLATFORM_VERSION : '') ?>',
359
- main_soft_name: 'WordPress',
360
- main_soft_version: '<?php echo get_bloginfo("version") ?>',
361
- plugin_url: '<?php echo admin_url("admin.php?page=sidekick") ?>',
362
- current_url: '<?php echo $this->get_current_url() ?>',
363
- theme_version: '<?php echo $theme->Version ?>',
364
- site_url: '<?php echo $site_url ?>',
365
- track_data: '<?php echo get_option( "track_data" ) ?>',
366
- user_level: '<?php echo $user_role ?>',
367
- user_email: '<?php echo $current_user->user_email ?>',
368
- <?php $this->list_post_types() ?>
369
- <?php $this->list_taxonomies() ?>
370
- <?php $this->get_user_data() ?>
371
- <?php $this->list_comments() ?>
372
- <?php $this->list_post_statuses() ?>
373
- comment_count: 3,
374
- use_native_controls: false
 
375
  // open_bucket: 476
376
  }
377
- <?php if ($activation_id = get_option( "sk_activation_id" )){ ?>
378
- sk_config.activation_id = '<?php echo $activation_id ?>';
379
- <?php } ?>
380
- <?php if ($sk_just_activated): ?>
381
- sk_config.just_activated = true;
382
- sk_config.show_login = true;
383
- <?php endif; ?>
 
384
  </script>
385
  <?php endif ?>
386
  <?php
@@ -462,6 +469,8 @@ class Sidekick{
462
  }
463
 
464
  function activate_plugin(){
 
 
465
  update_option( 'sk_do_activation_redirect', true );
466
  $data = array(
467
  'source' => 'plugin',
@@ -469,14 +478,13 @@ class Sidekick{
469
  'type' => 'activate'
470
  );
471
  $this->track($data);
472
- // $this->redirect();
473
  }
474
 
475
  function redirect(){
476
  if (get_option('sk_do_activation_redirect', false)) {
477
  delete_option('sk_do_activation_redirect');
478
  $siteurl = get_site_url();
479
- wp_redirect($siteurl . "/wp-admin/options-general.php?page=sidekick&firstuse");
480
  die();
481
  }
482
  }
@@ -513,10 +521,8 @@ class Sidekick{
513
  }
514
 
515
  $sidekick = new Sidekick;
516
- if (!defined('SK_PLUGIN_DEGBUG')){
517
- register_activation_hook( __FILE__, array($sidekick,'activate_plugin') );
518
- register_deactivation_hook( __FILE__, array($sidekick,'deactivate_plugin') );
519
- }
520
 
521
  add_action('admin_menu', array($sidekick,'setup_menu'));
522
  add_action('admin_init', array($sidekick,'redirect'));
@@ -525,10 +531,6 @@ class Sidekick{
525
  if (!defined('SK_PLUGIN_DEGBUG'))
526
  require_once('sk_init.php');
527
 
528
- global $screen;
529
-
530
-
531
-
532
  if (!(isset($_GET['tab']) && $_GET['tab'] == 'plugin-information') && !defined('IFRAME_REQUEST')) {
533
  add_action('admin_footer', array($sidekick,'footer'));
534
  add_action('customize_controls_print_footer_scripts', array($sidekick,'footer'));
6
  Description: Adds a real-time WordPress training walkthroughs right in your Dashboard
7
  Requires at least: 3.7
8
  Tested up to: 3.9.1
9
+ Version: 1.3.5
10
  Author: Sidekick.pro
11
  Author URI: http://www.sidekick.pro
12
  */
13
 
14
+ define('SK_PLUGIN_VERSION','1.3.5');
15
  define('SK_LIBRARY_VERSION',5);
16
  define('SK_PLATFORM_VERSION',7);
17
+ define('DEFAULT_ACTIVATION_ID','xxxxxxxx-xxxx-xxxx-xxxx-xxxxfree');
18
 
19
  if ( ! defined( 'SK_SL_PLUGIN_DIR' ) ) define( 'SK_SL_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
20
  if ( ! defined( 'SK_SL_PLUGIN_URL' ) ) define( 'SK_SL_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
86
  delete_option('sk_activation_id');
87
  }
88
 
89
+ if (isset($_POST['sk_composer_button'])) {
90
+ update_option( 'sk_composer_button', true );
91
+ } else {
92
+ delete_option('sk_composer_button');
93
+ }
94
+
95
  if (isset($_POST['sk_track_data'])) {
96
  update_option( 'sk_track_data', true );
97
  } else {
99
  }
100
 
101
  update_option( 'sk_activated', true );
102
+ die('<script>window.open("' . get_site_url() . '/wp-admin/options-general.php?page=sidekick","_self")</script>');
103
  }
104
 
105
+ $activation_id = get_option( 'sk_activation_id' );
106
+ $email = get_option( 'sk_email' );
107
+ $first_name = get_option( 'sk_first_name' );
108
+ $sk_track_data = get_option( 'sk_track_data' );
109
+ $sk_composer_button = get_option ('sk_composer_button');
110
+ $error = null;
111
 
112
  if (defined('SK_PAID_LIBRARY_FILE') && $activation_id) {
113
  $_POST['activation_id'] = $activation_id;
155
 
156
  ?>
157
 
158
+ <?php if (get_option('sk_firstuse') == true): ?>
159
+ <?php delete_option('sk_firstuse') ?>
160
  <script type="text/javascript">
161
  jQuery(document).ready(function($) {
162
  jQuery('#sidekick #logo').trigger('click');
191
  <?php settings_fields('sk_license'); ?>
192
  <table class="form-table">
193
  <tbody>
194
+ <tr valign="top">
195
+ <th scope="row" valign="top">Activation ID</th>
196
+ <td><input class='regular-text' type='text' name='activation_id' value='<?php echo $activation_id ?>'></input></td>
197
+ </tr>
198
+
199
+ <tr valign="top">
200
+ <th scope="row" valign="top">Status</th>
201
+ <td><span style='color: green' class='<?php echo strtolower($status) ?>'><?php echo ucfirst($status) ?></span></td>
202
+ </tr>
203
+
204
+ <tr valign="top">
205
+ <th scope="row" valign="top">
206
+ Data Tracking
207
+ </th>
208
+ <td>
209
+ <input name="sk_track_data" type="checkbox" <?php if ($sk_track_data): ?>CHECKED<?php endif ?> />
210
+ <input type='hidden' name='status' value='<?php echo $status ?>'/>
211
+ <label class="description" for="track_data">Help Sidekick by providing tracking data which will help us build better help tools.</label>
212
+ </td>
213
+ </tr>
214
+
215
+ <tr valign="top" style='display: none'>
216
+ <th scope="row" valign="top">
217
+ Enable Composer Mode
218
+ </th>
219
+ <td>
220
+ <input name="sk_composer_button" type="checkbox" <?php if ($sk_composer_button): ?>CHECKED<?php endif ?> />
221
+ <label class="description" for="track_data">Enable Walkthrough creation.</label>
222
+ </td>
223
+ </tr>
224
+ </tbody>
225
+ </table>
226
+ <?php submit_button('Update'); ?>
227
+ </form>
228
+ <?php endif ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
229
 
230
+ <h3>Welcome to the fastest and easiest way to learn WordPress</h3>
231
+
232
+ <p></p>
233
+ <p>Like SIDEKICK? Please leave us a 5 star rating on <a target='_blank' href='http://wordpress.org/plugins/sidekick/'>http://WordPress.org</a></p>
234
+ <br/>
235
+ <p>Here are a few things you should know:</p>
236
+
237
+ <ul>
238
+ <li>&nbsp;&nbsp;&nbsp;&nbsp;1. Clicking the check-box above will allow us to link your email address to the stats we collect so we can contact you if we have a question or notice an issue. It’s not mandatory, but it would help us out. </li>
239
+ <li>&nbsp;&nbsp;&nbsp;&nbsp;2. Your Activation ID is unique and locked to this URL. </li>
240
+ <li>&nbsp;&nbsp;&nbsp;&nbsp;3. Want even more Walkthroughs for WordPress, WooCommerce and more? <a target='_blank' href='http://www.sidekick.pro/wordpress/modules?utm_source=plugin_settings'>UPGRADE Now!</a> </li>
241
+ <li>&nbsp;&nbsp;&nbsp;&nbsp;4. The Sidekick team adheres strictly to CANSPAM. From time to time we may send critical updates (such as security notices) to the email address setup as the Administrator on this site. </li>
242
+ <li>&nbsp;&nbsp;&nbsp;&nbsp;5. If you have any questions, bug reports or feedback, please send them to <a target='_blank' href='mailto:info@sidekick.pro'>us</a> </li>
243
+ <li>&nbsp;&nbsp;&nbsp;&nbsp;6. You can find our terms of use <a target='_blank' href='http://www.sidekick.pro/terms-of-use/'>here</a></li>
244
+ </ul>
245
+ <p>Thank you,</p>
246
+ <br/>
247
+
248
+ </div>
249
+ <?php
250
+ }
251
 
252
+ function get_domain(){
253
+ $site_url = get_site_url();
254
+ if(substr($site_url, -1) == '/') {
255
+ $site_url = substr($site_url, 0, -1);
 
 
 
 
256
  }
257
+ $site_url = str_replace(array("http://","https://"),array(""),$site_url);
258
+ return $site_url;
259
+ }
260
 
261
+ function list_post_types(){
262
+ global $wpdb;
263
+ $query = "SELECT post_type, count(distinct ID) as count from {$wpdb->prefix}posts group by post_type";
264
+ $counts = $wpdb->get_results($query);
265
+ foreach ($counts as $key => $type) {
266
+ $type->post_type = str_replace('-', '_', $type->post_type);
267
+ echo "\n post_type_{$type->post_type} : $type->count,";
 
268
  }
269
+ }
270
 
271
+ function list_taxonomies(){
272
+ global $wpdb;
273
+ $query = "SELECT count(distinct term_taxonomy_id) as count, taxonomy from {$wpdb->prefix}term_taxonomy group by taxonomy";
274
+ $counts = $wpdb->get_results($query);
275
+ foreach ($counts as $key => $taxonomy) {
276
+ $taxonomy->taxonomy = str_replace('-', '_', $taxonomy->taxonomy);
277
+ echo "\n taxonomy_{$taxonomy->taxonomy} : $taxonomy->count,";
278
  }
279
+ }
280
 
281
+ function list_comments(){
282
+ global $wpdb;
283
+ $query = "SELECT count(distinct comment_ID) as count from {$wpdb->prefix}comments";
284
+ $counts = $wpdb->get_var($query);
285
+ if (!$counts) $counts = 0;
286
+ echo "\n comment_count : $counts,";
287
+ }
288
+
289
+ function list_post_statuses(){
290
+ global $wpdb;
291
+ $query = "SELECT post_status, count(ID) as count from {$wpdb->prefix}posts group by post_status";
292
+ $counts = $wpdb->get_results($query);
293
+ foreach ($counts as $key => $type) {
294
+ $type->post_status = str_replace('-', '_', $type->post_status);
295
+ echo "\n post_status_{$type->post_status} : $type->count,";
296
  }
297
+ }
298
 
299
+ function get_user_data(){
300
+ global $current_user;
301
+ $data = get_userdata($current_user->ID);
302
+ echo "\n user_id : $current_user->ID,";
303
+ foreach ($data->allcaps as $cap => $val) {
304
+ $cap = sanitize_title($cap);
305
+ $cap = str_replace('-', '_', $cap);
306
+ echo "\n cap_{$cap} : $val,";
307
  }
308
+ }
309
 
310
+ function get_current_url() {
311
 
312
+ if (isset($_SERVER['REQUEST_URI'])) {
313
+ return 'http'.(empty($_SERVER['HTTPS'])?'':'s').'://'.$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
314
+ } else if (isset($_SERVER['PATH_INFO'])) {
315
+ return $_SERVER['PATH_INFO'];
316
+ } else {
317
+ $host = $_SERVER['HTTP_HOST'];
318
+ $port = $_SERVER['SERVER_PORT'];
319
+ $request = $_SERVER['PHP_SELF'];
320
+ $query = isset($_SERVER['argv']) ? substr($_SERVER['argv'][0], strpos($_SERVER['argv'][0], ';') + 1) : '';
321
+ $toret = $protocol . '://' . $host . ($port == $protocol_port ? '' : ':' . $port) . $request . (empty($query) ? '' : '?' . $query);
322
+ return $toret;
 
323
  }
324
+ }
325
 
326
+ function footer(){
327
+ global $current_user, $wp_roles;
328
 
329
+ $current_user = wp_get_current_user();
330
+ $sk_just_activated = get_option( 'sk_just_activated' );
331
+ $sk_track_data = get_option( 'sk_track_data' );
332
+ $theme = wp_get_theme();
333
+ $not_supported_ie = false;
334
 
335
+ delete_option( 'sk_just_activated' );
336
+ foreach($wp_roles->role_names as $role => $Role) {
337
+ if (array_key_exists($role, $current_user->caps)){
338
+ $user_role = $role;
339
+ break;
 
340
  }
341
+ }
342
 
343
+ if(preg_match('/(?i)msie [6-8]/',$_SERVER['HTTP_USER_AGENT'])){
344
+ $not_supported_ie = true;
345
+ }
346
 
347
+ $site_url = $this->get_domain();
348
 
349
+ ?>
350
 
351
+ <?php if (!$not_supported_ie): ?>
352
 
353
+ <script type="text/javascript">
354
 
355
+ var sk_config = {
356
+ domain: '<?php echo str_replace("http://","",$_SERVER["SERVER_NAME"]) ?>',
357
+ base_url: '<?php echo site_url() ?>',
358
+ installed_plugins: <?php echo $this->list_plugins() ?>,
359
+ installed_theme: '<?php echo $theme->Name ?>',
360
+ library_free_file: '<?php echo (defined("SK_FREE_LIBRARY_FILE") ? SK_FREE_LIBRARY_FILE : '') ?>',
361
+ library_paid_file: '<?php echo (defined("SK_PAID_LIBRARY_FILE") ? SK_PAID_LIBRARY_FILE : '') ?>',
362
+ library_version: '<?php echo (defined("SK_LIBRARY_VERSION") ? SK_LIBRARY_VERSION : '') ?>',
363
+ plugin_version: '<?php echo (defined("SK_PLUGIN_VERSION") ? SK_PLUGIN_VERSION : '') ?>',
364
+ platform_version: '<?php echo (defined("SK_PLATFORM_VERSION") ? SK_PLATFORM_VERSION : '') ?>',
365
+ main_soft_name: 'WordPress',
366
+ main_soft_version: '<?php echo get_bloginfo("version") ?>',
367
+ plugin_url: '<?php echo admin_url("admin.php?page=sidekick") ?>',
368
+ current_url: '<?php echo $this->get_current_url() ?>',
369
+ theme_version: '<?php echo $theme->Version ?>',
370
+ site_url: '<?php echo $site_url ?>',
371
+ track_data: '<?php echo get_option( "track_data" ) ?>',
372
+ user_level: '<?php echo $user_role ?>',
373
+ user_email: '<?php echo $current_user->user_email ?>',
374
+ is_multisite: <?php echo (is_multisite()) ? "true" : "false" ?>,
375
+ <?php $this->list_post_types() ?>
376
+ <?php $this->list_taxonomies() ?>
377
+ <?php $this->get_user_data() ?>
378
+ <?php $this->list_comments() ?>
379
+ <?php $this->list_post_statuses() ?>
380
+ use_native_controls: false
381
  // open_bucket: 476
382
  }
383
+ <?php if ($activation_id = get_option( "sk_activation_id" )){ ?>sk_config.activation_id = '<?php echo $activation_id ?>';<?php } ?>
384
+ <?php if (get_option( "sk_composer_button" )){ ?>sk_config.sk_composer_button = '<?php echo true ?>';<?php } ?>
385
+ <?php if ($sk_just_activated): ?>sk_config.just_activated = true;sk_config.show_login = true;<?php endif; ?>
386
+
387
+ var skc_config = {
388
+ API_URL: 'http://library.sidekick.pro/api'
389
+ }
390
+
391
  </script>
392
  <?php endif ?>
393
  <?php
469
  }
470
 
471
  function activate_plugin(){
472
+ die('activate_plugin');
473
+ update_option( 'sk_firstuse', true );
474
  update_option( 'sk_do_activation_redirect', true );
475
  $data = array(
476
  'source' => 'plugin',
478
  'type' => 'activate'
479
  );
480
  $this->track($data);
 
481
  }
482
 
483
  function redirect(){
484
  if (get_option('sk_do_activation_redirect', false)) {
485
  delete_option('sk_do_activation_redirect');
486
  $siteurl = get_site_url();
487
+ wp_redirect($siteurl . "/wp-admin/options-general.php?page=sidekick");
488
  die();
489
  }
490
  }
521
  }
522
 
523
  $sidekick = new Sidekick;
524
+ register_activation_hook( __FILE__, array($sidekick,'activate_plugin') );
525
+ register_deactivation_hook( __FILE__, array($sidekick,'deactivate_plugin') );
 
 
526
 
527
  add_action('admin_menu', array($sidekick,'setup_menu'));
528
  add_action('admin_init', array($sidekick,'redirect'));
531
  if (!defined('SK_PLUGIN_DEGBUG'))
532
  require_once('sk_init.php');
533
 
 
 
 
 
534
  if (!(isset($_GET['tab']) && $_GET['tab'] == 'plugin-information') && !defined('IFRAME_REQUEST')) {
535
  add_action('admin_footer', array($sidekick,'footer'));
536
  add_action('customize_controls_print_footer_scripts', array($sidekick,'footer'));