settings.php 104 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005
  1. <?php
  2. /**
  3. * Author: ExactMetrics team
  4. * Author URI: https://exactmetrics.com
  5. * Copyright 2018 ExactMetrics team
  6. * License: GPLv2 or later
  7. * License URI: http://www.gnu.org/licenses/gpl-2.0.html
  8. */
  9. // Exit if accessed directly
  10. if ( ! defined( 'ABSPATH' ) ) {
  11. exit();
  12. }
  13. final class GADWP_Settings {
  14. private static function update_options( $who ) {
  15. $gadwp = GADWP();
  16. $network_settings = false;
  17. $options = $gadwp->config->options; // Get current options
  18. if ( isset( $_POST['options']['gadwp_hidden'] ) && isset( $_POST['options'] ) && ( isset( $_POST['gadwp_security'] ) && wp_verify_nonce( $_POST['gadwp_security'], 'gadwp_form' ) ) && 'Reset' != $who ) {
  19. $new_options = $_POST['options'];
  20. if ( 'tracking' == $who ) {
  21. $options['ga_anonymize_ip'] = 0;
  22. $options['ga_optout'] = 0;
  23. $options['ga_dnt_optout'] = 0;
  24. $options['ga_event_tracking'] = 0;
  25. $options['ga_enhanced_links'] = 0;
  26. $options['ga_event_precision'] = 0;
  27. $options['ga_remarketing'] = 0;
  28. $options['ga_event_bouncerate'] = 0;
  29. $options['ga_crossdomain_tracking'] = 0;
  30. $options['ga_aff_tracking'] = 0;
  31. $options['ga_hash_tracking'] = 0;
  32. $options['ga_formsubmit_tracking'] = 0;
  33. $options['ga_force_ssl'] = 0;
  34. $options['ga_pagescrolldepth_tracking'] = 0;
  35. $options['tm_pagescrolldepth_tracking'] = 0;
  36. $options['tm_optout'] = 0;
  37. $options['tm_dnt_optout'] = 0;
  38. $options['amp_tracking_analytics'] = 0;
  39. $options['amp_tracking_clientidapi'] = 0;
  40. $options['amp_tracking_tagmanager'] = 0;
  41. $options['optimize_pagehiding'] = 0;
  42. $options['optimize_tracking'] = 0;
  43. $options['trackingcode_infooter'] = 0;
  44. $options['trackingevents_infooter'] = 0;
  45. $options['ga_with_gtag'] = 0;
  46. if ( isset( $_POST['options']['ga_tracking_code'] ) ) {
  47. $new_options['ga_tracking_code'] = trim( $new_options['ga_tracking_code'], "\t" );
  48. }
  49. if ( empty( $new_options['track_exclude'] ) ) {
  50. $new_options['track_exclude'] = array();
  51. }
  52. } elseif ( 'backend' == $who ) {
  53. $options['switch_profile'] = 0;
  54. $options['backend_item_reports'] = 0;
  55. $options['dashboard_widget'] = 0;
  56. $options['backend_realtime_report'] = 0;
  57. if ( empty( $new_options['access_back'] ) ) {
  58. $new_options['access_back'][] = 'administrator';
  59. }
  60. if ( ! is_multisite() ) {
  61. $options['hide_am_notices'] = 0;
  62. }
  63. } elseif ( 'frontend' == $who ) {
  64. $options['frontend_item_reports'] = 0;
  65. if ( empty( $new_options['access_front'] ) ) {
  66. $new_options['access_front'][] = 'administrator';
  67. }
  68. } elseif ( 'general' == $who ) {
  69. $options['user_api'] = 0;
  70. $options['usage_tracking'] = 0;
  71. if ( ! is_multisite() ) {
  72. $options['automatic_updates_minorversion'] = 0;
  73. }
  74. } elseif ( 'network' == $who ) {
  75. $options['user_api'] = 0;
  76. $options['network_mode'] = 0;
  77. $options['superadmin_tracking'] = 0;
  78. $options['automatic_updates_minorversion'] = 0;
  79. $network_settings = true;
  80. $options['network_hide_am_notices'] = 0;
  81. }
  82. if ( ! $network_settings && 'general' == $who ) {
  83. $usage_tracking = isset( $_POST['usage_tracking'] ) ? (int) $_POST['usage_tracking'] : 0;
  84. do_action( 'exactmetrics_settings_usage_tracking', $usage_tracking );
  85. }
  86. $options = array_merge( $options, $new_options );
  87. $gadwp->config->options = $options;
  88. $gadwp->config->set_plugin_options( $network_settings );
  89. }
  90. return $options;
  91. }
  92. private static function navigation_tabs( $tabs ) {
  93. echo '<h2 class="nav-tab-wrapper">';
  94. foreach ( $tabs as $tab => $name ) {
  95. echo "<a class='nav-tab' id='tab-$tab' href='#top#gadwp-$tab'>$name</a>";
  96. }
  97. echo '</h2>';
  98. }
  99. public static function frontend_settings() {
  100. $gadwp = GADWP();
  101. if ( ! current_user_can( 'manage_options' ) ) {
  102. return;
  103. }
  104. $options = self::update_options( 'frontend' );
  105. if ( isset( $_POST['options']['gadwp_hidden'] ) ) {
  106. $message = "<div class='updated' id='gadwp-autodismiss'><p>" . __( "Settings saved.", 'google-analytics-dashboard-for-wp' ) . "</p></div>";
  107. if ( ! ( isset( $_POST['gadwp_security'] ) && wp_verify_nonce( $_POST['gadwp_security'], 'gadwp_form' ) ) ) {
  108. $message = "<div class='error' id='gadwp-autodismiss'><p>" . __( "Cheating Huh?", 'google-analytics-dashboard-for-wp' ) . "</p></div>";
  109. }
  110. }
  111. if ( ! $gadwp->config->options['tableid_jail'] || ! $gadwp->config->options['token'] ) {
  112. $message = sprintf( '<div class="error"><p>%s</p></div>', sprintf( __( 'Something went wrong, check %1$s or %2$s.', 'google-analytics-dashboard-for-wp' ), sprintf( '<a href="%1$s">%2$s</a>', menu_page_url( 'gadwp_errors_debugging', false ), __( 'Errors & Debug', 'google-analytics-dashboard-for-wp' ) ), sprintf( '<a href="%1$s">%2$s</a>', menu_page_url( 'gadwp_settings', false ), __( 'authorize the plugin', 'google-analytics-dashboard-for-wp' ) ) ) );
  113. }
  114. ?>
  115. <form name="gadwp_form" method="post" action="<?php echo esc_url($_SERVER['REQUEST_URI']); ?>">
  116. <div class="wrap">
  117. <?php echo "<h2>" . __( "Google Analytics Frontend Settings", 'google-analytics-dashboard-for-wp' ) . "</h2>"; ?><hr>
  118. </div>
  119. <div id="poststuff" class="gadwp">
  120. <div id="post-body" class="metabox-holder columns-2">
  121. <div id="post-body-content">
  122. <div class="settings-wrapper">
  123. <div class="inside">
  124. <?php if (isset($message)) echo $message; ?>
  125. <table class="gadwp-settings-options">
  126. <tr>
  127. <td colspan="2"><?php echo "<h2>" . __( "Permissions", 'google-analytics-dashboard-for-wp' ) . "</h2>"; ?></td>
  128. </tr>
  129. <tr>
  130. <td class="roles gadwp-settings-title">
  131. <label for="access_front"><?php _e("Show stats to:", 'google-analytics-dashboard-for-wp' ); ?>
  132. </label>
  133. </td>
  134. <td class="gadwp-settings-roles">
  135. <table>
  136. <tr>
  137. <?php if ( ! isset( $wp_roles ) ) : ?>
  138. <?php $wp_roles = new WP_Roles(); ?>
  139. <?php endif; ?>
  140. <?php $i = 0; ?>
  141. <?php foreach ( $wp_roles->role_names as $role => $name ) : ?>
  142. <?php if ( 'subscriber' != $role ) : ?>
  143. <?php $i++; ?>
  144. <td>
  145. <label>
  146. <input type="checkbox" name="options[access_front][]" value="<?php echo $role; ?>" <?php if ( in_array($role,$options['access_front']) || 'administrator' == $role ) echo 'checked="checked"'; if ( 'administrator' == $role ) echo 'disabled="disabled"';?> /><?php echo $name; ?>
  147. </label>
  148. </td>
  149. <?php endif; ?>
  150. <?php if ( 0 == $i % 4 ) : ?>
  151. </tr>
  152. <tr>
  153. <?php endif; ?>
  154. <?php endforeach; ?>
  155. </table>
  156. </td>
  157. </tr>
  158. <tr>
  159. <td colspan="2" class="gadwp-settings-title">
  160. <div class="button-primary gadwp-settings-switchoo">
  161. <input type="checkbox" name="options[frontend_item_reports]" value="1" class="gadwp-settings-switchoo-checkbox" id="frontend_item_reports" <?php checked( $options['frontend_item_reports'], 1 ); ?>>
  162. <label class="gadwp-settings-switchoo-label" for="frontend_item_reports">
  163. <div class="gadwp-settings-switchoo-inner"></div>
  164. <div class="gadwp-settings-switchoo-switch"></div>
  165. </label>
  166. </div>
  167. <div class="switch-desc"><?php echo " ".__("enable web page reports on frontend", 'google-analytics-dashboard-for-wp' );?></div>
  168. </td>
  169. </tr>
  170. <tr>
  171. <td colspan="2">
  172. <hr>
  173. </td>
  174. </tr>
  175. <tr>
  176. <td colspan="2" class="submit">
  177. <input type="submit" name="Submit" class="button button-primary" value="<?php _e('Save Changes', 'google-analytics-dashboard-for-wp' ) ?>" />
  178. </td>
  179. </tr>
  180. </table>
  181. <input type="hidden" name="options[gadwp_hidden]" value="Y">
  182. <?php wp_nonce_field('gadwp_form','gadwp_security');?>
  183. </form>
  184. <?php
  185. self::output_sidebar();
  186. }
  187. public static function backend_settings() {
  188. $gadwp = GADWP();
  189. if ( ! current_user_can( 'manage_options' ) ) {
  190. return;
  191. }
  192. $options = self::update_options( 'backend' );
  193. if ( isset( $_POST['options']['gadwp_hidden'] ) ) {
  194. $message = "<div class='updated' id='gadwp-autodismiss'><p>" . __( "Settings saved.", 'google-analytics-dashboard-for-wp' ) . "</p></div>";
  195. if ( ! ( isset( $_POST['gadwp_security'] ) && wp_verify_nonce( $_POST['gadwp_security'], 'gadwp_form' ) ) ) {
  196. $message = "<div class='error' id='gadwp-autodismiss'><p>" . __( "Cheating Huh?", 'google-analytics-dashboard-for-wp' ) . "</p></div>";
  197. }
  198. }
  199. if ( ! $gadwp->config->options['tableid_jail'] || ! $gadwp->config->options['token'] ) {
  200. $message = sprintf( '<div class="error"><p>%s</p></div>', sprintf( __( 'Something went wrong, check %1$s or %2$s.', 'google-analytics-dashboard-for-wp' ), sprintf( '<a href="%1$s">%2$s</a>', menu_page_url( 'gadwp_errors_debugging', false ), __( 'Errors & Debug', 'google-analytics-dashboard-for-wp' ) ), sprintf( '<a href="%1$s">%2$s</a>', menu_page_url( 'gadwp_settings', false ), __( 'authorize the plugin', 'google-analytics-dashboard-for-wp' ) ) ) );
  201. }
  202. ?>
  203. <form name="gadwp_form" method="post" action="<?php echo esc_url($_SERVER['REQUEST_URI']); ?>">
  204. <div class="wrap">
  205. <?php echo "<h2>" . __( "Google Analytics Backend Settings", 'google-analytics-dashboard-for-wp' ) . "</h2>"; ?><hr>
  206. </div>
  207. <div id="poststuff" class="gadwp">
  208. <div id="post-body" class="metabox-holder columns-2">
  209. <div id="post-body-content">
  210. <div class="settings-wrapper">
  211. <div class="inside">
  212. <?php if (isset($message)) echo $message; ?>
  213. <table class="gadwp-settings-options">
  214. <tr>
  215. <td colspan="2"><?php echo "<h2>" . __( "Permissions", 'google-analytics-dashboard-for-wp' ) . "</h2>"; ?></td>
  216. </tr>
  217. <tr>
  218. <td class="roles gadwp-settings-title">
  219. <label for="access_back"><?php _e("Show stats to:", 'google-analytics-dashboard-for-wp' ); ?>
  220. </label>
  221. </td>
  222. <td class="gadwp-settings-roles">
  223. <table>
  224. <tr>
  225. <?php if ( ! isset( $wp_roles ) ) : ?>
  226. <?php $wp_roles = new WP_Roles(); ?>
  227. <?php endif; ?>
  228. <?php $i = 0; ?>
  229. <?php foreach ( $wp_roles->role_names as $role => $name ) : ?>
  230. <?php if ( 'subscriber' != $role ) : ?>
  231. <?php $i++; ?>
  232. <td>
  233. <label>
  234. <input type="checkbox" name="options[access_back][]" value="<?php echo $role; ?>" <?php if ( in_array($role,$options['access_back']) || 'administrator' == $role ) echo 'checked="checked"'; if ( 'administrator' == $role ) echo 'disabled="disabled"';?> /> <?php echo $name; ?>
  235. </label>
  236. </td>
  237. <?php endif; ?>
  238. <?php if ( 0 == $i % 4 ) : ?>
  239. </tr>
  240. <tr>
  241. <?php endif; ?>
  242. <?php endforeach; ?>
  243. </table>
  244. </td>
  245. </tr>
  246. <tr>
  247. <td colspan="2" class="gadwp-settings-title">
  248. <div class="button-primary gadwp-settings-switchoo">
  249. <input type="checkbox" name="options[switch_profile]" value="1" class="gadwp-settings-switchoo-checkbox" id="switch_profile" <?php checked( $options['switch_profile'], 1 ); ?>>
  250. <label class="gadwp-settings-switchoo-label" for="switch_profile">
  251. <div class="gadwp-settings-switchoo-inner"></div>
  252. <div class="gadwp-settings-switchoo-switch"></div>
  253. </label>
  254. </div>
  255. <div class="switch-desc"><?php _e ( "enable Switch View functionality", 'google-analytics-dashboard-for-wp' );?></div>
  256. </td>
  257. </tr>
  258. <tr>
  259. <td colspan="2" class="gadwp-settings-title">
  260. <div class="button-primary gadwp-settings-switchoo">
  261. <input type="checkbox" name="options[backend_item_reports]" value="1" class="gadwp-settings-switchoo-checkbox" id="backend_item_reports" <?php checked( $options['backend_item_reports'], 1 ); ?>>
  262. <label class="gadwp-settings-switchoo-label" for="backend_item_reports">
  263. <div class="gadwp-settings-switchoo-inner"></div>
  264. <div class="gadwp-settings-switchoo-switch"></div>
  265. </label>
  266. </div>
  267. <div class="switch-desc"><?php _e ( "enable reports on Posts List and Pages List", 'google-analytics-dashboard-for-wp' );?></div>
  268. </td>
  269. </tr>
  270. <tr>
  271. <td colspan="2" class="gadwp-settings-title">
  272. <div class="button-primary gadwp-settings-switchoo">
  273. <input type="checkbox" name="options[dashboard_widget]" value="1" class="gadwp-settings-switchoo-checkbox" id="dashboard_widget" <?php checked( $options['dashboard_widget'], 1 ); ?>>
  274. <label class="gadwp-settings-switchoo-label" for="dashboard_widget">
  275. <div class="gadwp-settings-switchoo-inner"></div>
  276. <div class="gadwp-settings-switchoo-switch"></div>
  277. </label>
  278. </div>
  279. <div class="switch-desc"><?php _e ( "enable the main Dashboard Widget", 'google-analytics-dashboard-for-wp' );?></div>
  280. </td>
  281. </tr>
  282. <tr>
  283. <td colspan="2">
  284. <hr><?php echo "<h2>" . __( "Real-Time Settings", 'google-analytics-dashboard-for-wp' ) . "</h2>"; ?></td>
  285. </tr>
  286. <?php if ( $options['user_api'] ) : ?>
  287. <tr>
  288. <td colspan="2" class="gadwp-settings-title">
  289. <div class="button-primary gadwp-settings-switchoo">
  290. <input type="checkbox" name="options[backend_realtime_report]" value="1" class="gadwp-settings-switchoo-checkbox" id="backend_realtime_report" <?php checked( $options['backend_realtime_report'], 1 ); ?>>
  291. <label class="gadwp-settings-switchoo-label" for="backend_realtime_report">
  292. <div class="gadwp-settings-switchoo-inner"></div>
  293. <div class="gadwp-settings-switchoo-switch"></div>
  294. </label>
  295. </div>
  296. <div class="switch-desc"><?php _e ( "enable Real-Time report (requires access to Real-Time Reporting API)", 'google-analytics-dashboard-for-wp' );?></div>
  297. </td>
  298. </tr>
  299. <?php endif; ?>
  300. <tr>
  301. <td colspan="2" class="gadwp-settings-title"> <?php _e("Maximum number of pages to display on real-time tab:", 'google-analytics-dashboard-for-wp'); ?>
  302. <input type="number" name="options[ga_realtime_pages]" id="ga_realtime_pages" value="<?php echo (int)$options['ga_realtime_pages']; ?>" size="3">
  303. </td>
  304. </tr>
  305. <tr>
  306. <td colspan="2">
  307. <hr><?php echo "<h2>" . __( "Location Settings", 'google-analytics-dashboard-for-wp' ) . "</h2>"; ?></td>
  308. </tr>
  309. <tr>
  310. <td colspan="2" class="gadwp-settings-title">
  311. <?php echo __("Target Geo Map to country:", 'google-analytics-dashboard-for-wp'); ?>
  312. <input type="text" style="text-align: center;" name="options[ga_target_geomap]" value="<?php echo esc_attr($options['ga_target_geomap']); ?>" size="3">
  313. </td>
  314. </tr>
  315. <tr>
  316. <td colspan="2" class="gadwp-settings-title">
  317. <?php echo __("Maps API Key:", 'google-analytics-dashboard-for-wp'); ?>
  318. <input type="text" style="text-align: center;" name="options[maps_api_key]" value="<?php echo esc_attr($options['maps_api_key']); ?>" size="50">
  319. </td>
  320. </tr>
  321. <tr>
  322. <td colspan="2">
  323. <hr><?php echo "<h2>" . __( "404 Errors Report", 'google-analytics-dashboard-for-wp' ) . "</h2>"; ?></td>
  324. </tr>
  325. <tr>
  326. <td colspan="2" class="gadwp-settings-title">
  327. <?php echo __("404 Page Title contains:", 'google-analytics-dashboard-for-wp'); ?>
  328. <input type="text" style="text-align: center;" name="options[pagetitle_404]" value="<?php echo esc_attr($options['pagetitle_404']); ?>" size="20">
  329. </td>
  330. </tr>
  331. <tr>
  332. <td colspan="2">
  333. <hr>
  334. </td>
  335. </tr>
  336. <?php if ( ! is_multisite()) :?>
  337. <tr>
  338. <td colspan="2"><?php echo "<h2>" . __( "Hide Announcements", 'google-analytics-dashboard-for-wp' ) . "</h2>"; ?></td>
  339. </tr>
  340. <tr>
  341. <td colspan="2" class="gadwp-settings-title">
  342. <div class="button-primary gadwp-settings-switchoo">
  343. <input type="checkbox" name="options[hide_am_notices]" value="1" class="gadwp-settings-switchoo-checkbox" id="hide_am_notices" <?php checked( $options['hide_am_notices'], 1 ); ?>>
  344. <label class="gadwp-settings-switchoo-label" for="hide_am_notices">
  345. <div class="gadwp-settings-switchoo-inner"></div>
  346. <div class="gadwp-settings-switchoo-switch"></div>
  347. </label>
  348. </div>
  349. <div class="switch-desc"><?php echo esc_html__( 'Hides plugin announcements and update details. This includes critical notices we use to inform about deprecations and important required configuration changes.' ); ?></div>
  350. </td>
  351. </tr>
  352. <tr>
  353. <td colspan="2">
  354. <hr>
  355. </td>
  356. </tr>
  357. <?php endif; ?>
  358. <tr>
  359. <td colspan="2" class="submit">
  360. <input type="submit" name="Submit" class="button button-primary" value="<?php _e('Save Changes', 'google-analytics-dashboard-for-wp' ) ?>" />
  361. </td>
  362. </tr>
  363. </table>
  364. <input type="hidden" name="options[gadwp_hidden]" value="Y">
  365. <?php wp_nonce_field('gadwp_form','gadwp_security'); ?>
  366. </form>
  367. <?php
  368. self::output_sidebar();
  369. }
  370. public static function tracking_settings() {
  371. $gadwp = GADWP();
  372. if ( ! current_user_can( 'manage_options' ) ) {
  373. return;
  374. }
  375. $options = self::update_options( 'tracking' );
  376. if ( isset( $_POST['options']['gadwp_hidden'] ) ) {
  377. $message = "<div class='updated' id='gadwp-autodismiss'><p>" . __( "Settings saved.", 'google-analytics-dashboard-for-wp' ) . "</p></div>";
  378. if ( ! ( isset( $_POST['gadwp_security'] ) && wp_verify_nonce( $_POST['gadwp_security'], 'gadwp_form' ) ) ) {
  379. $message = "<div class='error' id='gadwp-autodismiss'><p>" . __( "Cheating Huh?", 'google-analytics-dashboard-for-wp' ) . "</p></div>";
  380. }
  381. }
  382. if ( ! $gadwp->config->options['tableid_jail'] ) {
  383. $message = sprintf( '<div class="error"><p>%s</p></div>', sprintf( __( 'Something went wrong, check %1$s or %2$s.', 'google-analytics-dashboard-for-wp' ), sprintf( '<a href="%1$s">%2$s</a>', menu_page_url( 'gadwp_errors_debugging', false ), __( 'Errors & Debug', 'google-analytics-dashboard-for-wp' ) ), sprintf( '<a href="%1$s">%2$s</a>', menu_page_url( 'gadwp_settings', false ), __( 'authorize the plugin', 'google-analytics-dashboard-for-wp' ) ) ) );
  384. }
  385. ?>
  386. <form name="gadwp_form" method="post" action="<?php esc_url($_SERVER['REQUEST_URI']); ?>">
  387. <div class="wrap">
  388. <?php echo "<h2>" . __( "Google Analytics Tracking Code", 'google-analytics-dashboard-for-wp' ) . "</h2>"; ?>
  389. </div>
  390. <div id="poststuff" class="gadwp">
  391. <div id="post-body" class="metabox-holder columns-2">
  392. <div id="post-body-content">
  393. <div class="settings-wrapper">
  394. <div class="inside">
  395. <?php if ( 'universal' == $options['tracking_type'] ) :?>
  396. <?php $tabs = array( 'basic' => __( "Basic Settings", 'google-analytics-dashboard-for-wp' ), 'events' => __( "Events Tracking", 'google-analytics-dashboard-for-wp' ), 'custom' => __( "Custom Definitions", 'google-analytics-dashboard-for-wp' ), 'exclude' => __( "Exclude Tracking", 'google-analytics-dashboard-for-wp' ), 'advanced' => __( "Advanced Settings", 'google-analytics-dashboard-for-wp' ), 'integration' => __( "Integration", 'google-analytics-dashboard-for-wp' ) );?>
  397. <?php elseif ( 'tagmanager' == $options['tracking_type'] ) :?>
  398. <?php $tabs = array( 'basic' => __( "Basic Settings", 'google-analytics-dashboard-for-wp' ), 'tmdatalayervars' => __( "DataLayer Variables", 'google-analytics-dashboard-for-wp' ), 'exclude' => __( "Exclude Tracking", 'google-analytics-dashboard-for-wp' ), 'tmadvanced' => __( "Advanced Settings", 'google-analytics-dashboard-for-wp' ), 'tmintegration' => __( "Integration", 'google-analytics-dashboard-for-wp' ) );?>
  399. <?php else :?>
  400. <?php $tabs = array( 'basic' => __( "Basic Settings", 'google-analytics-dashboard-for-wp' ) );?>
  401. <?php endif; ?>
  402. <?php self::navigation_tabs( $tabs ); ?>
  403. <?php if ( isset( $message ) ) : ?>
  404. <?php echo $message; ?>
  405. <?php endif; ?>
  406. <div id="gadwp-basic">
  407. <table class="gadwp-settings-options">
  408. <tr>
  409. <td colspan="2"><?php echo "<h2>" . __( "Tracking Settings", 'google-analytics-dashboard-for-wp' ) . "</h2>"; ?></td>
  410. </tr>
  411. <tr>
  412. <td class="gadwp-settings-title">
  413. <label for="tracking_type"><?php _e("Tracking Type:", 'google-analytics-dashboard-for-wp' ); ?>
  414. </label>
  415. </td>
  416. <td>
  417. <select id="tracking_type" name="options[tracking_type]" onchange="this.form.submit()">
  418. <option value="universal" <?php selected( $options['tracking_type'], 'universal' ); ?>><?php _e("Analytics", 'google-analytics-dashboard-for-wp');?></option>
  419. <option value="tagmanager" <?php selected( $options['tracking_type'], 'tagmanager' ); ?>><?php _e("Tag Manager", 'google-analytics-dashboard-for-wp');?></option>
  420. <option value="disabled" <?php selected( $options['tracking_type'], 'disabled' ); ?>><?php _e("Disabled", 'google-analytics-dashboard-for-wp');?></option>
  421. </select>
  422. </td>
  423. </tr>
  424. <?php if ( 'universal' == $options['tracking_type'] ) : ?>
  425. <tr>
  426. <td class="gadwp-settings-title"></td>
  427. <td>
  428. <?php $profile_info = GADWP_Tools::get_selected_profile($gadwp->config->options['ga_profiles_list'], $gadwp->config->options['tableid_jail']); ?>
  429. <?php echo '<pre>' . __("View Name:", 'google-analytics-dashboard-for-wp') . "\t" . esc_html($profile_info[0]) . "<br />" . __("Tracking ID:", 'google-analytics-dashboard-for-wp') . "\t" . esc_html($profile_info[2]) . "<br />" . __("Default URL:", 'google-analytics-dashboard-for-wp') . "\t" . esc_html($profile_info[3]) . "<br />" . __("Time Zone:", 'google-analytics-dashboard-for-wp') . "\t" . esc_html($profile_info[5]) . '</pre>';?>
  430. </td>
  431. </tr>
  432. <tr>
  433. <td colspan="2" class="gadwp-settings-title">
  434. <div class="button-primary gadwp-settings-switchoo">
  435. <input type="checkbox" name="options[ga_with_gtag]" value="1" class="gadwp-settings-switchoo-checkbox" id="ga_with_gtag" <?php checked( $options['ga_with_gtag'], 1 ); ?>>
  436. <label class="gadwp-settings-switchoo-label" for="ga_with_gtag">
  437. <div class="gadwp-settings-switchoo-inner"></div>
  438. <div class="gadwp-settings-switchoo-switch"></div>
  439. </label>
  440. </div>
  441. <div class="switch-desc"><?php echo " ".__("use global site tag gtag.js (not recommended)", 'google-analytics-dashboard-for-wp' );?></div>
  442. </td>
  443. </tr>
  444. <?php elseif ( 'tagmanager' == $options['tracking_type'] ) : ?>
  445. <tr>
  446. <td class="gadwp-settings-title">
  447. <label for="tracking_type"><?php _e("Web Container ID:", 'google-analytics-dashboard-for-wp' ); ?>
  448. </label>
  449. </td>
  450. <td>
  451. <input type="text" name="options[web_containerid]" value="<?php echo esc_attr($options['web_containerid']); ?>" size="15">
  452. </td>
  453. </tr>
  454. <?php endif; ?>
  455. <tr>
  456. <td class="gadwp-settings-title">
  457. <label for="trackingcode_infooter"><?php _e("Code Placement:", 'google-analytics-dashboard-for-wp' ); ?>
  458. </label>
  459. </td>
  460. <td>
  461. <select id="trackingcode_infooter" name="options[trackingcode_infooter]">
  462. <option value="0" <?php selected( $options['trackingcode_infooter'], 0 ); ?>><?php _e("HTML Head", 'google-analytics-dashboard-for-wp');?></option>
  463. <option value="1" <?php selected( $options['trackingcode_infooter'], 1 ); ?>><?php _e("HTML Body", 'google-analytics-dashboard-for-wp');?></option>
  464. </select>
  465. </td>
  466. </tr>
  467. </table>
  468. </div>
  469. <div id="gadwp-events">
  470. <table class="gadwp-settings-options">
  471. <tr>
  472. <td colspan="2"><?php echo "<h2>" . __( "Events Tracking", 'google-analytics-dashboard-for-wp' ) . "</h2>"; ?></td>
  473. </tr>
  474. <tr>
  475. <td colspan="2" class="gadwp-settings-title">
  476. <div class="button-primary gadwp-settings-switchoo">
  477. <input type="checkbox" name="options[ga_event_tracking]" value="1" class="gadwp-settings-switchoo-checkbox" id="ga_event_tracking" <?php checked( $options['ga_event_tracking'], 1 ); ?>>
  478. <label class="gadwp-settings-switchoo-label" for="ga_event_tracking">
  479. <div class="gadwp-settings-switchoo-inner"></div>
  480. <div class="gadwp-settings-switchoo-switch"></div>
  481. </label>
  482. </div>
  483. <div class="switch-desc"><?php echo " ".__("track downloads, mailto, telephone and outbound links", 'google-analytics-dashboard-for-wp' ); ?></div>
  484. </td>
  485. </tr>
  486. <tr>
  487. <td colspan="2" class="gadwp-settings-title">
  488. <div class="button-primary gadwp-settings-switchoo">
  489. <input type="checkbox" name="options[ga_aff_tracking]" value="1" class="gadwp-settings-switchoo-checkbox" id="ga_aff_tracking" <?php checked( $options['ga_aff_tracking'], 1 ); ?>>
  490. <label class="gadwp-settings-switchoo-label" for="ga_aff_tracking">
  491. <div class="gadwp-settings-switchoo-inner"></div>
  492. <div class="gadwp-settings-switchoo-switch"></div>
  493. </label>
  494. </div>
  495. <div class="switch-desc"><?php echo " ".__("track affiliate links", 'google-analytics-dashboard-for-wp' ); ?></div>
  496. </td>
  497. </tr>
  498. <tr>
  499. <td colspan="2" class="gadwp-settings-title">
  500. <div class="button-primary gadwp-settings-switchoo">
  501. <input type="checkbox" name="options[ga_hash_tracking]" value="1" class="gadwp-settings-switchoo-checkbox" id="ga_hash_tracking" <?php checked( $options['ga_hash_tracking'], 1 ); ?>>
  502. <label class="gadwp-settings-switchoo-label" for="ga_hash_tracking">
  503. <div class="gadwp-settings-switchoo-inner"></div>
  504. <div class="gadwp-settings-switchoo-switch"></div>
  505. </label>
  506. </div>
  507. <div class="switch-desc"><?php echo " ".__("track fragment identifiers, hashmarks (#) in URI links", 'google-analytics-dashboard-for-wp' ); ?></div>
  508. </td>
  509. </tr>
  510. <tr>
  511. <td colspan="2" class="gadwp-settings-title">
  512. <div class="button-primary gadwp-settings-switchoo">
  513. <input type="checkbox" name="options[ga_formsubmit_tracking]" value="1" class="gadwp-settings-switchoo-checkbox" id="ga_formsubmit_tracking" <?php checked( $options['ga_formsubmit_tracking'], 1 ); ?>>
  514. <label class="gadwp-settings-switchoo-label" for="ga_formsubmit_tracking">
  515. <div class="gadwp-settings-switchoo-inner"></div>
  516. <div class="gadwp-settings-switchoo-switch"></div>
  517. </label>
  518. </div>
  519. <div class="switch-desc"><?php echo " ".__("track form submit actions", 'google-analytics-dashboard-for-wp' ); ?></div>
  520. </td>
  521. </tr>
  522. <tr>
  523. <td colspan="2" class="gadwp-settings-title">
  524. <div class="button-primary gadwp-settings-switchoo">
  525. <input type="checkbox" name="options[ga_pagescrolldepth_tracking]" value="1" class="gadwp-settings-switchoo-checkbox" id="ga_pagescrolldepth_tracking" <?php checked( $options['ga_pagescrolldepth_tracking'], 1 ); ?>>
  526. <label class="gadwp-settings-switchoo-label" for="ga_pagescrolldepth_tracking">
  527. <div class="gadwp-settings-switchoo-inner"></div>
  528. <div class="gadwp-settings-switchoo-switch"></div>
  529. </label>
  530. </div>
  531. <div class="switch-desc"><?php echo " ".__("track page scrolling depth", 'google-analytics-dashboard-for-wp' ); ?></div>
  532. </td>
  533. </tr>
  534. <tr>
  535. <td class="gadwp-settings-title">
  536. <label for="ga_event_downloads"><?php _e("Downloads Regex:", 'google-analytics-dashboard-for-wp'); ?>
  537. </label>
  538. </td>
  539. <td>
  540. <input type="text" id="ga_event_downloads" name="options[ga_event_downloads]" value="<?php echo esc_attr($options['ga_event_downloads']); ?>" size="50">
  541. </td>
  542. </tr>
  543. <tr>
  544. <td class="gadwp-settings-title">
  545. <label for="ga_event_affiliates"><?php _e("Affiliates Regex:", 'google-analytics-dashboard-for-wp'); ?>
  546. </label>
  547. </td>
  548. <td>
  549. <input type="text" id="ga_event_affiliates" name="options[ga_event_affiliates]" value="<?php echo esc_attr($options['ga_event_affiliates']); ?>" size="50">
  550. </td>
  551. </tr>
  552. <tr>
  553. <td class="gadwp-settings-title">
  554. <label for="trackingevents_infooter"><?php _e("Code Placement:", 'google-analytics-dashboard-for-wp' ); ?>
  555. </label>
  556. </td>
  557. <td>
  558. <select id="trackingevents_infooter" name="options[trackingevents_infooter]">
  559. <option value="0" <?php selected( $options['trackingevents_infooter'], 0 ); ?>><?php _e("HTML Head", 'google-analytics-dashboard-for-wp');?></option>
  560. <option value="1" <?php selected( $options['trackingevents_infooter'], 1 ); ?>><?php _e("HTML Body", 'google-analytics-dashboard-for-wp');?></option>
  561. </select>
  562. </td>
  563. </tr>
  564. </table>
  565. </div>
  566. <div id="gadwp-custom">
  567. <table class="gadwp-settings-options">
  568. <tr>
  569. <td colspan="2"><?php echo "<h2>" . __( "Custom Dimensions", 'google-analytics-dashboard-for-wp' ) . "</h2>"; ?></td>
  570. </tr>
  571. <tr>
  572. <td class="gadwp-settings-title">
  573. <label for="ga_author_dimindex"><?php _e("Authors:", 'google-analytics-dashboard-for-wp' ); ?>
  574. </label>
  575. </td>
  576. <td>
  577. <select id="ga_author_dimindex" name="options[ga_author_dimindex]">
  578. <?php for ($i=0;$i<21;$i++) : ?>
  579. <option value="<?php echo $i;?>" <?php selected( $options['ga_author_dimindex'], $i ); ?>><?php echo 0 == $i ?'Disabled':'dimension '.$i; ?></option>
  580. <?php endfor; ?>
  581. </select>
  582. </td>
  583. </tr>
  584. <tr>
  585. <td class="gadwp-settings-title">
  586. <label for="ga_pubyear_dimindex"><?php _e("Publication Year:", 'google-analytics-dashboard-for-wp' ); ?>
  587. </label>
  588. </td>
  589. <td>
  590. <select id="ga_pubyear_dimindex" name="options[ga_pubyear_dimindex]">
  591. <?php for ($i=0;$i<21;$i++) : ?>
  592. <option value="<?php echo $i;?>" <?php selected( $options['ga_pubyear_dimindex'], $i ); ?>><?php echo 0 == $i ?'Disabled':'dimension '.$i; ?></option>
  593. <?php endfor; ?>
  594. </select>
  595. </td>
  596. </tr>
  597. <tr>
  598. <td class="gadwp-settings-title">
  599. <label for="ga_pubyearmonth_dimindex"><?php _e("Publication Month:", 'google-analytics-dashboard-for-wp' ); ?>
  600. </label>
  601. </td>
  602. <td>
  603. <select id="ga_pubyearmonth_dimindex" name="options[ga_pubyearmonth_dimindex]">
  604. <?php for ($i=0;$i<21;$i++) : ?>
  605. <option value="<?php echo $i;?>" <?php selected( $options['ga_pubyearmonth_dimindex'], $i ); ?>><?php echo 0 == $i ?'Disabled':'dimension '.$i; ?></option>
  606. <?php endfor; ?>
  607. </select>
  608. </td>
  609. </tr>
  610. <tr>
  611. <td class="gadwp-settings-title">
  612. <label for="ga_category_dimindex"><?php _e("Categories:", 'google-analytics-dashboard-for-wp' ); ?>
  613. </label>
  614. </td>
  615. <td>
  616. <select id="ga_category_dimindex" name="options[ga_category_dimindex]">
  617. <?php for ($i=0;$i<21;$i++) : ?>
  618. <option value="<?php echo $i;?>" <?php selected( $options['ga_category_dimindex'], $i ); ?>><?php echo 0 == $i ? 'Disabled':'dimension '.$i; ?></option>
  619. <?php endfor; ?>
  620. </select>
  621. </td>
  622. </tr>
  623. <tr>
  624. <td class="gadwp-settings-title">
  625. <label for="ga_user_dimindex"><?php _e("User Type:", 'google-analytics-dashboard-for-wp' ); ?>
  626. </label>
  627. </td>
  628. <td>
  629. <select id="ga_user_dimindex" name="options[ga_user_dimindex]">
  630. <?php for ($i=0;$i<21;$i++) : ?>
  631. <option value="<?php echo $i;?>" <?php selected( $options['ga_user_dimindex'], $i ); ?>><?php echo 0 == $i ? 'Disabled':'dimension '.$i; ?></option>
  632. <?php endfor; ?>
  633. </select>
  634. </td>
  635. </tr>
  636. <tr>
  637. <td class="gadwp-settings-title">
  638. <label for="ga_tag_dimindex"><?php _e("Tags:", 'google-analytics-dashboard-for-wp' ); ?>
  639. </label>
  640. </td>
  641. <td>
  642. <select id="ga_tag_dimindex" name="options[ga_tag_dimindex]">
  643. <?php for ($i=0;$i<21;$i++) : ?>
  644. <option value="<?php echo $i;?>" <?php selected( $options['ga_tag_dimindex'], $i ); ?>><?php echo 0 == $i ? 'Disabled':'dimension '.$i; ?></option>
  645. <?php endfor; ?>
  646. </select>
  647. </td>
  648. </tr>
  649. </table>
  650. </div>
  651. <div id="gadwp-tmdatalayervars">
  652. <table class="gadwp-settings-options">
  653. <tr>
  654. <td colspan="2"><?php echo "<h2>" . __( "Main Variables", 'google-analytics-dashboard-for-wp' ) . "</h2>"; ?></td>
  655. </tr>
  656. <tr>
  657. <td class="gadwp-settings-title">
  658. <label for="tm_author_var"><?php _e("Authors:", 'google-analytics-dashboard-for-wp' ); ?>
  659. </label>
  660. </td>
  661. <td>
  662. <select id="tm_author_var" name="options[tm_author_var]">
  663. <option value="1" <?php selected( $options['tm_author_var'], 1 ); ?>>gadwpAuthor</option>
  664. <option value="0" <?php selected( $options['tm_author_var'], 0 ); ?>><?php _e( "Disabled", 'google-analytics-dashboard-for-wp' ); ?></option>
  665. </select>
  666. </td>
  667. </tr>
  668. <tr>
  669. <td class="gadwp-settings-title">
  670. <label for="tm_pubyear_var"><?php _e("Publication Year:", 'google-analytics-dashboard-for-wp' ); ?>
  671. </label>
  672. </td>
  673. <td>
  674. <select id="tm_pubyear_var" name="options[tm_pubyear_var]">
  675. <option value="1" <?php selected( $options['tm_pubyear_var'], 1 ); ?>>gadwpPublicationYear</option>
  676. <option value="0" <?php selected( $options['tm_pubyear_var'], 0 ); ?>><?php _e( "Disabled", 'google-analytics-dashboard-for-wp' ); ?></option>
  677. </select>
  678. </td>
  679. </tr>
  680. <tr>
  681. <td class="gadwp-settings-title">
  682. <label for="tm_pubyearmonth_var"><?php _e("Publication Month:", 'google-analytics-dashboard-for-wp' ); ?>
  683. </label>
  684. </td>
  685. <td>
  686. <select id="tm_pubyearmonth_var" name="options[tm_pubyearmonth_var]">
  687. <option value="1" <?php selected( $options['tm_pubyearmonth_var'], 1 ); ?>>gadwpPublicationYearMonth</option>
  688. <option value="0" <?php selected( $options['tm_pubyearmonth_var'], 0 ); ?>><?php _e( "Disabled", 'google-analytics-dashboard-for-wp' ); ?></option>
  689. </select>
  690. </td>
  691. </tr>
  692. <tr>
  693. <td class="gadwp-settings-title">
  694. <label for="tm_category_var"><?php _e("Categories:", 'google-analytics-dashboard-for-wp' ); ?>
  695. </label>
  696. </td>
  697. <td>
  698. <select id="tm_category_var" name="options[tm_category_var]">
  699. <option value="1" <?php selected( $options['tm_category_var'], 1 ); ?>>gadwpCategory</option>
  700. <option value="0" <?php selected( $options['tm_category_var'], 0 ); ?>><?php _e( "Disabled", 'google-analytics-dashboard-for-wp' ); ?></option>
  701. </select>
  702. </td>
  703. </tr>
  704. <tr>
  705. <td class="gadwp-settings-title">
  706. <label for="tm_user_var"><?php _e("User Type:", 'google-analytics-dashboard-for-wp' ); ?>
  707. </label>
  708. </td>
  709. <td>
  710. <select id="tm_user_var" name="options[tm_user_var]">
  711. <option value="1" <?php selected( $options['tm_user_var'], 1 ); ?>>gadwpUser</option>
  712. <option value="0" <?php selected( $options['tm_user_var'], 0 ); ?>><?php _e( "Disabled", 'google-analytics-dashboard-for-wp' ); ?></option>
  713. </select>
  714. </td>
  715. </tr>
  716. <tr>
  717. <td class="gadwp-settings-title">
  718. <label for="tm_tag_var"><?php _e("Tags:", 'google-analytics-dashboard-for-wp' ); ?>
  719. </label>
  720. </td>
  721. <td>
  722. <select id="tm_tag_var" name="options[tm_tag_var]">
  723. <option value="1" <?php selected( $options['tm_tag_var'], 1 ); ?>>gadwpTag</option>
  724. <option value="0" <?php selected( $options['tm_tag_var'], 0 ); ?>><?php _e( "Disabled", 'google-analytics-dashboard-for-wp' ); ?></option>
  725. </select>
  726. </td>
  727. </tr>
  728. </table>
  729. </div>
  730. <div id="gadwp-advanced">
  731. <table class="gadwp-settings-options">
  732. <tr>
  733. <td colspan="2"><?php echo "<h2>" . __( "Advanced Tracking", 'google-analytics-dashboard-for-wp' ) . "</h2>"; ?></td>
  734. </tr>
  735. <tr>
  736. <td class="gadwp-settings-title">
  737. <label for="ga_speed_samplerate"><?php _e("Speed Sample Rate:", 'google-analytics-dashboard-for-wp'); ?>
  738. </label>
  739. </td>
  740. <td>
  741. <input type="number" id="ga_speed_samplerate" name="options[ga_speed_samplerate]" value="<?php echo (int)($options['ga_speed_samplerate']); ?>" max="100" min="1">
  742. %
  743. </td>
  744. </tr>
  745. <tr>
  746. <td class="gadwp-settings-title">
  747. <label for="ga_user_samplerate"><?php _e("User Sample Rate:", 'google-analytics-dashboard-for-wp'); ?>
  748. </label>
  749. </td>
  750. <td>
  751. <input type="number" id="ga_user_samplerate" name="options[ga_user_samplerate]" value="<?php echo (int)($options['ga_user_samplerate']); ?>" max="100" min="1">
  752. %
  753. </td>
  754. </tr>
  755. <tr>
  756. <td colspan="2" class="gadwp-settings-title">
  757. <div class="button-primary gadwp-settings-switchoo">
  758. <input type="checkbox" name="options[ga_anonymize_ip]" value="1" class="gadwp-settings-switchoo-checkbox" id="ga_anonymize_ip" <?php checked( $options['ga_anonymize_ip'], 1 ); ?>>
  759. <label class="gadwp-settings-switchoo-label" for="ga_anonymize_ip">
  760. <div class="gadwp-settings-switchoo-inner"></div>
  761. <div class="gadwp-settings-switchoo-switch"></div>
  762. </label>
  763. </div>
  764. <div class="switch-desc"><?php echo " ".__("anonymize IPs while tracking", 'google-analytics-dashboard-for-wp' );?></div>
  765. </td>
  766. </tr>
  767. <tr>
  768. <td colspan="2" class="gadwp-settings-title">
  769. <div class="button-primary gadwp-settings-switchoo">
  770. <input type="checkbox" name="options[ga_optout]" value="1" class="gadwp-settings-switchoo-checkbox" id="ga_optout" <?php checked( $options['ga_optout'], 1 ); ?>>
  771. <label class="gadwp-settings-switchoo-label" for="ga_optout">
  772. <div class="gadwp-settings-switchoo-inner"></div>
  773. <div class="gadwp-settings-switchoo-switch"></div>
  774. </label>
  775. </div>
  776. <div class="switch-desc"><?php echo " ".__("enable support for user opt-out", 'google-analytics-dashboard-for-wp' );?></div>
  777. </td>
  778. </tr>
  779. <tr>
  780. <td colspan="2" class="gadwp-settings-title">
  781. <div class="button-primary gadwp-settings-switchoo">
  782. <input type="checkbox" name="options[ga_dnt_optout]" value="1" class="gadwp-settings-switchoo-checkbox" id="ga_dnt_optout" <?php checked( $options['ga_dnt_optout'], 1 ); ?>>
  783. <label class="gadwp-settings-switchoo-label" for="ga_dnt_optout">
  784. <div class="gadwp-settings-switchoo-inner"></div>
  785. <div class="gadwp-settings-switchoo-switch"></div>
  786. </label>
  787. </div>
  788. <div class="switch-desc"> <?php _e( 'exclude tracking for users sending Do Not Track header', 'google-analytics-dashboard-for-wp' ); ?></div>
  789. </td>
  790. </tr>
  791. <tr>
  792. <td colspan="2" class="gadwp-settings-title">
  793. <div class="button-primary gadwp-settings-switchoo">
  794. <input type="checkbox" name="options[ga_remarketing]" value="1" class="gadwp-settings-switchoo-checkbox" id="ga_remarketing" <?php checked( $options['ga_remarketing'], 1 ); ?>>
  795. <label class="gadwp-settings-switchoo-label" for="ga_remarketing">
  796. <div class="gadwp-settings-switchoo-inner"></div>
  797. <div class="gadwp-settings-switchoo-switch"></div>
  798. </label>
  799. </div>
  800. <div class="switch-desc"><?php echo " ".__("enable remarketing, demographics and interests reports", 'google-analytics-dashboard-for-wp' );?></div>
  801. </td>
  802. </tr>
  803. <tr>
  804. <td colspan="2" class="gadwp-settings-title">
  805. <div class="button-primary gadwp-settings-switchoo">
  806. <input type="checkbox" name="options[ga_event_bouncerate]" value="1" class="gadwp-settings-switchoo-checkbox" id="ga_event_bouncerate" <?php checked( $options['ga_event_bouncerate'], 1 ); ?>>
  807. <label class="gadwp-settings-switchoo-label" for="ga_event_bouncerate">
  808. <div class="gadwp-settings-switchoo-inner"></div>
  809. <div class="gadwp-settings-switchoo-switch"></div>
  810. </label>
  811. </div>
  812. <div class="switch-desc"><?php echo " ".__("exclude events from bounce-rate and time on page calculation", 'google-analytics-dashboard-for-wp' );?></div>
  813. </td>
  814. </tr>
  815. <tr>
  816. <td colspan="2" class="gadwp-settings-title">
  817. <div class="button-primary gadwp-settings-switchoo">
  818. <input type="checkbox" name="options[ga_enhanced_links]" value="1" class="gadwp-settings-switchoo-checkbox" id="ga_enhanced_links" <?php checked( $options['ga_enhanced_links'], 1 ); ?>>
  819. <label class="gadwp-settings-switchoo-label" for="ga_enhanced_links">
  820. <div class="gadwp-settings-switchoo-inner"></div>
  821. <div class="gadwp-settings-switchoo-switch"></div>
  822. </label>
  823. </div>
  824. <div class="switch-desc"><?php echo " ".__("enable enhanced link attribution", 'google-analytics-dashboard-for-wp' );?></div>
  825. </td>
  826. </tr>
  827. <tr>
  828. <td colspan="2" class="gadwp-settings-title">
  829. <div class="button-primary gadwp-settings-switchoo">
  830. <input type="checkbox" name="options[ga_event_precision]" value="1" class="gadwp-settings-switchoo-checkbox" id="ga_event_precision" <?php checked( $options['ga_event_precision'], 1 ); ?>>
  831. <label class="gadwp-settings-switchoo-label" for="ga_event_precision">
  832. <div class="gadwp-settings-switchoo-inner"></div>
  833. <div class="gadwp-settings-switchoo-switch"></div>
  834. </label>
  835. </div>
  836. <div class="switch-desc"><?php echo " ".__("use hitCallback to increase event tracking accuracy", 'google-analytics-dashboard-for-wp' );?></div>
  837. </td>
  838. </tr>
  839. <tr>
  840. <td colspan="2" class="gadwp-settings-title">
  841. <div class="button-primary gadwp-settings-switchoo">
  842. <input type="checkbox" name="options[ga_force_ssl]" value="1" class="gadwp-settings-switchoo-checkbox" id="ga_force_ssl" <?php checked( $options['ga_force_ssl'] || $options['ga_with_gtag'], 1 ); ?> <?php disabled( $options['ga_with_gtag'], true );?>>
  843. <label class="gadwp-settings-switchoo-label" for="ga_force_ssl">
  844. <div class="gadwp-settings-switchoo-inner"></div>
  845. <div class="gadwp-settings-switchoo-switch"></div>
  846. </label>
  847. </div>
  848. <div class="switch-desc"><?php echo " ".__("enable Force SSL", 'google-analytics-dashboard-for-wp' );?></div>
  849. </td>
  850. </tr>
  851. <tr>
  852. <td colspan="2"><?php echo "<h2>" . __( "Cross-domain Tracking", 'google-analytics-dashboard-for-wp' ) . "</h2>"; ?></td>
  853. </tr>
  854. <tr>
  855. <td colspan="2" class="gadwp-settings-title">
  856. <div class="button-primary gadwp-settings-switchoo">
  857. <input type="checkbox" name="options[ga_crossdomain_tracking]" value="1" class="gadwp-settings-switchoo-checkbox" id="ga_crossdomain_tracking" <?php checked( $options['ga_crossdomain_tracking'], 1 ); ?>>
  858. <label class="gadwp-settings-switchoo-label" for="ga_crossdomain_tracking">
  859. <div class="gadwp-settings-switchoo-inner"></div>
  860. <div class="gadwp-settings-switchoo-switch"></div>
  861. </label>
  862. </div>
  863. <div class="switch-desc"><?php echo " ".__("enable cross domain tracking", 'google-analytics-dashboard-for-wp' ); ?></div>
  864. </td>
  865. </tr>
  866. <tr>
  867. <td class="gadwp-settings-title">
  868. <label for="ga_crossdomain_list"><?php _e("Cross Domains:", 'google-analytics-dashboard-for-wp'); ?>
  869. </label>
  870. </td>
  871. <td>
  872. <input type="text" id="ga_crossdomain_list" name="options[ga_crossdomain_list]" value="<?php echo esc_attr($options['ga_crossdomain_list']); ?>" size="50">
  873. </td>
  874. </tr>
  875. <tr>
  876. <td colspan="2"><?php echo "<h2>" . __( "Cookie Customization", 'google-analytics-dashboard-for-wp' ) . "</h2>"; ?></td>
  877. </tr>
  878. <tr>
  879. <td class="gadwp-settings-title">
  880. <label for="ga_cookiedomain"><?php _e("Cookie Domain:", 'google-analytics-dashboard-for-wp'); ?>
  881. </label>
  882. </td>
  883. <td>
  884. <input type="text" id="ga_cookiedomain" name="options[ga_cookiedomain]" value="<?php echo esc_attr($options['ga_cookiedomain']); ?>" size="50">
  885. </td>
  886. </tr>
  887. <tr>
  888. <td class="gadwp-settings-title">
  889. <label for="ga_cookiename"><?php _e("Cookie Name:", 'google-analytics-dashboard-for-wp'); ?>
  890. </label>
  891. </td>
  892. <td>
  893. <input type="text" id="ga_cookiename" name="options[ga_cookiename]" value="<?php echo esc_attr($options['ga_cookiename']); ?>" size="50">
  894. </td>
  895. </tr>
  896. <tr>
  897. <td class="gadwp-settings-title">
  898. <label for="ga_cookieexpires"><?php _e("Cookie Expires:", 'google-analytics-dashboard-for-wp'); ?>
  899. </label>
  900. </td>
  901. <td>
  902. <input type="text" id="ga_cookieexpires" name="options[ga_cookieexpires]" value="<?php echo esc_attr($options['ga_cookieexpires']); ?>" size="10">
  903. <?php _e("seconds", 'google-analytics-dashboard-for-wp' ); ?>
  904. </td>
  905. </tr>
  906. </table>
  907. </div>
  908. <div id="gadwp-integration">
  909. <table class="gadwp-settings-options">
  910. <tr>
  911. <td colspan="2"><?php echo "<h2>" . __( "Accelerated Mobile Pages (AMP)", 'google-analytics-dashboard-for-wp' ) . "</h2>"; ?></td>
  912. </tr>
  913. <tr>
  914. <td colspan="2" class="gadwp-settings-title">
  915. <div class="button-primary gadwp-settings-switchoo">
  916. <input type="checkbox" name="options[amp_tracking_analytics]" value="1" class="gadwp-settings-switchoo-checkbox" id="amp_tracking_analytics" <?php checked( $options['amp_tracking_analytics'], 1 ); ?>>
  917. <label class="gadwp-settings-switchoo-label" for="amp_tracking_analytics">
  918. <div class="gadwp-settings-switchoo-inner"></div>
  919. <div class="gadwp-settings-switchoo-switch"></div>
  920. </label>
  921. </div>
  922. <div class="switch-desc"><?php echo " ".__("enable tracking for Accelerated Mobile Pages (AMP)", 'google-analytics-dashboard-for-wp' );?></div>
  923. </td>
  924. </tr>
  925. <tr>
  926. <td colspan="2" class="gadwp-settings-title">
  927. <div class="button-primary gadwp-settings-switchoo">
  928. <input type="checkbox" name="options[amp_tracking_clientidapi]" value="1" class="gadwp-settings-switchoo-checkbox" id="amp_tracking_clientidapi" <?php checked( $options['amp_tracking_clientidapi'] && !$options['ga_with_gtag'], 1 ); ?> <?php disabled( $options['ga_with_gtag'], true );?>>
  929. <label class="gadwp-settings-switchoo-label" for="amp_tracking_clientidapi">
  930. <div class="gadwp-settings-switchoo-inner"></div>
  931. <div class="gadwp-settings-switchoo-switch"></div>
  932. </label>
  933. </div>
  934. <div class="switch-desc"><?php echo " ".__("enable Google AMP Client Id API", 'google-analytics-dashboard-for-wp' );?></div>
  935. </td>
  936. </tr>
  937. <tr>
  938. <td colspan="2"><?php echo "<h2>" . __( "Ecommerce", 'google-analytics-dashboard-for-wp' ) . "</h2>"; ?></td>
  939. </tr>
  940. <tr>
  941. <td class="gadwp-settings-title">
  942. <label for="tracking_type"><?php _e("Ecommerce Tracking:", 'google-analytics-dashboard-for-wp' ); ?>
  943. </label>
  944. </td>
  945. <td>
  946. <select id="ecommerce_mode" name="options[ecommerce_mode]" <?php disabled( $options['ga_with_gtag'], true );?>>
  947. <option value="disabled" <?php selected( $options['ecommerce_mode'], 'disabled' ); ?>><?php _e("Disabled", 'google-analytics-dashboard-for-wp');?></option>
  948. <option value="standard" <?php selected( $options['ecommerce_mode'], 'standard' ); ?>><?php _e("Ecommerce Plugin", 'google-analytics-dashboard-for-wp');?></option>
  949. <option value="enhanced" <?php selected( $options['ecommerce_mode'], 'enhanced' ); selected( $options['ga_with_gtag'], true );?>><?php _e("Enhanced Ecommerce Plugin", 'google-analytics-dashboard-for-wp');?></option>
  950. </select>
  951. </td>
  952. </tr>
  953. <tr>
  954. <td colspan="2"><?php echo "<h2>" . __( "Optimize", 'google-analytics-dashboard-for-wp' ) . "</h2>"; ?></td>
  955. </tr>
  956. <tr>
  957. <td colspan="2" class="gadwp-settings-title">
  958. <div class="button-primary gadwp-settings-switchoo">
  959. <input type="checkbox" name="options[optimize_tracking]" value="1" class="gadwp-settings-switchoo-checkbox" id="optimize_tracking" <?php checked( $options['optimize_tracking'], 1 ); ?>>
  960. <label class="gadwp-settings-switchoo-label" for="optimize_tracking">
  961. <div class="gadwp-settings-switchoo-inner"></div>
  962. <div class="gadwp-settings-switchoo-switch"></div>
  963. </label>
  964. </div>
  965. <div class="switch-desc"><?php echo " ".__("enable Optimize tracking", 'google-analytics-dashboard-for-wp' );?></div>
  966. </td>
  967. </tr>
  968. <tr>
  969. <td colspan="2" class="gadwp-settings-title">
  970. <div class="button-primary gadwp-settings-switchoo">
  971. <input type="checkbox" name="options[optimize_pagehiding]" value="1" class="gadwp-settings-switchoo-checkbox" id="optimize_pagehiding" <?php checked( $options['optimize_pagehiding'], 1 ); ?>>
  972. <label class="gadwp-settings-switchoo-label" for="optimize_pagehiding">
  973. <div class="gadwp-settings-switchoo-inner"></div>
  974. <div class="gadwp-settings-switchoo-switch"></div>
  975. </label>
  976. </div>
  977. <div class="switch-desc"><?php echo " ".__("enable Page Hiding support", 'google-analytics-dashboard-for-wp' );?></div>
  978. </td>
  979. </tr>
  980. <tr>
  981. <td class="gadwp-settings-title">
  982. <label for="tracking_type"><?php _e("Container ID:", 'google-analytics-dashboard-for-wp' ); ?>
  983. </label>
  984. </td>
  985. <td>
  986. <input type="text" name="options[optimize_containerid]" value="<?php echo esc_attr($options['optimize_containerid']); ?>" size="15">
  987. </td>
  988. </tr>
  989. </table>
  990. </div>
  991. <div id="gadwp-tmadvanced">
  992. <table class="gadwp-settings-options">
  993. <tr>
  994. <td colspan="2"><?php echo "<h2>" . __( "Advanced Tracking", 'google-analytics-dashboard-for-wp' ) . "</h2>"; ?></td>
  995. </tr>
  996. <tr>
  997. <td colspan="2" class="gadwp-settings-title">
  998. <div class="button-primary gadwp-settings-switchoo">
  999. <input type="checkbox" name="options[tm_optout]" value="1" class="gadwp-settings-switchoo-checkbox" id="tm_optout" <?php checked( $options['tm_optout'], 1 ); ?>>
  1000. <label class="gadwp-settings-switchoo-label" for="tm_optout">
  1001. <div class="gadwp-settings-switchoo-inner"></div>
  1002. <div class="gadwp-settings-switchoo-switch"></div>
  1003. </label>
  1004. </div>
  1005. <div class="switch-desc"><?php echo " ".__("enable support for user opt-out", 'google-analytics-dashboard-for-wp' );?></div>
  1006. </td>
  1007. </tr>
  1008. <tr>
  1009. <td colspan="2" class="gadwp-settings-title">
  1010. <div class="button-primary gadwp-settings-switchoo">
  1011. <input type="checkbox" name="options[tm_dnt_optout]" value="1" class="gadwp-settings-switchoo-checkbox" id="tm_dnt_optout" <?php checked( $options['tm_dnt_optout'], 1 ); ?>>
  1012. <label class="gadwp-settings-switchoo-label" for="tm_dnt_optout">
  1013. <div class="gadwp-settings-switchoo-inner"></div>
  1014. <div class="gadwp-settings-switchoo-switch"></div>
  1015. </label>
  1016. </div>
  1017. <div class="switch-desc"> <?php _e( 'exclude tracking for users sending Do Not Track header', 'google-analytics-dashboard-for-wp' ); ?></div>
  1018. </td>
  1019. </tr>
  1020. </table>
  1021. </div>
  1022. <div id="gadwp-tmintegration">
  1023. <table class="gadwp-settings-options">
  1024. <tr>
  1025. <td colspan="2"><?php echo "<h2>" . __( "Accelerated Mobile Pages (AMP)", 'google-analytics-dashboard-for-wp' ) . "</h2>"; ?></td>
  1026. </tr>
  1027. <tr>
  1028. <td colspan="2" class="gadwp-settings-title">
  1029. <div class="button-primary gadwp-settings-switchoo">
  1030. <input type="checkbox" name="options[amp_tracking_tagmanager]" value="1" class="gadwp-settings-switchoo-checkbox" id="amp_tracking_tagmanager" <?php checked( $options['amp_tracking_tagmanager'], 1 ); ?>>
  1031. <label class="gadwp-settings-switchoo-label" for="amp_tracking_tagmanager">
  1032. <div class="gadwp-settings-switchoo-inner"></div>
  1033. <div class="gadwp-settings-switchoo-switch"></div>
  1034. </label>
  1035. </div>
  1036. <div class="switch-desc"><?php echo " ".__("enable tracking for Accelerated Mobile Pages (AMP)", 'google-analytics-dashboard-for-wp' );?></div>
  1037. </td>
  1038. </tr>
  1039. <tr>
  1040. <td class="gadwp-settings-title">
  1041. <label for="tracking_type"><?php _e("AMP Container ID:", 'google-analytics-dashboard-for-wp' ); ?>
  1042. </label>
  1043. </td>
  1044. <td>
  1045. <input type="text" name="options[amp_containerid]" value="<?php echo esc_attr($options['amp_containerid']); ?>" size="15">
  1046. </td>
  1047. </tr>
  1048. </table>
  1049. </div>
  1050. <div id="gadwp-exclude">
  1051. <table class="gadwp-settings-options">
  1052. <tr>
  1053. <td colspan="2"><?php echo "<h2>" . __( "Exclude Tracking", 'google-analytics-dashboard-for-wp' ) . "</h2>"; ?></td>
  1054. </tr>
  1055. <tr>
  1056. <td class="roles gadwp-settings-title">
  1057. <label for="track_exclude"><?php _e("Exclude tracking for:", 'google-analytics-dashboard-for-wp' ); ?></label>
  1058. </td>
  1059. <td class="gadwp-settings-roles">
  1060. <table>
  1061. <tr>
  1062. <?php if ( ! isset( $wp_roles ) ) : ?>
  1063. <?php $wp_roles = new WP_Roles(); ?>
  1064. <?php endif; ?>
  1065. <?php $i = 0; ?>
  1066. <?php foreach ( $wp_roles->role_names as $role => $name ) : ?>
  1067. <?php if ( 'subscriber' != $role ) : ?>
  1068. <?php $i++; ?>
  1069. <td>
  1070. <label>
  1071. <input type="checkbox" name="options[track_exclude][]" value="<?php echo $role; ?>" <?php if (in_array($role,$options['track_exclude'])) echo 'checked="checked"'; ?> /> <?php echo $name; ?>
  1072. </label>
  1073. </td>
  1074. <?php endif; ?>
  1075. <?php if ( 0 == $i % 4 ) : ?>
  1076. </tr>
  1077. <tr>
  1078. <?php endif; ?>
  1079. <?php endforeach; ?>
  1080. </table>
  1081. </td>
  1082. </tr>
  1083. </table>
  1084. </div>
  1085. <table class="gadwp-settings-options">
  1086. <tr>
  1087. <td colspan="2">
  1088. <hr>
  1089. </td>
  1090. </tr>
  1091. <tr>
  1092. <td colspan="2" class="submit">
  1093. <input type="submit" name="Submit" class="button button-primary" value="<?php _e('Save Changes', 'google-analytics-dashboard-for-wp' ) ?>" />
  1094. </td>
  1095. </tr>
  1096. </table>
  1097. <input type="hidden" name="options[gadwp_hidden]" value="Y">
  1098. <?php wp_nonce_field('gadwp_form','gadwp_security'); ?>
  1099. </form>
  1100. <?php
  1101. self::output_sidebar();
  1102. }
  1103. public static function errors_debugging() {
  1104. $gadwp = GADWP();
  1105. if ( ! current_user_can( 'manage_options' ) ) {
  1106. return;
  1107. }
  1108. $anonim = GADWP_Tools::anonymize_options( $gadwp->config->options );
  1109. $options = self::update_options( 'frontend' );
  1110. if ( ! $gadwp->config->options['tableid_jail'] || ! $gadwp->config->options['token'] ) {
  1111. $message = sprintf( '<div class="error"><p>%s</p></div>', sprintf( __( 'Something went wrong, check %1$s or %2$s.', 'google-analytics-dashboard-for-wp' ), sprintf( '<a href="%1$s">%2$s</a>', menu_page_url( 'gadwp_errors_debugging', false ), __( 'Errors & Debug', 'google-analytics-dashboard-for-wp' ) ), sprintf( '<a href="%1$s">%2$s</a>', menu_page_url( 'gadwp_settings', false ), __( 'authorize the plugin', 'google-analytics-dashboard-for-wp' ) ) ) );
  1112. }
  1113. ?>
  1114. <div class="wrap">
  1115. <?php echo "<h2>" . __( "Google Analytics Errors & Debugging", 'google-analytics-dashboard-for-wp' ) . "</h2>"; ?>
  1116. </div>
  1117. <div id="poststuff" class="gadwp">
  1118. <div id="post-body" class="metabox-holder columns-2">
  1119. <div id="post-body-content">
  1120. <div class="settings-wrapper">
  1121. <div class="inside">
  1122. <?php if (isset($message)) echo $message; ?>
  1123. <?php $tabs = array( 'errors' => __( "Errors & Details", 'google-analytics-dashboard-for-wp' ), 'config' => __( "Plugin Settings", 'google-analytics-dashboard-for-wp' ), 'sysinfo' => __( "System", 'google-analytics-dashboard-for-wp' ) ); ?>
  1124. <?php self::navigation_tabs( $tabs ); ?>
  1125. <div id="gadwp-errors">
  1126. <table class="gadwp-settings-logdata">
  1127. <tr>
  1128. <td>
  1129. <?php echo "<h2>" . __( "Error Details", 'google-analytics-dashboard-for-wp' ) . "</h2>"; ?>
  1130. </td>
  1131. </tr>
  1132. <tr>
  1133. <td>
  1134. <?php $errors_count = GADWP_Tools::get_cache( 'errors_count' ); ?>
  1135. <pre class="gadwp-settings-logdata"><?php echo '<span>' . __("Count: ", 'google-analytics-dashboard-for-wp') . '</span>' . (int)$errors_count;?></pre>
  1136. <?php $errors = print_r( GADWP_Tools::get_cache( 'last_error' ), true ) ? esc_html( print_r( GADWP_Tools::get_cache( 'last_error' ), true ) ) : ''; ?>
  1137. <?php $errors = str_replace( 'Deconf_', 'Google_', $errors); ?>
  1138. <pre class="gadwp-settings-logdata"><?php echo '<span>' . __("Last Error: ", 'google-analytics-dashboard-for-wp') . '</span>' . "\n" . $errors;?></pre>
  1139. <pre class="gadwp-settings-logdata"><?php echo '<span>' . __("GAPI Error: ", 'google-analytics-dashboard-for-wp') . '</span>'; echo "\n" . esc_html( print_r( GADWP_Tools::get_cache( 'gapi_errors' ), true ) ) ?></pre>
  1140. <br />
  1141. <hr>
  1142. </td>
  1143. </tr>
  1144. <tr>
  1145. <td>
  1146. <?php echo "<h2>" . __( "Sampled Data", 'google-analytics-dashboard-for-wp' ) . "</h2>"; ?>
  1147. </td>
  1148. </tr>
  1149. <tr>
  1150. <td>
  1151. <?php $sampling = GADWP_TOOLS::get_cache( 'sampleddata' ); ?>
  1152. <?php if ( $sampling ) :?>
  1153. <?php printf( __( "Last Detected on %s.", 'google-analytics-dashboard-for-wp' ), '<strong>'. $sampling['date'] . '</strong>' );?>
  1154. <br />
  1155. <?php printf( __( "The report was based on %s of sessions.", 'google-analytics-dashboard-for-wp' ), '<strong>'. $sampling['percent'] . '</strong>' );?>
  1156. <br />
  1157. <?php printf( __( "Sessions ratio: %s.", 'google-analytics-dashboard-for-wp' ), '<strong>'. $sampling['sessions'] . '</strong>' ); ?>
  1158. <?php else :?>
  1159. <?php _e( "None", 'google-analytics-dashboard-for-wp' ); ?>
  1160. <?php endif;?>
  1161. </td>
  1162. </tr>
  1163. </table>
  1164. </div>
  1165. <div id="gadwp-config">
  1166. <table class="gadwp-settings-options">
  1167. <tr>
  1168. <td><?php echo "<h2>" . __( "Plugin Configuration", 'google-analytics-dashboard-for-wp' ) . "</h2>"; ?></td>
  1169. </tr>
  1170. <tr>
  1171. <td>
  1172. <pre class="gadwp-settings-logdata"><?php echo esc_html(print_r($anonim, true));?></pre>
  1173. <br />
  1174. <hr>
  1175. </td>
  1176. </tr>
  1177. </table>
  1178. </div>
  1179. <div id="gadwp-sysinfo">
  1180. <table class="gadwp-settings-options">
  1181. <tr>
  1182. <td><?php echo "<h2>" . __( "System Information", 'google-analytics-dashboard-for-wp' ) . "</h2>"; ?></td>
  1183. </tr>
  1184. <tr>
  1185. <td>
  1186. <pre class="gadwp-settings-logdata"><?php echo esc_html(GADWP_Tools::system_info());?></pre>
  1187. <br />
  1188. <hr>
  1189. </td>
  1190. </tr>
  1191. </table>
  1192. </div>
  1193. <?php
  1194. self::output_sidebar();
  1195. }
  1196. public static function general_settings() {
  1197. $gadwp = GADWP();
  1198. if ( ! current_user_can( 'manage_options' ) ) {
  1199. return;
  1200. }
  1201. $options = self::update_options( 'general' );
  1202. printf( '<div id="gapi-warning" class="updated"><p>%1$s <a href="https://exactmetrics.com/?utm_source=gadwp_config&utm_medium=link&utm_content=general_screen&utm_campaign=gadwp">%2$s</a></p></div>', __( 'Loading the required libraries. If this results in a blank screen or a fatal error, try this solution:', 'google-analytics-dashboard-for-wp' ), __( 'Library conflicts between WordPress plugins', 'google-analytics-dashboard-for-wp' ) );
  1203. if ( null === $gadwp->gapi_controller ) {
  1204. $gadwp->gapi_controller = new GADWP_GAPI_Controller();
  1205. }
  1206. echo '<script type="text/javascript">jQuery("#gapi-warning").hide()</script>';
  1207. if ( isset( $_POST['gadwp_access_code'] ) ) {
  1208. if ( 1 == ! stripos( 'x' . $_POST['gadwp_access_code'], 'UA-', 1 ) && $_POST['gadwp_access_code'] != get_option( 'gadwp_redeemed_code' ) ) {
  1209. try {
  1210. $gadwp_access_code = $_POST['gadwp_access_code'];
  1211. update_option( 'gadwp_redeemed_code', $gadwp_access_code );
  1212. GADWP_Tools::delete_cache( 'gapi_errors' );
  1213. GADWP_Tools::delete_cache( 'last_error' );
  1214. $gadwp->gapi_controller->client->authenticate( $_POST['gadwp_access_code'] );
  1215. $gadwp->config->options['token'] = $gadwp->gapi_controller->client->getAccessToken();
  1216. $gadwp->config->options['automatic_updates_minorversion'] = 1;
  1217. $gadwp->config->set_plugin_options();
  1218. $options = self::update_options( 'general' );
  1219. $message = "<div class='updated' id='gadwp-autodismiss'><p>" . __( "Plugin authorization succeeded.", 'google-analytics-dashboard-for-wp' ) . "</p></div>";
  1220. if ( $gadwp->config->options['token'] && $gadwp->gapi_controller->client->getAccessToken() ) {
  1221. $profiles = $gadwp->gapi_controller->refresh_profiles();
  1222. if ( is_array ( $profiles ) && ! empty( $profiles ) ) {
  1223. $gadwp->config->options['ga_profiles_list'] = $profiles;
  1224. if ( ! $gadwp->config->options['tableid_jail'] ) {
  1225. $profile = GADWP_Tools::guess_default_domain( $profiles );
  1226. $gadwp->config->options['tableid_jail'] = $profile;
  1227. }
  1228. $gadwp->config->set_plugin_options();
  1229. $options = self::update_options( 'general' );
  1230. }
  1231. }
  1232. } catch ( Deconf_IO_Exception $e ) {
  1233. $timeout = $gadwp->gapi_controller->get_timeouts( 'midnight' );
  1234. GADWP_Tools::set_error( $e, $timeout );
  1235. } catch ( Deconf_Service_Exception $e ) {
  1236. $timeout = $gadwp->gapi_controller->get_timeouts( 'midnight' );
  1237. GADWP_Tools::set_error( $e, $timeout );
  1238. } catch ( Exception $e ) {
  1239. $timeout = $gadwp->gapi_controller->get_timeouts( 'midnight' );
  1240. GADWP_Tools::set_error( $e, $timeout );
  1241. $gadwp->gapi_controller->reset_token();
  1242. }
  1243. } else {
  1244. if ( 1 == stripos( 'x' . $_POST['gadwp_access_code'], 'UA-', 1 ) ) {
  1245. $message = "<div class='error' id='gadwp-autodismiss'><p>" . __( "The access code is <strong>not</strong> your <strong>Tracking ID</strong> (UA-XXXXX-X) <strong>nor</strong> your <strong>email address</strong>!", 'google-analytics-dashboard-for-wp' ) . ".</p></div>";
  1246. } else {
  1247. $message = "<div class='error' id='gadwp-autodismiss'><p>" . __( "You can only use the access code <strong>once</strong>, please generate a <strong>new access</strong> code following the instructions!", 'google-analytics-dashboard-for-wp' ) . ".</p></div>";
  1248. }
  1249. }
  1250. }
  1251. if ( isset( $_POST['Clear'] ) ) {
  1252. if ( isset( $_POST['gadwp_security'] ) && wp_verify_nonce( $_POST['gadwp_security'], 'gadwp_form' ) ) {
  1253. GADWP_Tools::clear_cache();
  1254. $message = "<div class='updated' id='gadwp-autodismiss'><p>" . __( "Cleared Cache.", 'google-analytics-dashboard-for-wp' ) . "</p></div>";
  1255. } else {
  1256. $message = "<div class='error' id='gadwp-autodismiss'><p>" . __( "Cheating Huh?", 'google-analytics-dashboard-for-wp' ) . "</p></div>";
  1257. }
  1258. }
  1259. if ( isset( $_POST['Reset'] ) ) {
  1260. if ( isset( $_POST['gadwp_security'] ) && wp_verify_nonce( $_POST['gadwp_security'], 'gadwp_form' ) ) {
  1261. $gadwp->gapi_controller->reset_token();
  1262. GADWP_Tools::clear_cache();
  1263. $message = "<div class='updated' id='gadwp-autodismiss'><p>" . __( "Token Reseted and Revoked.", 'google-analytics-dashboard-for-wp' ) . "</p></div>";
  1264. $options = self::update_options( 'Reset' );
  1265. } else {
  1266. $message = "<div class='error' id='gadwp-autodismiss'><p>" . __( "Cheating Huh?", 'google-analytics-dashboard-for-wp' ) . "</p></div>";
  1267. }
  1268. }
  1269. if ( isset( $_POST['Reset_Err'] ) ) {
  1270. if ( isset( $_POST['gadwp_security'] ) && wp_verify_nonce( $_POST['gadwp_security'], 'gadwp_form' ) ) {
  1271. if ( GADWP_Tools::get_cache( 'gapi_errors' ) || GADWP_Tools::get_cache( 'last_error' ) ) {
  1272. $info = GADWP_Tools::system_info();
  1273. $info .= 'GADWP Version: ' . GADWP_CURRENT_VERSION;
  1274. $sep = "\n---------------------------\n";
  1275. $error_report = GADWP_Tools::get_cache( 'last_error' );
  1276. $error_report .= $sep . print_r( GADWP_Tools::get_cache( 'gapi_errors' ), true );
  1277. $error_report .= $sep . GADWP_Tools::get_cache( 'errors_count' );
  1278. $error_report .= $sep . $info;
  1279. $error_report = urldecode( $error_report );
  1280. $url = GADWP_ENDPOINT_URL . 'gadwp-report.php';
  1281. /* @formatter:off */
  1282. $response = wp_remote_post( $url, array(
  1283. 'method' => 'POST',
  1284. 'timeout' => 45,
  1285. 'redirection' => 5,
  1286. 'httpversion' => '1.0',
  1287. 'blocking' => true,
  1288. 'headers' => array(),
  1289. 'body' => array( 'error_report' => $error_report ),
  1290. 'cookies' => array()
  1291. )
  1292. );
  1293. }
  1294. /* @formatter:on */
  1295. GADWP_Tools::delete_cache( 'last_error' );
  1296. GADWP_Tools::delete_cache( 'gapi_errors' );
  1297. delete_option( 'gadwp_got_updated' );
  1298. $message = "<div class='updated' id='gadwp-autodismiss'><p>" . __( "All errors reseted.", 'google-analytics-dashboard-for-wp' ) . "</p></div>";
  1299. } else {
  1300. $message = "<div class='error' id='gadwp-autodismiss'><p>" . __( "Cheating Huh?", 'google-analytics-dashboard-for-wp' ) . "</p></div>";
  1301. }
  1302. }
  1303. if ( isset( $_POST['options']['gadwp_hidden'] ) && ! isset( $_POST['Clear'] ) && ! isset( $_POST['Reset'] ) && ! isset( $_POST['Reset_Err'] ) ) {
  1304. $message = "<div class='updated' id='gadwp-autodismiss'><p>" . __( "Settings saved.", 'google-analytics-dashboard-for-wp' ) . "</p></div>";
  1305. if ( ! ( isset( $_POST['gadwp_security'] ) && wp_verify_nonce( $_POST['gadwp_security'], 'gadwp_form' ) ) ) {
  1306. $message = "<div class='error' id='gadwp-autodismiss'><p>" . __( "Cheating Huh?", 'google-analytics-dashboard-for-wp' ) . "</p></div>";
  1307. }
  1308. }
  1309. if ( isset( $_POST['Hide'] ) ) {
  1310. if ( isset( $_POST['gadwp_security'] ) && wp_verify_nonce( $_POST['gadwp_security'], 'gadwp_form' ) ) {
  1311. $message = "<div class='updated' id='gadwp-action'><p>" . __( "All other domains/properties were removed.", 'google-analytics-dashboard-for-wp' ) . "</p></div>";
  1312. $lock_profile = GADWP_Tools::get_selected_profile( $gadwp->config->options['ga_profiles_list'], $gadwp->config->options['tableid_jail'] );
  1313. $gadwp->config->options['ga_profiles_list'] = array( $lock_profile );
  1314. $options = self::update_options( 'general' );
  1315. } else {
  1316. $message = "<div class='error' id='gadwp-autodismiss'><p>" . __( "Cheating Huh?", 'google-analytics-dashboard-for-wp' ) . "</p></div>";
  1317. }
  1318. }
  1319. ?>
  1320. <div class="wrap">
  1321. <?php echo "<h2>" . __( "Google Analytics Settings", 'google-analytics-dashboard-for-wp' ) . "</h2>"; ?>
  1322. <hr>
  1323. </div>
  1324. <div id="poststuff" class="gadwp">
  1325. <div id="post-body" class="metabox-holder columns-2">
  1326. <div id="post-body-content">
  1327. <div class="settings-wrapper">
  1328. <div class="inside">
  1329. <?php if ( $gadwp->gapi_controller->gapi_errors_handler() || GADWP_Tools::get_cache( 'last_error' ) ) : ?>
  1330. <?php $message = sprintf( '<div class="error"><p>%s</p></div>', sprintf( __( 'Something went wrong, check %1$s or %2$s.', 'google-analytics-dashboard-for-wp' ), sprintf( '<a href="%1$s">%2$s</a>', menu_page_url( 'gadwp_errors_debugging', false ), __( 'Errors & Debug', 'google-analytics-dashboard-for-wp' ) ), sprintf( '<a href="%1$s">%2$s</a>', menu_page_url( 'gadwp_settings', false ), __( 'authorize the plugin', 'google-analytics-dashboard-for-wp' ) ) ) );?>
  1331. <?php endif;?>
  1332. <?php if ( isset( $_POST['Authorize'] ) ) : ?>
  1333. <?php GADWP_Tools::clear_cache(); ?>
  1334. <?php $gadwp->gapi_controller->token_request(); ?>
  1335. <div class="updated">
  1336. <p><?php _e( "Use the red link (see below) to generate and get your access code! You need to generate a new code each time you authorize!", 'google-analytics-dashboard-for-wp' )?></p>
  1337. </div>
  1338. <?php else : ?>
  1339. <?php if ( isset( $message ) ) :?>
  1340. <?php echo $message;?>
  1341. <?php endif; ?>
  1342. <form name="gadwp_form" method="post" action="<?php echo esc_url($_SERVER['REQUEST_URI']); ?>">
  1343. <input type="hidden" name="options[gadwp_hidden]" value="Y">
  1344. <?php wp_nonce_field('gadwp_form','gadwp_security'); ?>
  1345. <table class="gadwp-settings-options">
  1346. <tr>
  1347. <td colspan="2">
  1348. <?php echo "<h2>" . __( "Plugin Authorization", 'google-analytics-dashboard-for-wp' ) . "</h2>";?>
  1349. </td>
  1350. </tr>
  1351. <tr>
  1352. <td colspan="2" class="gadwp-settings-info">
  1353. <?php printf(__('You need to create a %1$s and watch this %2$s before proceeding to authorization.', 'google-analytics-dashboard-for-wp'), sprintf('<a href="%1$s" target="_blank">%2$s</a>', 'https://exactmetrics.com/creating-a-google-analytics-account/?utm_source=gadwp_config&utm_medium=link&utm_content=top_tutorial&utm_campaign=gadwp', __("free analytics account", 'google-analytics-dashboard-for-wp')), sprintf('<a href="%1$s" target="_blank">%2$s</a>', 'https://exactmetrics.com/?utm_source=gadwp_config&utm_medium=link&utm_content=top_video&utm_campaign=gadwp', __("video tutorial", 'google-analytics-dashboard-for-wp')));?>
  1354. </td>
  1355. </tr>
  1356. <?php if (! $options['token'] || ($options['user_api'] && ! $options['network_mode'])) : ?>
  1357. <tr>
  1358. <td colspan="2" class="gadwp-settings-info">
  1359. <input name="options[user_api]" type="checkbox" id="user_api" value="1" <?php checked( $options['user_api'], 1 ); ?> onchange="this.form.submit()" <?php echo ($options['network_mode'])?'disabled="disabled"':''; ?> /><?php echo " ".__("developer mode (requires advanced API knowledge)", 'google-analytics-dashboard-for-wp' );?>
  1360. </td>
  1361. </tr>
  1362. <?php endif; ?>
  1363. <?php if ($options['user_api'] && ! $options['network_mode']) : ?>
  1364. <tr>
  1365. <td class="gadwp-settings-title">
  1366. <label for="options[client_id]"><?php _e("Client ID:", 'google-analytics-dashboard-for-wp'); ?></label>
  1367. </td>
  1368. <td>
  1369. <input type="text" name="options[client_id]" value="<?php echo esc_attr($options['client_id']); ?>" size="40" required="required">
  1370. </td>
  1371. </tr>
  1372. <tr>
  1373. <td class="gadwp-settings-title">
  1374. <label for="options[client_secret]"><?php _e("Client Secret:", 'google-analytics-dashboard-for-wp'); ?></label>
  1375. </td>
  1376. <td>
  1377. <input type="text" name="options[client_secret]" value="<?php echo esc_attr($options['client_secret']); ?>" size="40" required="required">
  1378. <input type="hidden" name="options[gadwp_hidden]" value="Y">
  1379. <?php wp_nonce_field('gadwp_form','gadwp_security'); ?>
  1380. </td>
  1381. </tr>
  1382. <?php endif; ?>
  1383. <?php if ( $options['token'] ) : ?>
  1384. <tr>
  1385. <td colspan="2">
  1386. <input type="submit" name="Reset" class="button button-secondary" value="<?php _e( "Clear Authorization", 'google-analytics-dashboard-for-wp' ); ?>" <?php echo $options['network_mode']?'disabled="disabled"':''; ?> />
  1387. <input type="submit" name="Clear" class="button button-secondary" value="<?php _e( "Clear Cache", 'google-analytics-dashboard-for-wp' ); ?>" />
  1388. <input type="submit" name="Reset_Err" class="button button-secondary" value="<?php _e( "Report & Reset Errors", 'google-analytics-dashboard-for-wp' ); ?>" />
  1389. </td>
  1390. </tr>
  1391. <tr>
  1392. <td colspan="2">
  1393. <hr>
  1394. </td>
  1395. </tr>
  1396. <tr>
  1397. <td colspan="2"><?php echo "<h2>" . __( "General Settings", 'google-analytics-dashboard-for-wp' ) . "</h2>"; ?></td>
  1398. </tr>
  1399. <tr>
  1400. <td class="gadwp-settings-title">
  1401. <label for="tableid_jail"><?php _e("Select View:", 'google-analytics-dashboard-for-wp' ); ?></label>
  1402. </td>
  1403. <td>
  1404. <select id="tableid_jail" <?php disabled(empty($options['ga_profiles_list']) || 1 == count($options['ga_profiles_list']), true); ?> name="options[tableid_jail]">
  1405. <?php if ( ! empty( $options['ga_profiles_list'] ) ) : ?>
  1406. <?php foreach ( $options['ga_profiles_list'] as $items ) : ?>
  1407. <?php if ( $items[3] ) : ?>
  1408. <option value="<?php echo esc_attr( $items[1] ); ?>" <?php selected( $items[1], $options['tableid_jail'] ); ?> title="<?php _e( "View Name:", 'google-analytics-dashboard-for-wp' ); ?> <?php echo esc_attr( $items[0] ); ?>">
  1409. <?php echo esc_html( GADWP_Tools::strip_protocol( $items[3] ) )?> &#8658; <?php echo esc_attr( $items[0] ); ?>
  1410. </option>
  1411. <?php endif; ?>
  1412. <?php endforeach; ?>
  1413. <?php else : ?>
  1414. <option value=""><?php _e( "Property not found", 'google-analytics-dashboard-for-wp' ); ?></option>
  1415. <?php endif; ?>
  1416. </select>
  1417. <?php if ( count( $options['ga_profiles_list'] ) > 1 ) : ?>
  1418. &nbsp;<input type="submit" name="Hide" class="button button-secondary" value="<?php _e( "Lock Selection", 'google-analytics-dashboard-for-wp' ); ?>" />
  1419. <?php endif; ?>
  1420. </td>
  1421. </tr>
  1422. <?php if ( $options['tableid_jail'] ) : ?>
  1423. <tr>
  1424. <td class="gadwp-settings-title"></td>
  1425. <td>
  1426. <?php $profile_info = GADWP_Tools::get_selected_profile( $gadwp->config->options['ga_profiles_list'], $gadwp->config->options['tableid_jail'] ); ?>
  1427. <pre><?php echo __( "View Name:", 'google-analytics-dashboard-for-wp' ) . "\t" . esc_html( $profile_info[0] ) . "<br />" . __( "Tracking ID:", 'google-analytics-dashboard-for-wp' ) . "\t" . esc_html( $profile_info[2] ) . "<br />" . __( "Default URL:", 'google-analytics-dashboard-for-wp' ) . "\t" . esc_html( $profile_info[3] ) . "<br />" . __( "Time Zone:", 'google-analytics-dashboard-for-wp' ) . "\t" . esc_html( $profile_info[5] );?></pre>
  1428. </td>
  1429. </tr>
  1430. <?php endif; ?>
  1431. <tr>
  1432. <td class="gadwp-settings-title">
  1433. <label for="theme_color"><?php _e("Theme Color:", 'google-analytics-dashboard-for-wp' ); ?></label>
  1434. </td>
  1435. <td>
  1436. <input type="text" id="theme_color" class="theme_color" name="options[theme_color]" value="<?php echo esc_attr($options['theme_color']); ?>" size="10">
  1437. </td>
  1438. </tr>
  1439. <tr>
  1440. <td colspan="2">
  1441. <hr>
  1442. </td>
  1443. </tr>
  1444. <?php if ( !is_multisite()) :?>
  1445. <tr>
  1446. <td colspan="2"><?php echo "<h2>" . __( "Automatic Updates", 'google-analytics-dashboard-for-wp' ) . "</h2>"; ?></td>
  1447. </tr>
  1448. <tr>
  1449. <td colspan="2" class="gadwp-settings-title">
  1450. <div class="button-primary gadwp-settings-switchoo">
  1451. <input type="checkbox" name="options[automatic_updates_minorversion]" value="1" class="gadwp-settings-switchoo-checkbox" id="automatic_updates_minorversion" <?php checked( $options['automatic_updates_minorversion'], 1 ); ?>>
  1452. <label class="gadwp-settings-switchoo-label" for="automatic_updates_minorversion">
  1453. <div class="gadwp-settings-switchoo-inner"></div>
  1454. <div class="gadwp-settings-switchoo-switch"></div>
  1455. </label>
  1456. </div>
  1457. <div class="switch-desc"><?php echo " ".__( "automatic updates for minor versions (security and maintenance releases only)", 'google-analytics-dashboard-for-wp' );?></div>
  1458. </td>
  1459. </tr>
  1460. <tr>
  1461. <td colspan="2">
  1462. <hr>
  1463. </td>
  1464. </tr>
  1465. <?php endif; ?>
  1466. <tr>
  1467. <td colspan="2"><?php echo "<h2>" . __( "Usage Tracking", 'google-analytics-dashboard-for-wp' ) . "</h2>"; ?></td>
  1468. </tr>
  1469. <tr>
  1470. <td colspan="2" class="gadwp-settings-title">
  1471. <div class="button-primary gadwp-settings-switchoo">
  1472. <input type="checkbox" name="options[usage_tracking]" value="1" class="gadwp-settings-switchoo-checkbox" id="usage_tracking" <?php checked( $options['usage_tracking'], 1 ); ?>>
  1473. <label class="gadwp-settings-switchoo-label" for="usage_tracking">
  1474. <div class="gadwp-settings-switchoo-inner"></div>
  1475. <div class="gadwp-settings-switchoo-switch"></div>
  1476. </label>
  1477. </div>
  1478. <div class="switch-desc"><?php echo " ". sprintf( esc_html__( 'ExactMetrics would like to %1$scollect some information%2$s to better understand how our users use our plugin to better prioritize features and bugfixes.', 'google-analytics-dashboard-for-wp' ), '<a href="https://exactmetrics.com/usage-tracking/?utm_source=wpdashboard&utm_campaign=usagetracking&utm_medium=plugin" target="_blank">', '</a>' ); ; ?></div>
  1479. </td>
  1480. </tr>
  1481. <tr>
  1482. <td colspan="2">
  1483. <hr>
  1484. </td>
  1485. </tr>
  1486. <tr>
  1487. <td colspan="2" class="submit">
  1488. <input type="submit" name="Submit" class="button button-primary" value="<?php _e('Save Changes', 'google-analytics-dashboard-for-wp' ) ?>" />
  1489. </td>
  1490. </tr>
  1491. <?php else : ?>
  1492. <tr>
  1493. <td colspan="2">
  1494. <hr>
  1495. </td>
  1496. </tr>
  1497. <tr>
  1498. <td colspan="2">
  1499. <input type="submit" name="Authorize" class="button button-secondary" id="authorize" value="<?php _e( "Authorize Plugin", 'google-analytics-dashboard-for-wp' ); ?>" <?php echo $options['network_mode']?'disabled="disabled"':''; ?> />
  1500. <input type="submit" name="Clear" class="button button-secondary" value="<?php _e( "Clear Cache", 'google-analytics-dashboard-for-wp' ); ?>" />
  1501. </td>
  1502. </tr>
  1503. <tr>
  1504. <td colspan="2">
  1505. <hr>
  1506. </td>
  1507. </tr>
  1508. </table>
  1509. </form>
  1510. <?php self::output_sidebar(); ?>
  1511. <?php return; ?>
  1512. <?php endif; ?>
  1513. </table>
  1514. </form>
  1515. <?php endif; ?>
  1516. <?php
  1517. self::output_sidebar();
  1518. }
  1519. // Network Settings
  1520. public static function general_settings_network() {
  1521. $gadwp = GADWP();
  1522. if ( ! current_user_can( 'manage_network_options' ) ) {
  1523. return;
  1524. }
  1525. $options = self::update_options( 'network' );
  1526. /*
  1527. * Include GAPI
  1528. */
  1529. echo '<div id="gapi-warning" class="updated"><p>' . __( 'Loading the required libraries. If this results in a blank screen or a fatal error, try this solution:', 'google-analytics-dashboard-for-wp' ) . ' <a href="https://exactmetrics.com/?utm_source=gadwp_config&utm_medium=link&utm_content=general_screen&utm_campaign=gadwp">Library conflicts between WordPress plugins</a></p></div>';
  1530. if ( null === $gadwp->gapi_controller ) {
  1531. $gadwp->gapi_controller = new GADWP_GAPI_Controller();
  1532. }
  1533. echo '<script type="text/javascript">jQuery("#gapi-warning").hide()</script>';
  1534. if ( isset( $_POST['gadwp_access_code'] ) ) {
  1535. if ( 1 == ! stripos( 'x' . $_POST['gadwp_access_code'], 'UA-', 1 ) && $_POST['gadwp_access_code'] != get_option( 'gadwp_redeemed_code' ) ) {
  1536. try {
  1537. $gadwp_access_code = $_POST['gadwp_access_code'];
  1538. update_option( 'gadwp_redeemed_code', $gadwp_access_code );
  1539. $gadwp->gapi_controller->client->authenticate( $_POST['gadwp_access_code'] );
  1540. $gadwp->config->options['token'] = $gadwp->gapi_controller->client->getAccessToken();
  1541. $gadwp->config->options['automatic_updates_minorversion'] = 1;
  1542. $gadwp->config->set_plugin_options( true );
  1543. $options = self::update_options( 'network' );
  1544. $message = "<div class='updated' id='gadwp-action'><p>" . __( "Plugin authorization succeeded.", 'google-analytics-dashboard-for-wp' ) . "</p></div>";
  1545. if ( is_multisite() ) { // Cleanup errors on the entire network
  1546. foreach ( GADWP_Tools::get_sites( array( 'number' => apply_filters( 'gadwp_sites_limit', 100 ) ) ) as $blog ) {
  1547. switch_to_blog( $blog['blog_id'] );
  1548. GADWP_Tools::delete_cache( 'last_error' );
  1549. GADWP_Tools::delete_cache( 'gapi_errors' );
  1550. restore_current_blog();
  1551. }
  1552. } else {
  1553. GADWP_Tools::delete_cache( 'last_error' );
  1554. GADWP_Tools::delete_cache( 'gapi_errors' );
  1555. }
  1556. if ( $gadwp->config->options['token'] && $gadwp->gapi_controller->client->getAccessToken() ) {
  1557. $profiles = $gadwp->gapi_controller->refresh_profiles();
  1558. if ( is_array ( $profiles ) && ! empty( $profiles ) ) {
  1559. $gadwp->config->options['ga_profiles_list'] = $profiles;
  1560. if ( isset( $gadwp->config->options['tableid_jail'] ) && ! $gadwp->config->options['tableid_jail'] ) {
  1561. $profile = GADWP_Tools::guess_default_domain( $profiles );
  1562. $gadwp->config->options['tableid_jail'] = $profile;
  1563. }
  1564. $gadwp->config->set_plugin_options( true );
  1565. $options = self::update_options( 'network' );
  1566. }
  1567. }
  1568. } catch ( Deconf_IO_Exception $e ) {
  1569. $timeout = $gadwp->gapi_controller->get_timeouts( 'midnight' );
  1570. GADWP_Tools::set_error( $e, $timeout );
  1571. } catch ( Deconf_Service_Exception $e ) {
  1572. $timeout = $gadwp->gapi_controller->get_timeouts( 'midnight' );
  1573. GADWP_Tools::set_error( $e, $timeout );
  1574. } catch ( Exception $e ) {
  1575. $timeout = $gadwp->gapi_controller->get_timeouts( 'midnight' );
  1576. GADWP_Tools::set_error( $e, $timeout );
  1577. $gadwp->gapi_controller->reset_token();
  1578. }
  1579. } else {
  1580. if ( 1 == stripos( 'x' . $_POST['gadwp_access_code'], 'UA-', 1 ) ) {
  1581. $message = "<div class='error' id='gadwp-autodismiss'><p>" . __( "The access code is <strong>not</strong> your <strong>Tracking ID</strong> (UA-XXXXX-X) <strong>nor</strong> your <strong>email address</strong>!", 'google-analytics-dashboard-for-wp' ) . ".</p></div>";
  1582. } else {
  1583. $message = "<div class='error' id='gadwp-autodismiss'><p>" . __( "You can only use the access code <strong>once</strong>, please generate a <strong>new access code</strong> using the red link", 'google-analytics-dashboard-for-wp' ) . "!</p></div>";
  1584. }
  1585. }
  1586. }
  1587. if ( isset( $_POST['Refresh'] ) ) {
  1588. if ( isset( $_POST['gadwp_security'] ) && wp_verify_nonce( $_POST['gadwp_security'], 'gadwp_form' ) ) {
  1589. $gadwp->config->options['ga_profiles_list'] = array();
  1590. $message = "<div class='updated' id='gadwp-autodismiss'><p>" . __( "Properties refreshed.", 'google-analytics-dashboard-for-wp' ) . "</p></div>";
  1591. $options = self::update_options( 'network' );
  1592. if ( $gadwp->config->options['token'] && $gadwp->gapi_controller->client->getAccessToken() ) {
  1593. if ( ! empty( $gadwp->config->options['ga_profiles_list'] ) ) {
  1594. $profiles = $gadwp->config->options['ga_profiles_list'];
  1595. } else {
  1596. $profiles = $gadwp->gapi_controller->refresh_profiles();
  1597. }
  1598. if ( $profiles ) {
  1599. $gadwp->config->options['ga_profiles_list'] = $profiles;
  1600. if ( isset( $gadwp->config->options['tableid_jail'] ) && ! $gadwp->config->options['tableid_jail'] ) {
  1601. $profile = GADWP_Tools::guess_default_domain( $profiles );
  1602. $gadwp->config->options['tableid_jail'] = $profile;
  1603. }
  1604. $gadwp->config->set_plugin_options( true );
  1605. $options = self::update_options( 'network' );
  1606. }
  1607. }
  1608. } else {
  1609. $message = "<div class='error' id='gadwp-autodismiss'><p>" . __( "Cheating Huh?", 'google-analytics-dashboard-for-wp' ) . "</p></div>";
  1610. }
  1611. }
  1612. if ( isset( $_POST['Clear'] ) ) {
  1613. if ( isset( $_POST['gadwp_security'] ) && wp_verify_nonce( $_POST['gadwp_security'], 'gadwp_form' ) ) {
  1614. GADWP_Tools::clear_cache();
  1615. $message = "<div class='updated' id='gadwp-autodismiss'><p>" . __( "Cleared Cache.", 'google-analytics-dashboard-for-wp' ) . "</p></div>";
  1616. } else {
  1617. $message = "<div class='error' id='gadwp-autodismiss'><p>" . __( "Cheating Huh?", 'google-analytics-dashboard-for-wp' ) . "</p></div>";
  1618. }
  1619. }
  1620. if ( isset( $_POST['Reset'] ) ) {
  1621. if ( isset( $_POST['gadwp_security'] ) && wp_verify_nonce( $_POST['gadwp_security'], 'gadwp_form' ) ) {
  1622. $gadwp->gapi_controller->reset_token();
  1623. GADWP_Tools::clear_cache();
  1624. $message = "<div class='updated' id='gadwp-autodismiss'><p>" . __( "Token Reseted and Revoked.", 'google-analytics-dashboard-for-wp' ) . "</p></div>";
  1625. $options = self::update_options( 'Reset' );
  1626. } else {
  1627. $message = "<div class='error' id='gadwp-autodismiss'><p>" . __( "Cheating Huh?", 'google-analytics-dashboard-for-wp' ) . "</p></div>";
  1628. }
  1629. }
  1630. if ( isset( $_POST['options']['gadwp_hidden'] ) && ! isset( $_POST['Clear'] ) && ! isset( $_POST['Reset'] ) && ! isset( $_POST['Refresh'] ) ) {
  1631. $message = "<div class='updated' id='gadwp-autodismiss'><p>" . __( "Settings saved.", 'google-analytics-dashboard-for-wp' ) . "</p></div>";
  1632. if ( ! ( isset( $_POST['gadwp_security'] ) && wp_verify_nonce( $_POST['gadwp_security'], 'gadwp_form' ) ) ) {
  1633. $message = "<div class='error' id='gadwp-autodismiss'><p>" . __( "Cheating Huh?", 'google-analytics-dashboard-for-wp' ) . "</p></div>";
  1634. }
  1635. }
  1636. if ( isset( $_POST['Hide'] ) ) {
  1637. if ( isset( $_POST['gadwp_security'] ) && wp_verify_nonce( $_POST['gadwp_security'], 'gadwp_form' ) ) {
  1638. $message = "<div class='updated' id='gadwp-autodismiss'><p>" . __( "All other domains/properties were removed.", 'google-analytics-dashboard-for-wp' ) . "</p></div>";
  1639. $lock_profile = GADWP_Tools::get_selected_profile( $gadwp->config->options['ga_profiles_list'], $gadwp->config->options['tableid_jail'] );
  1640. $gadwp->config->options['ga_profiles_list'] = array( $lock_profile );
  1641. $options = self::update_options( 'network' );
  1642. } else {
  1643. $message = "<div class='error' id='gadwp-autodismiss'><p>" . __( "Cheating Huh?", 'google-analytics-dashboard-for-wp' ) . "</p></div>";
  1644. }
  1645. }
  1646. ?>
  1647. <div class="wrap">
  1648. <h2><?php _e( "Google Analytics Settings", 'google-analytics-dashboard-for-wp' );?></h2>
  1649. <hr>
  1650. </div>
  1651. <div id="poststuff" class="gadwp">
  1652. <div id="post-body" class="metabox-holder columns-2">
  1653. <div id="post-body-content">
  1654. <div class="settings-wrapper">
  1655. <div class="inside">
  1656. <?php if ( $gadwp->gapi_controller->gapi_errors_handler() || GADWP_Tools::get_cache( 'last_error' ) ) : ?>
  1657. <?php $message = sprintf( '<div class="error"><p>%s</p></div>', sprintf( __( 'Something went wrong, check %1$s or %2$s.', 'google-analytics-dashboard-for-wp' ), sprintf( '<a href="%1$s">%2$s</a>', menu_page_url( 'gadwp_errors_debugging', false ), __( 'Errors & Debug', 'google-analytics-dashboard-for-wp' ) ), sprintf( '<a href="%1$s">%2$s</a>', menu_page_url( 'gadwp_settings', false ), __( 'authorize the plugin', 'google-analytics-dashboard-for-wp' ) ) ) );?>
  1658. <?php endif; ?>
  1659. <?php if ( isset( $_POST['Authorize'] ) ) : ?>
  1660. <?php GADWP_Tools::clear_cache();?>
  1661. <?php $gadwp->gapi_controller->token_request();?>
  1662. <div class="updated">
  1663. <p><?php _e( "Use the red link (see below) to generate and get your access code! You need to generate a new code each time you authorize!", 'google-analytics-dashboard-for-wp' );?></p>
  1664. </div>
  1665. <?php else : ?>
  1666. <?php if ( isset( $message ) ) : ?>
  1667. <?php echo $message; ?>
  1668. <?php endif; ?>
  1669. <form name="gadwp_form" method="post" action="<?php echo esc_url($_SERVER['REQUEST_URI']); ?>">
  1670. <input type="hidden" name="options[gadwp_hidden]" value="Y">
  1671. <?php wp_nonce_field('gadwp_form','gadwp_security'); ?>
  1672. <table class="gadwp-settings-options">
  1673. <tr>
  1674. <td colspan="2">
  1675. <?php echo "<h2>" . __( "Network Setup", 'google-analytics-dashboard-for-wp' ) . "</h2>"; ?>
  1676. </td>
  1677. </tr>
  1678. <tr>
  1679. <td colspan="2" class="gadwp-settings-title">
  1680. <div class="button-primary gadwp-settings-switchoo">
  1681. <input type="checkbox" name="options[network_mode]" value="1" class="gadwp-settings-switchoo-checkbox" id="network_mode" <?php checked( $options['network_mode'], 1); ?> onchange="this.form.submit()">
  1682. <label class="gadwp-settings-switchoo-label" for="network_mode">
  1683. <div class="gadwp-settings-switchoo-inner"></div>
  1684. <div class="gadwp-settings-switchoo-switch"></div>
  1685. </label>
  1686. </div>
  1687. <div class="switch-desc"><?php echo " ".__("use a single Google Analytics account for the entire network", 'google-analytics-dashboard-for-wp' );?></div>
  1688. </td>
  1689. </tr>
  1690. <?php if ($options['network_mode']) : ?>
  1691. <tr>
  1692. <td colspan="2">
  1693. <hr>
  1694. </td>
  1695. </tr>
  1696. <tr>
  1697. <td colspan="2"><?php echo "<h2>" . __( "Plugin Authorization", 'google-analytics-dashboard-for-wp' ) . "</h2>"; ?></td>
  1698. </tr>
  1699. <tr>
  1700. <td colspan="2" class="gadwp-settings-info">
  1701. <?php printf(__('You need to create a %1$s and watch this %2$s before proceeding to authorization.', 'google-analytics-dashboard-for-wp'), sprintf('<a href="%1$s" target="_blank">%2$s</a>', 'https://exactmetrics.com/creating-a-google-analytics-account/?utm_source=gadwp_config&utm_medium=link&utm_content=top_tutorial&utm_campaign=gadwp', __("free analytics account", 'google-analytics-dashboard-for-wp')), sprintf('<a href="%1$s" target="_blank">%2$s</a>', 'https://exactmetrics.com/?utm_source=gadwp_config&utm_medium=link&utm_content=top_video&utm_campaign=gadwp', __("video tutorial", 'google-analytics-dashboard-for-wp')));?>
  1702. </td>
  1703. </tr>
  1704. <?php if ( ! $options['token'] || $options['user_api'] ) : ?>
  1705. <tr>
  1706. <td colspan="2" class="gadwp-settings-info">
  1707. <input name="options[user_api]" type="checkbox" id="user_api" value="1" <?php checked( $options['user_api'], 1 ); ?> onchange="this.form.submit()" /><?php echo " ".__("developer mode (requires advanced API knowledge)", 'google-analytics-dashboard-for-wp' );?>
  1708. </td>
  1709. </tr>
  1710. <?php endif; ?>
  1711. <?php if ( $options['user_api'] ) : ?>
  1712. <tr>
  1713. <td class="gadwp-settings-title">
  1714. <label for="options[client_id]"><?php _e("Client ID:", 'google-analytics-dashboard-for-wp'); ?>
  1715. </label>
  1716. </td>
  1717. <td>
  1718. <input type="text" name="options[client_id]" value="<?php echo esc_attr($options['client_id']); ?>" size="40" required="required">
  1719. </td>
  1720. </tr>
  1721. <tr>
  1722. <td class="gadwp-settings-title">
  1723. <label for="options[client_secret]"><?php _e("Client Secret:", 'google-analytics-dashboard-for-wp'); ?>
  1724. </label>
  1725. </td>
  1726. <td>
  1727. <input type="text" name="options[client_secret]" value="<?php echo esc_attr($options['client_secret']); ?>" size="40" required="required">
  1728. <input type="hidden" name="options[gadwp_hidden]" value="Y">
  1729. <?php wp_nonce_field('gadwp_form','gadwp_security'); ?>
  1730. </td>
  1731. </tr>
  1732. <?php endif; ?>
  1733. <?php if ( $options['token'] ) : ?>
  1734. <tr>
  1735. <td colspan="2">
  1736. <input type="submit" name="Reset" class="button button-secondary" value="<?php _e( "Clear Authorization", 'google-analytics-dashboard-for-wp' ); ?>" />
  1737. <input type="submit" name="Clear" class="button button-secondary" value="<?php _e( "Clear Cache", 'google-analytics-dashboard-for-wp' ); ?>" />
  1738. <input type="submit" name="Refresh" class="button button-secondary" value="<?php _e( "Refresh Properties", 'google-analytics-dashboard-for-wp' ); ?>" />
  1739. </td>
  1740. </tr>
  1741. <tr>
  1742. <td colspan="2">
  1743. <hr>
  1744. </td>
  1745. </tr>
  1746. <tr>
  1747. <td colspan="2">
  1748. <?php echo "<h2>" . __( "Properties/Views Settings", 'google-analytics-dashboard-for-wp' ) . "</h2>"; ?>
  1749. </td>
  1750. </tr>
  1751. <?php if ( isset( $options['network_tableid'] ) ) : ?>
  1752. <?php $options['network_tableid'] = json_decode( json_encode( $options['network_tableid'] ), false ); ?>
  1753. <?php endif; ?>
  1754. <?php foreach ( GADWP_Tools::get_sites( array( 'number' => apply_filters( 'gadwp_sites_limit', 100 ) ) ) as $blog ) : ?>
  1755. <tr>
  1756. <td class="gadwp-settings-title-s">
  1757. <label for="network_tableid"><?php echo '<strong>'.$blog['domain'].$blog['path'].'</strong>: ';?></label>
  1758. </td>
  1759. <td>
  1760. <select id="network_tableid" <?php disabled(!empty($options['ga_profiles_list']),false);?> name="options[network_tableid][<?php echo $blog['blog_id'];?>]">
  1761. <?php if ( ! empty( $options['ga_profiles_list'] ) ) : ?>
  1762. <?php foreach ( $options['ga_profiles_list'] as $items ) : ?>
  1763. <?php if ( $items[3] ) : ?>
  1764. <?php $temp_id = $blog['blog_id']; ?>
  1765. <option value="<?php echo esc_attr( $items[1] );?>" <?php selected( $items[1], isset( $options['network_tableid']->$temp_id ) ? $options['network_tableid']->$temp_id : '');?> title="<?php echo __( "View Name:", 'google-analytics-dashboard-for-wp' ) . ' ' . esc_attr( $items[0] );?>">
  1766. <?php echo esc_html( GADWP_Tools::strip_protocol( $items[3] ) );?> &#8658; <?php echo esc_attr( $items[0] );?>
  1767. </option>
  1768. <?php endif; ?>
  1769. <?php endforeach; ?>
  1770. <?php else : ?>
  1771. <option value="">
  1772. <?php _e( "Property not found", 'google-analytics-dashboard-for-wp' );?>
  1773. </option>
  1774. <?php endif; ?>
  1775. </select>
  1776. <br />
  1777. </td>
  1778. </tr>
  1779. <?php endforeach; ?>
  1780. <tr>
  1781. <td colspan="2">
  1782. <h2><?php echo _e( "Automatic Updates", 'google-analytics-dashboard-for-wp' );?></h2>
  1783. </td>
  1784. </tr>
  1785. <tr>
  1786. <td colspan="2" class="gadwp-settings-title">
  1787. <div class="button-primary gadwp-settings-switchoo">
  1788. <input type="checkbox" name="options[automatic_updates_minorversion]" value="1" class="gadwp-settings-switchoo-checkbox" id="automatic_updates_minorversion" <?php checked( $options['automatic_updates_minorversion'], 1 ); ?>>
  1789. <label class="gadwp-settings-switchoo-label" for="automatic_updates_minorversion">
  1790. <div class="gadwp-settings-switchoo-inner"></div>
  1791. <div class="gadwp-settings-switchoo-switch"></div>
  1792. </label>
  1793. </div>
  1794. <div class="switch-desc"><?php echo " ".__( "automatic updates for minor versions (security and maintenance releases only)", 'google-analytics-dashboard-for-wp' );?></div>
  1795. </td>
  1796. </tr>
  1797. <tr>
  1798. <td colspan="2">
  1799. <hr>
  1800. </td>
  1801. </tr>
  1802. <tr>
  1803. <td colspan="2">
  1804. <hr><?php echo "<h2>" . __( "Exclude Tracking", 'google-analytics-dashboard-for-wp' ) . "</h2>"; ?></td>
  1805. </tr>
  1806. <tr>
  1807. <td colspan="2" class="gadwp-settings-title">
  1808. <div class="button-primary gadwp-settings-switchoo">
  1809. <input type="checkbox" name="options[superadmin_tracking]" value="1" class="gadwp-settings-switchoo-checkbox" id="superadmin_tracking"<?php checked( $options['superadmin_tracking'], 1); ?>">
  1810. <label class="gadwp-settings-switchoo-label" for="superadmin_tracking">
  1811. <div class="gadwp-settings-switchoo-inner"></div>
  1812. <div class="gadwp-settings-switchoo-switch"></div>
  1813. </label>
  1814. </div>
  1815. <div class="switch-desc"><?php echo " ".__("exclude Super Admin tracking for the entire network", 'google-analytics-dashboard-for-wp' );?></div>
  1816. </td>
  1817. </tr>
  1818. <tr>
  1819. <td colspan="2">
  1820. <hr>
  1821. </td>
  1822. </tr>
  1823. <tr>
  1824. <td colspan="2"><?php echo "<h2>" . __( "Hide Announcements", 'google-analytics-dashboard-for-wp' ) . "</h2>"; ?></td>
  1825. </tr>
  1826. <tr>
  1827. <td colspan="2" class="gadwp-settings-title">
  1828. <div class="button-primary gadwp-settings-switchoo">
  1829. <input type="checkbox" name="options[network_hide_am_notices]" value="1" class="gadwp-settings-switchoo-checkbox" id="network_hide_am_notices" <?php checked( $options['network_hide_am_notices'], 1 ); ?>>
  1830. <label class="gadwp-settings-switchoo-label" for="network_hide_am_notices">
  1831. <div class="gadwp-settings-switchoo-inner"></div>
  1832. <div class="gadwp-settings-switchoo-switch"></div>
  1833. </label>
  1834. </div>
  1835. <div class="switch-desc"><?php echo esc_html__( 'Hides plugin announcements and update details. This includes critical notices we use to inform about deprecations and important required configuration changes.' ); ?></div>
  1836. </td>
  1837. </tr>
  1838. <tr>
  1839. <td colspan="2">
  1840. <hr>
  1841. </td>
  1842. </tr>
  1843. <tr>
  1844. <td colspan="2" class="submit">
  1845. <input type="submit" name="Submit" class="button button-primary" value="<?php _e('Save Changes', 'google-analytics-dashboard-for-wp' ) ?>" />
  1846. </td>
  1847. </tr>
  1848. <?php else : ?>
  1849. <tr>
  1850. <td colspan="2">
  1851. <hr>
  1852. </td>
  1853. </tr>
  1854. <tr>
  1855. <td colspan="2">
  1856. <input type="submit" name="Authorize" class="button button-secondary" id="authorize" value="<?php _e( "Authorize Plugin", 'google-analytics-dashboard-for-wp' ); ?>" />
  1857. <input type="submit" name="Clear" class="button button-secondary" value="<?php _e( "Clear Cache", 'google-analytics-dashboard-for-wp' ); ?>" />
  1858. </td>
  1859. </tr>
  1860. <?php endif; ?>
  1861. <tr>
  1862. <td colspan="2">
  1863. <hr>
  1864. </td>
  1865. </tr>
  1866. </table>
  1867. </form>
  1868. <?php self::output_sidebar(); ?>
  1869. <?php return; ?>
  1870. <?php endif;?>
  1871. </table>
  1872. </form>
  1873. <?php endif; ?>
  1874. <?php
  1875. self::output_sidebar();
  1876. }
  1877. public static function output_sidebar() {
  1878. global $wp_version;
  1879. $gadwp = GADWP();
  1880. ?>
  1881. </div>
  1882. </div>
  1883. </div>
  1884. <div id="postbox-container-1" class="postbox-container">
  1885. <div class="meta-box-sortables">
  1886. <div class="postbox">
  1887. <h3>
  1888. <span><?php _e("Setup Tutorial & Demo",'google-analytics-dashboard-for-wp') ?></span>
  1889. </h3>
  1890. <div class="inside">
  1891. <a href="https://exactmetrics.com/quick-start-guide/?utm_source=gadwp_config&utm_medium=link&utm_content=video&utm_campaign=gadwp" target="_blank"><img src="<?php echo plugins_url( 'images/google-analytics-dashboard.png' , __FILE__ );?>" width="100%" alt="" /></a>
  1892. </div>
  1893. </div>
  1894. <div class="postbox">
  1895. <h3>
  1896. <span><?php _e("Further Reading",'google-analytics-dashboard-for-wp')?></span>
  1897. </h3>
  1898. <div class="inside">
  1899. <div class="gadwp-title">
  1900. <a href="https://exactmetrics.com/quick-start-guide/?utm_source=gadwp_config&utm_medium=link&utm_content=getstarted&utm_campaign=gadwp"><img src="<?php echo plugins_url( 'images/clicky.png' , __FILE__ ); ?>" /></a>
  1901. </div>
  1902. <div class="gadwp-desc">
  1903. <?php printf(__('%s with our quick start guide.', 'google-analytics-dashboard-for-wp'), sprintf('<a href="https://exactmetrics.com/quick-start-guide/?utm_source=gadwp_config&utm_medium=link&utm_content=getstarted&utm_campaign=gadwp">%s</a>', __('Get started', 'google-analytics-dashboard-for-wp')));?>
  1904. </div>
  1905. <br />
  1906. <div class="gadwp-title">
  1907. <a href="https://exactmetrics.com/google-analytics-gdpr-and-user-data-privacy-compliance/?utm_source=gadwp_config&utm_medium=link&utm_content=ssl&utm_campaign=gadwp"><img src="<?php echo plugins_url( 'images/ssl.png' , __FILE__ ); ?>" /></a>
  1908. </div>
  1909. <div class="gadwp-desc">
  1910. <?php printf(__('%s with our guide to what you need to know.', 'google-analytics-dashboard-for-wp'), sprintf('<a href="https://exactmetrics.com/google-analytics-gdpr-and-user-data-privacy-compliance/?utm_source=gadwp_config&utm_medium=link&utm_content=gdprl&utm_campaign=gadwp">%s</a>', __('Get ready for GDPR', 'google-analytics-dashboard-for-wp')));?>
  1911. </div>
  1912. <br />
  1913. <div class="gadwp-title">
  1914. <a href="http://wordpress.org/support/view/plugin-reviews/google-analytics-dashboard-for-wp#plugin-info"><img src="<?php echo plugins_url( 'images/star.png' , __FILE__ ); ?>" /></a>
  1915. </div>
  1916. <div class="gadwp-desc">
  1917. <?php printf(__('Your feedback and review are both important, %s!', 'google-analytics-dashboard-for-wp'), sprintf('<a href="http://wordpress.org/support/view/plugin-reviews/google-analytics-dashboard-for-wp/?filter=5">%s</a>', __('rate this plugin', 'google-analytics-dashboard-for-wp')));?>
  1918. </div>
  1919. </div>
  1920. </div>
  1921. <div class="postbox">
  1922. <h3>
  1923. <span><?php _e("Recommended Plugins",'google-analytics-dashboard-for-wp')?></span>
  1924. </h3>
  1925. <div class="inside">
  1926. <div class="gadwp-title">
  1927. <a href="https://wpforms.com/?utm_source=gadwp&utm_medium=link&utm_campaign=gadwpsettingspage"><img src="<?php echo plugins_url( 'images/wpforms.png' , __FILE__ ); ?>" /></a>
  1928. </div>
  1929. <div class="gadwp-desc">
  1930. <?php printf(__('%s the most beginner friendly drag and drop form builder plugin for WordPress.', 'google-analytics-dashboard-for-wp'), sprintf('<a href="https://wpforms.com/?utm_source=gadwp&utm_medium=link&utm_campaign=gadwpsettingspage">%s</a>', __('WPForms', 'google-analytics-dashboard-for-wp')));?>
  1931. </div>
  1932. <br />
  1933. <div class="gadwp-title">
  1934. <a href="https://optinmonster.com/?utm_source=gadwp&utm_medium=link&utm_campaign=gadwpsettingspage"><img src="<?php echo plugins_url( 'images/optinmonster.png' , __FILE__ ); ?>" /></a>
  1935. </div>
  1936. <div class="gadwp-desc">
  1937. <?php printf(__('%s the best conversion optimization toolkit to boost your subscribers and grow your sales.', 'google-analytics-dashboard-for-wp'), sprintf('<a href="https://optinmonster.com/?utm_source=gadwp&utm_medium=link&utm_campaign=gadwpsettingspage">%s</a>', __('OptinMonster', 'google-analytics-dashboard-for-wp')));?>
  1938. </div>
  1939. </div>
  1940. </div>
  1941. </div>
  1942. </div>
  1943. </div>
  1944. </div>
  1945. <?php
  1946. // Dismiss the admin update notice
  1947. if ( version_compare( $wp_version, '4.2', '<' ) && current_user_can( 'manage_options' ) ) {
  1948. delete_option( 'gadwp_got_updated' );
  1949. }
  1950. }
  1951. }