Advertisement
Guest User

Untitled

a guest
Jan 31st, 2015
192
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 20.14 KB | None | 0 0
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <hookexport>
  3. <hookdata>
  4. <config>
  5. <hook_name>Donate Sidebar</hook_name>
  6. <hook_desc>Shows a donation form as a sidebar block.</hook_desc>
  7. <hook_author>Michael John (DevFuse)</hook_author>
  8. <hook_email/>
  9. <hook_website>http://www.devfuse.com</hook_website>
  10. <hook_update_check/>
  11. <hook_requirements><![CDATA[a:3:{s:21:"required_applications";a:0:{}s:20:"hook_php_version_min";s:0:"";s:20:"hook_php_version_max";s:0:"";}]]></hook_requirements>
  12. <hook_version_human>2.0.0</hook_version_human>
  13. <hook_version_long>10003</hook_version_long>
  14. <hook_extra_data><![CDATA[a:5:{s:7:"display";a:3:{s:8:"settings";s:30:"Setting groups: Donate Sidebar";s:8:"language";s:88:"From core_public_global: dsb_donate, dsb_forum_donation, dsb_status_alt, dsb_status_line";s:9:"templates";s:35:"From skin_boards: hookDonateSidebar";}s:13:"settingGroups";a:1:{i:0;s:3:"dsb";}s:9:"templates";a:1:{s:11:"skin_boards";a:1:{s:17:"hookDonateSidebar";s:17:"hookDonateSidebar";}}s:8:"database";a:0:{}s:8:"language";a:1:{s:18:"core_public_global";a:4:{i:0;s:10:"dsb_donate";i:1;s:18:"dsb_forum_donation";i:2;s:14:"dsb_status_alt";i:3;s:15:"dsb_status_line";}}}]]></hook_extra_data>
  15. <hook_key>donateSidebar</hook_key>
  16. <hook_global_caches/>
  17. </config>
  18. </hookdata>
  19. <hookfiles>
  20. <file>
  21. <hook_file_real>donateSidebarHook.php</hook_file_real>
  22. <hook_type>templateHooks</hook_type>
  23. <hook_classname>donateSidebarHook</hook_classname>
  24. <hook_data><![CDATA[a:8:{s:12:"dataLocation";s:0:"";s:14:"libApplication";s:0:"";s:15:"classToOverload";s:0:"";s:9:"skinGroup";s:11:"skin_boards";s:12:"skinFunction";s:18:"boardIndexTemplate";s:4:"type";s:7:"foreach";s:2:"id";s:11:"side_blocks";s:8:"position";s:9:"outer.pre";}]]></hook_data>
  25. <hooks_source><![CDATA[<?php
  26. /*
  27. +--------------------------------------------------------------------------
  28. | Donate Sidebar 2.0.0
  29. | =============================================
  30. | by Michael
  31. | Copyright 2009-2013 DevFuse
  32. | http://www.devfuse.com
  33. +--------------------------------------------------------------------------
  34. */
  35. class donateSidebarHook
  36. {
  37. protected $registry;
  38. protected $DB;
  39. protected $settings;
  40. protected $request;
  41. protected $lang;
  42. protected $member;
  43. protected $memberData;
  44. protected $cache;
  45. protected $caches;
  46.  
  47. public function __construct()
  48. {
  49. /* Make registry objects */
  50. $this->registry = ipsRegistry::instance();
  51. $this->DB = $this->registry->DB();
  52. $this->settings =& $this->registry->fetchSettings();
  53. $this->request =& $this->registry->fetchRequest();
  54. $this->lang = $this->registry->getClass('class_localization');
  55. $this->member = $this->registry->member();
  56. $this->memberData =& $this->registry->member()->fetchMemberData();
  57. $this->cache = $this->registry->cache();
  58. $this->caches =& $this->registry->cache()->fetchCaches();
  59. }
  60.  
  61. public function getOutput()
  62. {
  63. # Check block permissions
  64. if( IPSMember::isInGroup( $this->memberData, explode( ',', $this->settings['dsb_block_perms'] ) ) )
  65. {
  66. return;
  67. }
  68.  
  69. # Check has paypal address
  70. if( !$this->settings['dsb_address'] )
  71. {
  72. return;
  73. }
  74.  
  75. # Get no blank spaces
  76. $this->settings['dsb_address'] = trim( $this->settings['dsb_address'] );
  77. $this->settings['dsb_name'] = trim( $this->settings['dsb_name'] );
  78.  
  79. # Lets not advertise we support bbcode and html, or every second person will wonder why there javascript doesn't work.
  80. IPSText::getTextClass('bbcode')->parse_html = 1;
  81. IPSText::getTextClass('bbcode')->parse_nl2br = 1;
  82. IPSText::getTextClass('bbcode')->parse_smilies = 1;
  83. IPSText::getTextClass('bbcode')->parse_bbcode = 1;
  84.  
  85. $this->settings['dsb_general_note'] = str_replace( "%board_name%", $this->settings['board_name'], $this->settings['dsb_general_note'] );
  86. $this->settings['dsb_general_note'] = IPSText::getTextClass('bbcode')->preDisplayParse( $this->settings['dsb_general_note'] );
  87.  
  88. return $this->registry->output->getTemplate( 'boards' )->hookDonateSidebar();
  89. }
  90. }
  91. ?>]]></hooks_source>
  92. </file>
  93. </hookfiles>
  94. <hookextras_settings>
  95. <setting>
  96. <conf_is_title>1</conf_is_title>
  97. <conf_title_title>Donate Sidebar</conf_title_title>
  98. <conf_title_desc>Settings for the Donate Sidebar hook.</conf_title_desc>
  99. <conf_title_noshow>0</conf_title_noshow>
  100. <conf_title_keyword>dsb</conf_title_keyword>
  101. <conf_title_app>core</conf_title_app>
  102. <conf_title_tab>DevFuse</conf_title_tab>
  103. </setting>
  104. <setting>
  105. <conf_id>388</conf_id>
  106. <conf_title>Paypal Address</conf_title>
  107. <conf_description><![CDATA[What is your Paypal address?<br /><br /><b>Must match your PayPal Address exactly. Capital case sensitive!</b>]]></conf_description>
  108. <conf_group>81</conf_group>
  109. <conf_type>input</conf_type>
  110. <conf_key>dsb_address</conf_key>
  111. <conf_value/>
  112. <conf_default/>
  113. <conf_extra/>
  114. <conf_evalphp/>
  115. <conf_protected>1</conf_protected>
  116. <conf_position>2</conf_position>
  117. <conf_start_group/>
  118. <conf_add_cache>1</conf_add_cache>
  119. <conf_keywords/>
  120. <conf_title_keyword>dsb</conf_title_keyword>
  121. <conf_is_title>0</conf_is_title>
  122. </setting>
  123. <setting>
  124. <conf_id>1645</conf_id>
  125. <conf_title>Donation Amounts</conf_title>
  126. <conf_description><![CDATA[What donation amounts are available to a donating user?, separate by comma. <b>Enter 0 to disable amount dropdown and let users enter their own amount with a input field.</b>]]></conf_description>
  127. <conf_group>81</conf_group>
  128. <conf_type>input</conf_type>
  129. <conf_key>dsb_amounts</conf_key>
  130. <conf_value/>
  131. <conf_default>5,10,15,25,50,75,100</conf_default>
  132. <conf_extra/>
  133. <conf_evalphp/>
  134. <conf_protected>1</conf_protected>
  135. <conf_position>5</conf_position>
  136. <conf_start_group/>
  137. <conf_add_cache>1</conf_add_cache>
  138. <conf_keywords/>
  139. <conf_title_keyword>dsb</conf_title_keyword>
  140. <conf_is_title>0</conf_is_title>
  141. </setting>
  142. <setting>
  143. <conf_id>396</conf_id>
  144. <conf_title>Exclude Groups</conf_title>
  145. <conf_description>Which groups cannot see this hook?</conf_description>
  146. <conf_group>81</conf_group>
  147. <conf_type>multi</conf_type>
  148. <conf_key>dsb_block_perms</conf_key>
  149. <conf_value/>
  150. <conf_default>5</conf_default>
  151. <conf_extra>#show_groups#</conf_extra>
  152. <conf_evalphp><![CDATA[if ( $save == 1)
  153. {
  154. if ( is_array($_POST['dsb_block_perms']) )
  155. {
  156. $_POST['dsb_block_perms'] = implode(",",$_POST['dsb_block_perms']);
  157. }
  158. else
  159. {
  160. $_POST['dsb_block_perms'] = "";
  161. }
  162.  
  163. $key = 'dsb_block_perms';
  164. }
  165. if ( $show == 1 )
  166. {
  167. $key = 'dsb_block_perms[]';
  168. }]]></conf_evalphp>
  169. <conf_protected>1</conf_protected>
  170. <conf_position>6</conf_position>
  171. <conf_start_group/>
  172. <conf_add_cache>1</conf_add_cache>
  173. <conf_keywords/>
  174. <conf_title_keyword>dsb</conf_title_keyword>
  175. <conf_is_title>0</conf_is_title>
  176. </setting>
  177. <setting>
  178. <conf_id>389</conf_id>
  179. <conf_title>Default Currency</conf_title>
  180. <conf_description><![CDATA[Please enter the 3 character ISO 4217 version of your currency. <a href='http://www.xe.com/iso4217.php' target='_blank'>View currency codes here.</a> Separate each currency with a comma to have multiple currencies.]]></conf_description>
  181. <conf_group>81</conf_group>
  182. <conf_type>input</conf_type>
  183. <conf_key>dsb_default_currency</conf_key>
  184. <conf_value/>
  185. <conf_default>USD,EUR,AUD</conf_default>
  186. <conf_extra/>
  187. <conf_evalphp/>
  188. <conf_protected>1</conf_protected>
  189. <conf_position>4</conf_position>
  190. <conf_start_group/>
  191. <conf_add_cache>1</conf_add_cache>
  192. <conf_keywords/>
  193. <conf_title_keyword>dsb</conf_title_keyword>
  194. <conf_is_title>0</conf_is_title>
  195. </setting>
  196. <setting>
  197. <conf_id>390</conf_id>
  198. <conf_title>Donations Received</conf_title>
  199. <conf_description>How much worth of donations have you received?</conf_description>
  200. <conf_group>81</conf_group>
  201. <conf_type>input</conf_type>
  202. <conf_key>dsb_donation_amount</conf_key>
  203. <conf_value/>
  204. <conf_default>50</conf_default>
  205. <conf_extra/>
  206. <conf_evalphp/>
  207. <conf_protected>1</conf_protected>
  208. <conf_position>10</conf_position>
  209. <conf_start_group/>
  210. <conf_add_cache>1</conf_add_cache>
  211. <conf_keywords/>
  212. <conf_title_keyword>dsb</conf_title_keyword>
  213. <conf_is_title>0</conf_is_title>
  214. </setting>
  215. <setting>
  216. <conf_id>392</conf_id>
  217. <conf_title>General Note</conf_title>
  218. <conf_description><![CDATA[General note that be used to explain donation process or what Paypal is. <b>Enter {blank} to disable.</b>]]></conf_description>
  219. <conf_group>81</conf_group>
  220. <conf_type>textarea</conf_type>
  221. <conf_key>dsb_general_note</conf_key>
  222. <conf_value/>
  223. <conf_default><![CDATA[Please donate to support %board_name%. [b]We appreciate all donations![/b]]]></conf_default>
  224. <conf_extra/>
  225. <conf_evalphp/>
  226. <conf_protected>1</conf_protected>
  227. <conf_position>7</conf_position>
  228. <conf_start_group/>
  229. <conf_add_cache>1</conf_add_cache>
  230. <conf_keywords/>
  231. <conf_title_keyword>dsb</conf_title_keyword>
  232. <conf_is_title>0</conf_is_title>
  233. </setting>
  234. <setting>
  235. <conf_id>393</conf_id>
  236. <conf_title>Goal Amount</conf_title>
  237. <conf_description>What is your target amount members are donating to?</conf_description>
  238. <conf_group>81</conf_group>
  239. <conf_type>input</conf_type>
  240. <conf_key>dsb_goal_amount</conf_key>
  241. <conf_value/>
  242. <conf_default>100</conf_default>
  243. <conf_extra/>
  244. <conf_evalphp/>
  245. <conf_protected>1</conf_protected>
  246. <conf_position>11</conf_position>
  247. <conf_start_group/>
  248. <conf_add_cache>1</conf_add_cache>
  249. <conf_keywords/>
  250. <conf_title_keyword>dsb</conf_title_keyword>
  251. <conf_is_title>0</conf_is_title>
  252. </setting>
  253. <setting>
  254. <conf_id>394</conf_id>
  255. <conf_title>Donation Name</conf_title>
  256. <conf_description>What will Paypal identify donations going through this hook as?</conf_description>
  257. <conf_group>81</conf_group>
  258. <conf_type>input</conf_type>
  259. <conf_key>dsb_name</conf_key>
  260. <conf_value/>
  261. <conf_default>Donations</conf_default>
  262. <conf_extra/>
  263. <conf_evalphp/>
  264. <conf_protected>1</conf_protected>
  265. <conf_position>3</conf_position>
  266. <conf_start_group/>
  267. <conf_add_cache>1</conf_add_cache>
  268. <conf_keywords/>
  269. <conf_title_keyword>dsb</conf_title_keyword>
  270. <conf_is_title>0</conf_is_title>
  271. </setting>
  272. <setting>
  273. <conf_id>395</conf_id>
  274. <conf_title>Template Override</conf_title>
  275. <conf_description><![CDATA[If you wish to show the Paypal code you have already generated. Please enter it here. <b>Enter {blank} to disable.</b>]]></conf_description>
  276. <conf_group>81</conf_group>
  277. <conf_type>textarea</conf_type>
  278. <conf_key>dsb_paypal_code</conf_key>
  279. <conf_value/>
  280. <conf_default>{blank}</conf_default>
  281. <conf_extra/>
  282. <conf_evalphp/>
  283. <conf_protected>1</conf_protected>
  284. <conf_position>12</conf_position>
  285. <conf_start_group>Template Override</conf_start_group>
  286. <conf_add_cache>1</conf_add_cache>
  287. <conf_keywords/>
  288. <conf_title_keyword>dsb</conf_title_keyword>
  289. <conf_is_title>0</conf_is_title>
  290. </setting>
  291. <setting>
  292. <conf_id>397</conf_id>
  293. <conf_title>Sandbox Mode</conf_title>
  294. <conf_description><![CDATA[Enable Paypal sandbox mode? <b>Remember to disable once finished.</b>]]></conf_description>
  295. <conf_group>81</conf_group>
  296. <conf_type>yes_no</conf_type>
  297. <conf_key>dsb_sandbox</conf_key>
  298. <conf_value/>
  299. <conf_default>0</conf_default>
  300. <conf_extra/>
  301. <conf_evalphp/>
  302. <conf_protected>1</conf_protected>
  303. <conf_position>1</conf_position>
  304. <conf_start_group>General Settings</conf_start_group>
  305. <conf_add_cache>1</conf_add_cache>
  306. <conf_keywords/>
  307. <conf_title_keyword>dsb</conf_title_keyword>
  308. <conf_is_title>0</conf_is_title>
  309. </setting>
  310. <setting>
  311. <conf_id>398</conf_id>
  312. <conf_title>Status Bar</conf_title>
  313. <conf_description>Do you want to show a percentage status bar based on the donation and goal amounts entered below?</conf_description>
  314. <conf_group>81</conf_group>
  315. <conf_type>yes_no</conf_type>
  316. <conf_key>dsb_status_bar</conf_key>
  317. <conf_value/>
  318. <conf_default>1</conf_default>
  319. <conf_extra/>
  320. <conf_evalphp/>
  321. <conf_protected>1</conf_protected>
  322. <conf_position>8</conf_position>
  323. <conf_start_group>Status Bar</conf_start_group>
  324. <conf_add_cache>1</conf_add_cache>
  325. <conf_keywords/>
  326. <conf_title_keyword>dsb</conf_title_keyword>
  327. <conf_is_title>0</conf_is_title>
  328. </setting>
  329. <setting>
  330. <conf_id>1646</conf_id>
  331. <conf_title>Graph Dimensions</conf_title>
  332. <conf_description>Enter your status bar width x height dimensions.</conf_description>
  333. <conf_group>81</conf_group>
  334. <conf_type>input</conf_type>
  335. <conf_key>dsb_status_dimensions</conf_key>
  336. <conf_value/>
  337. <conf_default>200x15</conf_default>
  338. <conf_extra/>
  339. <conf_evalphp/>
  340. <conf_protected>1</conf_protected>
  341. <conf_position>9</conf_position>
  342. <conf_start_group/>
  343. <conf_add_cache>1</conf_add_cache>
  344. <conf_keywords/>
  345. <conf_title_keyword>dsb</conf_title_keyword>
  346. <conf_is_title>0</conf_is_title>
  347. </setting>
  348. </hookextras_settings>
  349. <hookextras_language>
  350. <language>
  351. <word_app>core</word_app>
  352. <word_pack>public_global</word_pack>
  353. <word_key>dsb_donate</word_key>
  354. <word_default>Donate</word_default>
  355. </language>
  356. <language>
  357. <word_app>core</word_app>
  358. <word_pack>public_global</word_pack>
  359. <word_key>dsb_forum_donation</word_key>
  360. <word_default>Forum Donation</word_default>
  361. </language>
  362. <language>
  363. <word_app>core</word_app>
  364. <word_pack>public_global</word_pack>
  365. <word_key>dsb_status_line</word_key>
  366. <word_default>%d%% of donation goal reached.</word_default>
  367. </language>
  368. <language>
  369. <word_app>core</word_app>
  370. <word_pack>public_global</word_pack>
  371. <word_key>dsb_status_alt</word_key>
  372. <word_default>%s of %s goal received.</word_default>
  373. </language>
  374. </hookextras_language>
  375. <hookextras_modules/>
  376. <hookextras_help/>
  377. <hookextras_templates>
  378. <templates>
  379. <template_group>skin_boards</template_group>
  380. <template_content><![CDATA[<div class='ipsSideBlock'>
  381. <h3>{$this->lang->words['dsb_forum_donation']}</h3>
  382. <div class='_sbcollapsable'>
  383.  
  384. <if test="showGeneralNote:|:$this->settings['dsb_general_note']">
  385. <div class='ipsPad_half'>{$this->settings['dsb_general_note']}</div>
  386. </if>
  387.  
  388. <if test="overridePaypalCode:|:$this->settings['dsb_paypal_code']">
  389. {$this->settings['dsb_paypal_code']}
  390. <else />
  391.  
  392. <form action="<if test="sandboxURL:|:$this->settings['dsb_sandbox']">https://www.sandbox.paypal.com/cgi-bin/webscr<else />https://www.paypal.com/cgi-bin/webscr</if>" method='post'>
  393.  
  394. <input type='hidden' name='cmd' value='_donations' />
  395. <input type='hidden' name='business' value='{$this->settings['dsb_address']}' />
  396. <input type='hidden' name='item_name' value='<if test="donationName:|:$this->settings['dsb_name']">{$this->settings['dsb_name']}<else />{$this->lang->words['dsb_forum_donation']}</if>' />
  397. <input type='hidden' name='item_number' value='{$this->memberData['member_id']}' />
  398. <input type='hidden' name='quantity' value='1' />
  399. <input type='hidden' name='no_shipping' value='1' />
  400. <input type='hidden' name='return' value='{$this->settings['base_url']}' />
  401. <input type='hidden' name='cancel_return' value='{$this->settings['base_url']}' />
  402.  
  403. <if test="showStatusBar:|:$this->settings['dsb_status_bar'] == '1' AND $this->settings['dsb_donation_amount'] AND $this->settings['dsb_goal_amount']"><br />
  404.  
  405. <div class='ipsPad_half'>
  406. <p class="progress_bar" title="{parse expression="sprintf( $this->lang->words['dsb_status_alt'], "{parse format_number="$this->settings['dsb_donation_amount'], 2"}", "{parse format_number="$this->settings['dsb_goal_amount'], 2"}" )"}">
  407. <span style="width: {parse format_number="$this->settings['dsb_donation_amount'] / $this->settings['dsb_goal_amount'] * 100, 0"}%">{parse format_number="$this->settings['dsb_donation_amount'] / $this->settings['dsb_goal_amount'] * 100, 0"}%</span>
  408. </p>
  409.  
  410. <span class='ipsType_smaller desc lighter'>{parse expression="sprintf( $this->lang->words['dsb_status_line'], "{parse format_number="$this->settings['dsb_donation_amount'] / $this->settings['dsb_goal_amount'] * 100, 0"}" )"}</span><br /><br />
  411.  
  412. <style type='text/css'>
  413. .progress_bar {
  414. width: <if test="statusWidth:|:$width = explode( "x", $this->settings['dsb_status_dimensions'] )">{$width[0]}<else />200</if>px !important;
  415. height: <if test="statusHeight:|:$height = explode( "x", $this->settings['dsb_status_dimensions'] )">{$height[1]}<else />12</if>px !important;
  416. }
  417. .progress_bar span {
  418. height: 100% !important;
  419. }
  420. </style>
  421. </div>
  422. </if>
  423.  
  424. <if test="amountOptions:|:$this->settings['dsb_amounts']">
  425. <select name='amount'>
  426. <foreach loop="amountOption:explode(",", $this->settings['dsb_amounts'] ) as $amount">
  427. <option value="{$amount}">{$amount}</option>
  428. </foreach>
  429. </select>
  430. <else />
  431. <input type='text' id='enter_amount' name='amount' class='input_text' size='4' />
  432. <script type='text/javascript'>
  433. $('enter_amount').defaultize( "5.00" );
  434. </script>
  435. </if>
  436.  
  437. <if test="currencyOptions:|:$this->settings['dsb_default_currency']">
  438. <select name='currency_code'>
  439. <foreach loop="currencyOption:explode(",", $this->settings['dsb_default_currency'] ) as $currency">
  440. <option value="{$currency}">{$currency}</option>
  441. </foreach>
  442. </select>
  443. <else />
  444. <input type='hidden' name='currency_code' value='USD' />
  445. </if>
  446.  
  447. <input type='submit' name='submit' class='input_submit' value='{$this->lang->words['dsb_donate']}' />
  448.  
  449. </form>
  450.  
  451. </if>
  452.  
  453. </div>
  454. </div>]]></template_content>
  455. <template_name>hookDonateSidebar</template_name>
  456. <template_data/>
  457. <template_updated>1363077260</template_updated>
  458. <template_removable>0</template_removable>
  459. <template_added_to>0</template_added_to>
  460. <template_user_added>0</template_user_added>
  461. <template_user_edited>0</template_user_edited>
  462. <template_master_key>root</template_master_key>
  463. </templates>
  464. </hookextras_templates>
  465. <hookextras_css/>
  466. <hookextras_replacements/>
  467. <hookextras_tasks/>
  468. <hookextras_database_create/>
  469. <hookextras_database_alter/>
  470. <hookextras_database_update/>
  471. <hookextras_database_insert/>
  472. </hookexport>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement