PageRenderTime 94ms CodeModel.GetById 26ms RepoModel.GetById 0ms app.codeStats 1ms

/wp-content/themes/ProjectTheme/functions.php

https://github.com/JeremyHoxie/bloocollar
PHP | 8285 lines | 5093 code | 2217 blank | 975 comment | 892 complexity | 23aade3d04310846c28d6956076780e4 MD5 | raw file
Possible License(s): GPL-2.0, MIT, GPL-3.0, LGPL-2.1
  1. <?php
  2. /***************************************************************************
  3. *
  4. * ProjectTheme - copyright (c) - sitemile.com
  5. * The only project theme for wordpress on the world wide web.
  6. *
  7. * Coder: Andrei Dragos Saioc
  8. * Email: sitemile[at]sitemile.com | andreisaioc[at]gmail.com
  9. * More info about the theme here: http://sitemile.com/products/wordpress-project-freelancer-theme/
  10. * since v1.2.5.3
  11. *
  12. ***************************************************************************/
  13. load_theme_textdomain( 'ProjectTheme', TEMPLATEPATH . '/languages' );
  14. // load the theme template for translation
  15. DEFINE("PROJECTTHEME_VERSION", "1.4.2b");
  16. DEFINE("PROJECTTHEME_RELEASE", "14 January 2014");
  17. //----------------------------------------------------------
  18. add_theme_support( 'post-thumbnails' );
  19. remove_action('wp_head', 'wp_generator');
  20. //----------------------------------------------------------
  21. global $current_theme_locale_name, $category_url_link, $location_url_link, $projects_url_nm;
  22. $current_theme_locale_name = 'ProjectTheme';
  23. $category_url_link = "classification";
  24. $cc = get_option('projectTheme_category_slug_link');
  25. if(!empty($cc) && ProjectTheme_using_permalinks()) $category_url_link = $cc;
  26. $location_url_link = "location";
  27. $cc = get_option('projectTheme_location_slug_link');
  28. if(!empty($cc) && ProjectTheme_using_permalinks()) $location_url_link = $cc;
  29. $projects_url_nm = "projects";
  30. $cc = get_option('projectTheme_projects_slug_link');
  31. if(!empty($cc) && ProjectTheme_using_permalinks()) $projects_url_nm = $cc;
  32. //------------------ file includes -----------------------------
  33. include('lib/first_run.php');
  34. include('lib/first_run_emails.php');
  35. include('lib/admin_menu.php');
  36. include('lib/post_new.php');
  37. include('lib/cronjob.php');
  38. include('lib/all_categories.php');
  39. include('lib/all_locations.php');
  40. include('lib/advanced_search.php');
  41. include('lib/blog_page.php');
  42. include('lib/recently_closed.php');
  43. include('lib/provider_search.php');
  44. include('lib/all-posted-projects.php');
  45. //---------------
  46. include('lib/widgets/browse-by-category.php');
  47. include('lib/widgets/browse-by-location.php');
  48. include('lib/widgets/best-rated-users.php');
  49. include('lib/widgets/most-visited-projects.php');
  50. include('lib/widgets/featured-projects.php');
  51. include('lib/widgets/ending-soonest.php');
  52. include('lib/widgets/latest-posted-projects.php');
  53. //---------------
  54. include('lib/login_register/custom2.php');
  55. include('lib/my_account/my_account.php');
  56. include('lib/my_account/personal_information.php');
  57. include('lib/my_account/payments.php');
  58. include('lib/my_account/private_messages.php');
  59. include('lib/my_account/feedbacks.php');
  60. //include('lib/my_account/disputes.php');
  61. include('lib/my_account/completed_projects.php');
  62. include('lib/my_account/awaiting_payments.php');
  63. include('lib/my_account/outstanding_payments.php');
  64. include('lib/my_account/awaiting_completion.php');
  65. include('lib/my_account/unpublished_projects.php');
  66. include('lib/my_account/closed_projects.php');
  67. include('lib/my_account/active_projects.php');
  68. include('lib/my_account/outstanding_project.php');
  69. include('lib/my_account/delivered_projects.php');
  70. include('lib/my_account/won_projects.php');
  71. include('lib/my_account/bid_projects.php');
  72. include('lib/my_account/pay_for_project.php');
  73. include('lib/my_account/pay_with_credits.php');
  74. //include 'lib/social/social.php';
  75. //--------------------------------------------------------------
  76. //------------ hooks and filters -------------------------------
  77. add_action('save_post', 'projectTheme_save_custom_fields');
  78. add_action('generate_rewrite_rules', 'projectTheme_rewrite_rules' );
  79. add_action('query_vars', 'ProjectTheme_add_query_vars');
  80. add_action("template_redirect", 'ProjectTheme_template_redirect');
  81. add_action('init', 'ProjectTheme_create_post_type' );
  82. add_action('wp_head', 'ProjectTheme_add_js_coin_slider');
  83. add_action('the_content', 'ProjectTheme_display_my_account_page');
  84. add_action('the_content', 'ProjectTheme_display_my_account_pay_with_credits');
  85. add_action('the_content', 'ProjectTheme_display_my_account_outstanding_projects');
  86. add_action('the_content', 'ProjectTheme_display_my_account_awaiting_payments_page');
  87. add_action('the_content', 'ProjectTheme_display_advanced_search_disp_page');
  88. add_action('the_content', 'ProjectTheme_display_my_account_pay_for_project');
  89. add_action('the_content', 'ProjectTheme_display_my_account_awaiting_completion_page');
  90. add_action('the_content', 'ProjectTheme_display_provider_search_disp_page');
  91. add_filter('the_content', 'ProjectTheme_display_blog_content_page');
  92. add_filter('the_content', 'ProjectTheme_display_latest_closed_projects_page');
  93. add_action('the_content', 'ProjectTheme_display_all_locations_page');
  94. add_action('the_content', 'ProjectTheme_display_all_categories_page');
  95. add_action('the_content', 'ProjectTheme_display_my_account_personal_info');
  96. add_action('the_content', 'ProjectTheme_display_my_account_payments');
  97. add_action('the_content', 'ProjectTheme_display_my_account_private_messages');
  98. add_action('the_content', 'ProjectTheme_display_my_account_feedbacks');
  99. add_action('the_content', 'ProjectTheme_display_my_account_delivered_projects');
  100. add_action('the_content', 'ProjectTheme_display_my_account_active_projects');
  101. add_action('the_content', 'ProjectTheme_display_my_account_unpublished_projects');
  102. add_action('the_content', 'ProjectTheme_display_my_account_outstanding_payments');
  103. add_action('the_content', 'ProjectTheme_display_my_account_closed_projects');
  104. add_action('the_content', 'ProjectTheme_display_my_account_completed_projects');
  105. add_action('the_content', 'ProjectTheme_display_my_account_won_projects');
  106. add_action('the_content', 'ProjectTheme_display_my_account_bid_projects');
  107. add_action('the_content', 'ProjectTheme_display_all_projects_page');
  108. add_action('draft_to_publish', 'ProjectTheme_run_when_post_published',10,1);
  109. add_action('the_content', 'ProjectTheme_display_post_new_pg');
  110. add_action('admin_menu', 'ProjectTheme_set_admin_menu');
  111. add_action('admin_head', 'ProjectTheme_admin_style_sheet');
  112. add_action('widgets_init', 'ProjectTheme_framework_init_widgets' );
  113. add_action("manage_project_posts_custom_column", "ProjectTheme_my_custom_columns");
  114. add_filter("manage_edit-project_columns", "ProjectTheme_my_projects_columns");
  115. add_action('wp_enqueue_scripts', 'ProjectTheme_add_theme_styles');
  116. add_action('wp_head', 'ProjectTheme_custom_css_thing');
  117. add_action('admin_notices', 'projectTheme_admin_notices');
  118. add_filter('wp_head', 'ProjectTheme_add_max_nr_of_images');
  119. add_filter("ProjectTheme_get_regular_post_project", 'projectTheme_get_post_main_function', 0, 1);
  120. add_filter( 'manage_edit-project_sortable_columns', 'ProjectTheme_sortable_cake_column' );
  121. add_action( 'pre_get_posts', 'ProjectTheme_my_backend_projects_orderby' );
  122. add_filter("ProjectTheme_get_post_blog_function", 'ProjectTheme_get_post_blog_function', 1);
  123. add_filter("projectTheme_get_post_outstanding_project_function", 'projectTheme_get_post_outstanding_project_function', 1);
  124. add_filter("projectTheme_get_post_paid_function", 'projectTheme_get_post_paid_function', 1);
  125. add_filter("projectTheme_get_post_pay_function", 'projectTheme_get_post_pay_function', 1);
  126. add_filter("projectTheme_get_post_awaiting_compl_function", 'projectTheme_get_post_awaiting_compl_function', 1);
  127. add_filter("projectTheme_get_post_awaiting_payment_function", 'projectTheme_get_post_awaiting_payment_function', 1);
  128. add_filter('wp_mail_from', 'ProjectTheme_1_mail_from');
  129. add_filter('wp_mail_from_name', 'ProjectTheme_1_mail_from_name');
  130. /*************************************************************
  131. *
  132. * ProjectTheme (c) sitemile.com - function
  133. *
  134. **************************************************************/
  135. function ProjectTheme_1_mail_from()
  136. {
  137. $emailaddress = 'wordpress@wordpress.org';
  138. $opt = get_option('ProjectTheme_email_addr_from');
  139. if(!empty($opt)) $emailaddress = $opt;
  140. return $emailaddress;
  141. }
  142. /*************************************************************
  143. *
  144. * ProjectTheme (c) sitemile.com - function
  145. *
  146. **************************************************************/
  147. function ProjectTheme_1_mail_from_name()
  148. {
  149. $sendername = 'WordPress';
  150. $opt = get_option('ProjectTheme_email_name_from');
  151. if(!empty($opt)) $sendername = $opt;
  152. return $sendername;
  153. }
  154. /*************************************************************
  155. *
  156. * ProjectTheme (c) sitemile.com - function
  157. *
  158. **************************************************************/
  159. function ProjectTheme_run_when_post_published($post)
  160. {
  161. if(is_array($post))
  162. {
  163. if($post['post_type'] == 'project'):
  164. ProjectTheme_send_email_subscription($post['ID']);
  165. ProjectTheme_send_email_posted_project_approved($post['ID']);
  166. ProjectTheme_send_email_posted_project_approved_admin($post['ID']);
  167. endif;
  168. }
  169. if(is_object($post))
  170. {
  171. if($post->post_type == 'project'):
  172. ProjectTheme_send_email_subscription($post->ID);
  173. ProjectTheme_send_email_posted_project_approved($post->ID);
  174. ProjectTheme_send_email_posted_project_approved_admin($post->ID);
  175. endif;
  176. }
  177. }
  178. /*************************************************************
  179. *
  180. * ProjectTheme (c) sitemile.com - function
  181. *
  182. **************************************************************/
  183. function projectTheme_search_into($custid, $val)
  184. {
  185. global $wpdb;
  186. $s = "select * from ".$wpdb->prefix."project_custom_relations where custid='$custid'";
  187. $r = $wpdb->get_results($s);
  188. if(count($r) == 0) return 0;
  189. else
  190. foreach($r as $row) // = mysql_fetch_object($r))
  191. {
  192. if($row->catid == $val) return 1;
  193. }
  194. return 0;
  195. }
  196. function projectTheme_search_into_users($custid, $val)
  197. {
  198. global $wpdb;
  199. $s = "select * from ".$wpdb->prefix."project_user_custom_relations where custid='$custid'";
  200. $r = $wpdb->get_results($s);
  201. if(count($r) == 0) return 0;
  202. else
  203. foreach($r as $row) // = mysql_fetch_object($r))
  204. {
  205. if($row->catid == $val) return 1;
  206. }
  207. return 0;
  208. }
  209. function ProjectTheme_register_my_menus() {
  210. register_nav_menu( 'primary-projecttheme-header', 'ProjectTheme Top Header Menu' );
  211. register_nav_menu( 'primary-projecttheme-main-header', 'ProjectTheme Main Header Menu' );
  212. }
  213. add_action( 'init', 'ProjectTheme_register_my_menus' );
  214. function cimy_update_ExtraFields_new_me() {
  215. global $wpdb, $wpdb_data_table, $user_ID, $max_length_value, $fields_name_prefix, $cimy_uef_file_types, $user_level, $cimy_uef_domain;
  216. include_once(ABSPATH.'/wp-admin/includes/user.php');
  217. // if updating meta-data from registration post then exit
  218. if (isset($_POST['cimy_post']))
  219. return;
  220. if (isset($_POST['user_id'])) {
  221. $get_user_id = $_POST['user_id'];
  222. if (!current_user_can('edit_user', $get_user_id))
  223. return;
  224. }
  225. else
  226. return;
  227. //echo "asd";
  228. if(!function_exists('get_cimyFields')) return;
  229. $get_user_id = intval($get_user_id);
  230. $profileuser = get_user_to_edit($get_user_id);
  231. $user_login = $profileuser->user_login;
  232. $user_displayname = $profileuser->display_name;
  233. $extra_fields = get_cimyFields(false, true);
  234. $query = "UPDATE ".$wpdb_data_table." SET VALUE=CASE FIELD_ID";
  235. $i = 0;
  236. $field_ids = "";
  237. $mail_changes = "";
  238. foreach ($extra_fields as $thisField) {
  239. $field_id = $thisField["ID"];
  240. $name = $thisField["NAME"];
  241. $type = $thisField["TYPE"];
  242. $label = $thisField["LABEL"];
  243. $rules = $thisField["RULES"];
  244. $unique_id = $fields_name_prefix.$field_id;
  245. $input_name = $fields_name_prefix.esc_attr($name);
  246. $field_id_data = $input_name."_".$field_id."_data";
  247. $advanced_options = cimy_uef_parse_advanced_options($rules["advanced_options"]);
  248. cimy_insert_ExtraFields_if_not_exist($get_user_id, $field_id);
  249. // if the current user LOGGED IN has not enough permissions to see the field, skip it
  250. // apply only for EXTRA FIELDS
  251. if ($rules['show_level'] == 'view_cimy_extra_fields')
  252. {
  253. if (!current_user_can($rules['show_level']))
  254. continue;
  255. }
  256. else if ($user_level < $rules['show_level'])
  257. continue;
  258. // if show_level == anonymous then do NOT ovverride other show_xyz rules
  259. if ($rules['show_level'] == -1) {
  260. // if flag to show the field in the profile is NOT activated, skip it
  261. if (!$rules['show_in_profile'])
  262. continue;
  263. }
  264. $prev_value = $wpdb->escape(stripslashes($_POST[$input_name."_".$field_id."_prev_value"]));
  265. if (cimy_uef_is_field_disabled($type, $rules['edit'], $prev_value))
  266. continue;
  267. if ((isset($_POST[$input_name])) && (!in_array($type, $cimy_uef_file_types))) {
  268. if ($type == "dropdown-multi")
  269. $field_value = stripslashes(implode(",", $_POST[$input_name]));
  270. else
  271. $field_value = stripslashes($_POST[$input_name]);
  272. if ($type == "picture-url")
  273. $field_value = str_replace('../', '', $field_value);
  274. if (isset($rules['max_length']))
  275. $field_value = substr($field_value, 0, $rules['max_length']);
  276. else
  277. $field_value = substr($field_value, 0, $max_length_value);
  278. $field_value = $wpdb->escape($field_value);
  279. if ($i > 0)
  280. $field_ids.= ", ";
  281. else
  282. $i = 1;
  283. $field_ids.= $field_id;
  284. $query.= " WHEN ".$field_id." THEN ";
  285. switch ($type) {
  286. case 'dropdown':
  287. case 'dropdown-multi':
  288. $ret = cimy_dropDownOptions($label, $field_value);
  289. $label = $ret['label'];
  290. case 'picture-url':
  291. case 'textarea':
  292. case 'textarea-rich':
  293. case 'password':
  294. case 'text':
  295. $value = "'".$field_value."'";
  296. $prev_value = "'".$prev_value."'";
  297. break;
  298. case 'checkbox':
  299. $value = $field_value == '1' ? "'YES'" : "'NO'";
  300. $prev_value = $prev_value == "YES" ? "'YES'" : "'NO'";
  301. break;
  302. case 'radio':
  303. $value = $field_value == $field_id ? "'selected'" : "''";
  304. $prev_value = "'".$prev_value."'";
  305. break;
  306. }
  307. $query.= $value;
  308. }
  309. // when a checkbox is not selected then it isn't present in $_POST at all
  310. // file input in html also is not present into $_POST at all so manage here
  311. else {
  312. $rules = $thisField['RULES'];
  313. if (in_array($type, $cimy_uef_file_types)) {
  314. if ($type == "avatar") {
  315. // since avatars are drawn max to 512px then we can save bandwith resizing, do it!
  316. $rules['equal_to'] = 512;
  317. }
  318. if (isset($_POST[$input_name.'_del']))
  319. $delete_file = true;
  320. else
  321. $delete_file = false;
  322. if (isset($_POST[$input_name."_".$field_id."_prev_value"]))
  323. $old_file = stripslashes($_POST[$input_name."_".$field_id."_prev_value"]);
  324. else
  325. $old_file = false;
  326. $field_value = cimy_manage_upload($input_name, $user_login, $rules, $old_file, $delete_file, $type, (!empty($advanced_options["filename"])) ? $advanced_options["filename"] : "");
  327. if ((!empty($field_value)) || ($delete_file)) {
  328. if ($i > 0)
  329. $field_ids.= ", ";
  330. else
  331. $i = 1;
  332. $field_ids.= $field_id;
  333. $value = "'".$field_value."'";
  334. $prev_value = "'".$prev_value."'";
  335. $query.= " WHEN ".$field_id." THEN ";
  336. $query.= $value;
  337. }
  338. else {
  339. $prev_value = $value;
  340. $file_on_server = cimy_uef_get_dir_or_filename($user_login, $old_file, false);
  341. if (($type == "picture") || ($type == "avatar"))
  342. cimy_uef_crop_image($file_on_server, $field_id_data);
  343. }
  344. }
  345. if ($type == 'checkbox') {
  346. // if can be editable then write NO
  347. // there is no way to understand if was YES or NO previously
  348. // without adding other hidden inputs so write always
  349. if ($i > 0)
  350. $field_ids.= ", ";
  351. else
  352. $i = 1;
  353. $field_ids.= $field_id;
  354. $field_value = "NO";
  355. $value = "'".$field_value."'";
  356. $prev_value = $prev_value == "YES" ? "'YES'" : "'NO'";
  357. $query.= " WHEN ".$field_id." THEN ";
  358. $query.= $value;
  359. }
  360. if ($type == 'dropdown-multi') {
  361. // if can be editable then write ''
  362. // there is no way to understand if was YES or NO previously
  363. // without adding other hidden inputs so write always
  364. if ($i > 0)
  365. $field_ids.= ", ";
  366. else
  367. $i = 1;
  368. $field_ids.= $field_id;
  369. $field_value = '';
  370. $value = "'".$field_value."'";
  371. $prev_value = "'".$prev_value."'";
  372. $ret = cimy_dropDownOptions($label, $field_value);
  373. $label = $ret['label'];
  374. $query.= " WHEN ".$field_id." THEN ";
  375. $query.= $value;
  376. }
  377. }
  378. if (($rules["email_admin"]) && ($value != $prev_value) && ($type != "registration-date")) {
  379. $mail_changes.= sprintf(__("%s previous value: %s new value: %s", $cimy_uef_domain), $label, stripslashes($prev_value), stripslashes($value));
  380. $mail_changes.= "\r\n";
  381. }
  382. }
  383. if ($i > 0) {
  384. $query.=" ELSE FIELD_ID END WHERE FIELD_ID IN(".$field_ids.") AND USER_ID = ".$get_user_id;
  385. // $query WILL BE: UPDATE <table> SET VALUE=CASE FIELD_ID WHEN <field_id1> THEN <value1> [WHEN ... THEN ...] ELSE FIELD_ID END WHERE FIELD_ID IN(<field_id1>, [<field_id2>...]) AND USER_ID=<user_id>
  386. $wpdb->query($query);
  387. }
  388. // mail only if set and if there is something to mail
  389. if (!empty($mail_changes)) {
  390. $admin_email = get_option('admin_email');
  391. $mail_subject = sprintf(__("%s (%s) has changed one or more fields", $cimy_uef_domain), $user_displayname, $user_login);
  392. wp_mail($admin_email, $mail_subject, $mail_changes);
  393. }
  394. }
  395. /*************************************************************
  396. *
  397. * ProjectTheme (c) sitemile.com - function
  398. *
  399. **************************************************************/
  400. function ProjectTheme_add_max_nr_of_images()
  401. {
  402. ?>
  403. <script type="text/javascript">
  404. <?php
  405. $ProjectTheme_enable_max_images_limit = get_option('ProjectTheme_enable_max_images_limit');
  406. if($ProjectTheme_enable_max_images_limit == "yes")
  407. {
  408. $projectTheme_nr_max_of_images = get_option('projectTheme_nr_max_of_images');
  409. if(empty($projectTheme_nr_max_of_images)) $projectTheme_nr_max_of_images = 10;
  410. }
  411. else $ProjectTheme_enable_max_images_limit = 1000;
  412. if(empty($projectTheme_nr_max_of_images)) $projectTheme_nr_max_of_images = 100;
  413. ?>
  414. var maxNrImages_PT = <?php echo $projectTheme_nr_max_of_images; ?>;
  415. </script>
  416. <?php
  417. }
  418. /*************************************************************
  419. *
  420. * ProjectTheme (c) sitemile.com - function
  421. *
  422. **************************************************************/
  423. function projectTheme_save_custom_fields($pid)
  424. {
  425. $pst = get_post($pid);
  426. if($pst->post_type == "project"):
  427. if(isset($_POST['fromadmin']))
  428. {
  429. update_post_meta($pid, 'finalised_posted', '1');
  430. $ending = get_post_meta($pid,"ending",true);
  431. $views = get_post_meta($pid,"views",true);
  432. $closed = get_post_meta($pid,"closed",true);
  433. $reverse = get_post_meta($pid, "reverse", true);
  434. update_post_meta($pid,"ending",strtotime($_POST['ending']));
  435. if(empty($views)) update_post_meta($pid,"views",0);
  436. if($reverse == "yes") update_post_meta($pid, "reverse", "yes");
  437. else update_post_meta($pid, "reverse", "no");
  438. update_post_meta($pid, "budgets", $_POST["budgets"]);
  439. if($_POST['hide_project'] == '1')
  440. update_post_meta($pid,"hide_project",'1');
  441. else
  442. update_post_meta($pid,"hide_project",'0');
  443. if($_POST['featureds'] == '1')
  444. update_post_meta($pid,"featured",'1');
  445. else
  446. update_post_meta($pid,"featured",'0');
  447. if($_POST['closed'] == '1')
  448. {
  449. update_post_meta($pid,"closed",'1');
  450. }
  451. else
  452. {
  453. if($closed == "1") update_post_meta($pid,"ending",current_time('timestamp',0) + 30*24*3600);
  454. update_post_meta($pid,"closed",'0');
  455. }
  456. if(isset($_POST['private_bids']))
  457. update_post_meta($pid, "private_bids", $_POST['private_bids']);
  458. if(isset($_POST['price']))
  459. update_post_meta($pid,"price",$_POST['price']);
  460. if(isset($_POST['Location']))
  461. update_post_meta($pid,"Location",$_POST['Location']);
  462. for($i=0;$i<count($_POST['custom_field_id']);$i++)
  463. {
  464. $id = $_POST['custom_field_id'][$i];
  465. $valval = $_POST['custom_field_value_'.$id];
  466. if(is_array($valval))
  467. {
  468. delete_post_meta($pid, 'custom_field_ID_'.$id);
  469. for($k=0;$k<count($valval);$k++)
  470. add_post_meta($pid, 'custom_field_ID_'.$id, $valval[$k]);
  471. }
  472. else
  473. update_post_meta($pid, 'custom_field_ID_'.$id, $valval);
  474. }
  475. }
  476. update_post_meta($pid,'unpaid','0');
  477. do_action('ProjectTheme_execute_on_submit_1', $pid);
  478. endif;
  479. }
  480. /*************************************************************
  481. *
  482. * ProjectTheme (c) sitemile.com - function
  483. *
  484. **************************************************************/
  485. function ProjectTheme_custom_css_thing()
  486. {
  487. $str = get_option('projectTheme_custom_CSS');
  488. $opt = stripslashes($str);
  489. if(!empty($op)):
  490. ?>
  491. <style type="text/css">
  492. <?php echo $opt; ?>
  493. </style>
  494. <?php
  495. endif;
  496. }
  497. /*************************************************************
  498. *
  499. * ProjectTheme (c) sitemile.com - function
  500. *
  501. **************************************************************/
  502. add_action('wp_print_scripts', 'projecttheme_my_enqueue_scripts');
  503. function wp_tiny_mce_mine( $teeny = false, $settings = false ) {
  504. static $num = 1;
  505. if ( ! class_exists('_WP_Editors' ) )
  506. require_once( ABSPATH . WPINC . '/class-wp-editor.php' );
  507. $editor_id = 'content' . $num++;
  508. $set = array(
  509. 'teeny' => $teeny,
  510. 'tinymce' => $settings ? $settings : true,
  511. 'quicktags' => false
  512. );
  513. $set = _WP_Editors::parse_settings($editor_id, $set);
  514. _WP_Editors::editor_settings($editor_id, $set);
  515. }
  516. function projecttheme_my_enqueue_scripts() {
  517. wp_enqueue_script( 'tiny_mce' );
  518. wp_tiny_mce_mine();
  519. }
  520. function ProjectTheme_get_my_pagination_main($url, $current_page, $field_page, $total_pages, $other = '')
  521. {
  522. $s = '';
  523. $s .= '<div class="wp-pagenavi"> <span class="pages">'.sprintf(__('Page %s of %s','ProjectTheme'), $current_page, $total_pages).'</span>';
  524. $batch = 5;
  525. $raport = ceil($current_page/$batch) - 1; if ($raport < 0) $raport = 0;
  526. $start = $raport * $batch + 1;
  527. $end = $start + $batch - 1;
  528. if($end > $total_pages) $end = $total_pages;
  529. $previous_pg = $current_page - 1;
  530. $next_pg = $current_page + 1;
  531. if($next_pg > $total_pages) $next_pg = 1;
  532. //----------------------
  533. if($current_page > 1)
  534. $s .= '<a href="'.$url.'&'.$field_page.'=1'.$other.'">&laquo; '.__('First','Walleto').'</a>';
  535. if($previous_pg > 0)
  536. $s.= '<a href="'.$url.'&'.$field_page.'='.$previous_pg.$other.'">&laquo;</a>';
  537. for($i = $start; $i <= $end; $i ++) {
  538. if ($i == $current_page) {
  539. $s .= '<span class="current">'.$i.'</span>';
  540. } else {
  541. $s .= '<a class="page larger" href="'.$url.'&'.$field_page.'='.$i.$other.'">'.$i.'</a>';
  542. }
  543. }
  544. //extend
  545. if($end < $total_pages) $s .= '<span class="extend">...</span>';
  546. $next_pg = $current_page + 1;
  547. if($next_pg > $total_pages) $next_pg = 1;
  548. if($total_pages > $current_page)
  549. $s .= '<a href="'.$url.'&'.$field_page.'='.$next_pg.$other.'" class="page larger">&raquo;</a>';
  550. if($total_pages > $current_page)
  551. $s .= '<a href="'.$url.'&'.$field_page.'='.$total_pages.$other.'" class="page larger">'.__('Last','ProjectTheme').' &raquo;</a>';
  552. return $s.'</div>';
  553. }
  554. function ProjectTheme_add_theme_styles()
  555. {
  556. global $wp_query;
  557. $new_Project_step = $wp_query->query_vars['post_new_step'];
  558. $p_action = $wp_query->query_vars['p_action'];
  559. // Register the style like this for a theme:
  560. // (First the unique name for the style (custom-style) then the src,
  561. // then dependencies and ver no. and media type)
  562. wp_register_style( 'bootstrap_style1', get_bloginfo('template_url').'/css/bootstrap_min.css', array(), '20120822', 'all' );
  563. wp_register_style( 'bootstrap_style2', get_bloginfo('template_url').'/css/css.css', array(), '20120822', 'all' );
  564. wp_register_style( 'bootstrap_style3', get_bloginfo('template_url').'/css/bootstrap_responsive.css', array(), '20120822', 'all' );
  565. wp_register_style( 'bootstrap_ie6', get_bloginfo('template_url').'/css/bootstrap_ie6.css', array(), '20120822', 'all' );
  566. wp_register_style( 'bootstrap_gal', get_bloginfo('template_url').'/css/bootstrap_gal.css', array(), '20120822', 'all' );
  567. wp_register_style( 'fileupload_ui', get_bloginfo('template_url').'/css/fileupload_ui.css', array(), '20120822', 'all' );
  568. wp_register_style( 'mega_menu_thing', get_bloginfo('template_url').'/css/menu.css', array(), '20120822', 'all' );
  569. wp_register_style( 'uploadify_css', get_bloginfo('template_url').'/lib/uploadify/uploadify.css', array(), '20120822', 'all' );
  570. wp_register_script( 'social_pr', get_bloginfo('template_url').'/js/connect.js');
  571. wp_register_style( 'bx_styles', get_bloginfo('template_url').'/css/bx_styles.css', array(), '20120822', 'all' );
  572. wp_register_script( 'easing', get_bloginfo('template_url').'/js/jquery.easing.1.3.js');
  573. wp_register_script( 'bx_slider', get_bloginfo('template_url').'/js/jquery.bxSlider.min.js');
  574. wp_register_script( 'html5_js', get_bloginfo('template_url').'/js/html5.js');
  575. wp_register_script( 'jquery_ui', get_bloginfo('template_url').'/js/vendor/jquery.ui.widget.js');
  576. wp_register_script( 'templ_min', get_bloginfo('template_url').'/js/templ.min.js');
  577. wp_register_script( 'load_image', get_bloginfo('template_url').'/js/load_image.min.js');
  578. wp_register_script( 'canvas_to_blob', get_bloginfo('template_url').'/js/canvas_to_blob.js');
  579. wp_register_script( 'iframe_transport', get_bloginfo('template_url').'/js/jquery.iframe-transport.js');
  580. wp_register_script( 'fileupload_main', get_bloginfo('template_url').'/js/jquery.fileupload.js');
  581. wp_register_script( 'fileupload_fp', get_bloginfo('template_url').'/js/jquery.fileupload-fp.js');
  582. wp_register_script( 'fileupload_ui', get_bloginfo('template_url').'/js/jquery.fileupload-ui.js');
  583. wp_register_script( 'locale_thing', get_bloginfo('template_url').'/js/locale.js');
  584. wp_register_script( 'main_thing', get_bloginfo('template_url').'/js/main.js');
  585. wp_register_script( 'uploadify_js', get_bloginfo('template_url').'/lib/uploadify/jquery.uploadify-3.1.js');
  586. wp_enqueue_script( 'jqueryhoverintent', get_bloginfo('template_url') . '/js/jquery.hoverIntent.minified.js', array('jquery') );
  587. wp_enqueue_script( 'dcjqmegamenu', get_bloginfo('template_url') . '/js/jquery.dcmegamenu.1.3.4.min.js', array('jquery') );
  588. global $wp_styles, $wp_scripts;
  589. wp_enqueue_script( 'social_pr' );
  590. wp_enqueue_style( 'bx_styles' );
  591. wp_enqueue_script( 'easing' );
  592. wp_enqueue_script( 'bx_slider' );
  593. wp_enqueue_script( 'jqueryhoverintent' );
  594. wp_enqueue_script( 'dcjqmegamenu' );
  595. wp_enqueue_style( 'mega_menu_thing' );
  596. global $post;
  597. $ssl = get_option('ProjectTheme_my_account_personal_info_id');
  598. if($new_Project_step == "2" or $p_action == "edit_project" or $p_action == "repost_project" or $post->ID == $ssl ):
  599. // enqueing:
  600. wp_enqueue_style( 'bootstrap_style1' );
  601. wp_enqueue_style( 'bootstrap_style2' );
  602. wp_enqueue_style( 'bootstrap_style3' );
  603. wp_enqueue_style( 'bootstrap_ie6' );
  604. wp_enqueue_style( 'bootstrap_gal' );
  605. wp_enqueue_style( 'fileupload_ui' );
  606. wp_enqueue_style( 'uploadify_css' );
  607. wp_enqueue_script( 'html5_js' );
  608. wp_enqueue_script( 'jquery_ui' );
  609. wp_enqueue_script( 'templ_min' );
  610. wp_enqueue_script( 'load_image' );
  611. wp_enqueue_script( 'canvas_to_blob' );
  612. wp_enqueue_script( 'iframe_transport' );
  613. wp_enqueue_script( 'fileupload_main' );
  614. wp_enqueue_script( 'fileupload_fp' );
  615. wp_enqueue_script( 'fileupload_ui' );
  616. wp_enqueue_script( 'locale_thing' );
  617. wp_enqueue_script( 'main_thing' );
  618. wp_enqueue_script( 'uploadify_js' );
  619. $wp_styles->add_data('bootstrap_ie6', 'conditional', 'lte IE 7');
  620. endif;
  621. }
  622. /*************************************************************
  623. *
  624. * ProjectTheme (c) sitemile.com - function
  625. *
  626. **************************************************************/
  627. function ProjectTheme_2_user_types()
  628. {
  629. $ProjectTheme_enable_2_user_tp = get_option('ProjectTheme_enable_2_user_tp');
  630. if( $ProjectTheme_enable_2_user_tp == "yes") return true;
  631. return false;
  632. }
  633. /*************************************************************
  634. *
  635. * ProjectTheme (c) sitemile.com - function
  636. *
  637. **************************************************************/
  638. /*function ProjectTheme_is_user_provider($uid)
  639. {
  640. if(!ProjectTheme_2_user_types()) return true;
  641. //----------------------
  642. $can_do_both = get_user_meta($uid, 'can_do_both', true);
  643. if($can_do_both == "yes") return true;
  644. //----------------------
  645. $user_tp = get_user_meta($uid, 'user_tp', true);
  646. if($user_tp == "service_provider") return true;
  647. $user = get_userdata($uid);
  648. if($user->user_level == 10) return true;
  649. return false;
  650. }*/
  651. function ProjectTheme_is_user_provider($uid)
  652. {
  653. if(!ProjectTheme_2_user_types()) return true;
  654. //----------------------
  655. $can_do_both = get_user_meta($uid, 'can_do_both', true);
  656. if($can_do_both == "yes") return true;
  657. //----------------------
  658. $user_data = get_userdata($uid);
  659. $user_roles = $user_data->roles;
  660. if(is_array($user_roles))
  661. $user_role = array_shift($user_roles);
  662. if($user_role == "service_provider") return true;
  663. $user_tp = get_user_meta($uid, 'user_tp', true);
  664. if($user_tp == "service_provider") return true;
  665. if($user_role == "administrator") return true;
  666. $user = get_userdata($uid);
  667. if($user->user_level == 10) return true;
  668. return false;
  669. }
  670. /*************************************************************
  671. *
  672. * ProjectTheme (c) sitemile.com - function
  673. *
  674. **************************************************************/
  675. /*function ProjectTheme_is_user_business($uid)
  676. {
  677. if(!ProjectTheme_2_user_types()) return true;
  678. //----------------------
  679. $can_do_both = get_user_meta($uid, 'can_do_both', true);
  680. if($can_do_both == "yes") return true;
  681. //----------------------
  682. $user_tp = get_user_meta($uid, 'user_tp', true);
  683. if($user_tp != "service_provider") return true;
  684. $user = get_userdata($uid);
  685. if($user->user_level == 10) return true;
  686. return false;
  687. } */
  688. function ProjectTheme_is_user_business($uid)
  689. {
  690. if(!ProjectTheme_2_user_types()) return true;
  691. //----------------------
  692. $can_do_both = get_user_meta($uid, 'can_do_both', true);
  693. if($can_do_both == "yes") return true;
  694. //----------------------
  695. $user = get_userdata($uid);
  696. $user_roles = $user->roles;
  697. if(is_array($user_roles))
  698. $user_role = array_shift($user_roles);
  699. if($user_role == "business_owner") return true;
  700. if($user_role == "administrator") return true;
  701. if($user->user_level == 10) return true;
  702. return false;
  703. }
  704. /*************************************************************
  705. *
  706. * ProjectTheme (c) sitemile.com - function
  707. *
  708. **************************************************************/
  709. function project_isValidEmail($email){
  710. return eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email);
  711. }
  712. /*************************************************************
  713. *
  714. * ProjectTheme (c) sitemile.com - function
  715. *
  716. **************************************************************/
  717. function projectTheme_small_post()
  718. {
  719. $ending = get_post_meta(get_the_ID(), 'ending', true);
  720. $sec = $ending - current_time('timestamp',0);
  721. $location = get_post_meta(get_the_ID(), 'Location', true);
  722. $price = get_post_meta(get_the_ID(), 'price', true);
  723. $closed = get_post_meta(get_the_ID(), 'closed', true);
  724. $featured = get_post_meta(get_the_ID(), 'featured', true);
  725. $private_bids = get_post_meta(get_the_ID(), 'at', true);
  726. ?>
  727. <div class="post" id="post-<?php the_ID(); ?>">
  728. <?php if($featured == "1"): ?>
  729. <div class="featured-two"></div>
  730. <?php endif; ?>
  731. <?php if($private_bids == "yes" or $private_bids == "1"): ?>
  732. <div class="sealed-two"></div>
  733. <?php endif; ?>
  734. <div class="image_holder2">
  735. <a href="<?php the_permalink(); ?>"><img width="50" height="50" class="image_class"
  736. src="<?php echo ProjectTheme_get_first_post_image(get_the_ID(),75,65); ?>" /></a>
  737. </div>
  738. <div class="title_holder2" >
  739. <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>">
  740. <?php
  741. the_title();
  742. ?></a></h2>
  743. <p class="mypostedon2">
  744. <?php _e("Posted in",'ProjectTheme');?> <?php echo get_the_term_list( get_the_ID(), 'project_cat', '', ', ', '' ); ?><br/>
  745. <?php
  746. $ProjectTheme_enable_project_location = get_option('ProjectTheme_enable_project_location');
  747. if($ProjectTheme_enable_project_location == "yes"):
  748. ?>
  749. <?php _e("Location",'ProjectTheme');?>: <?php
  750. $lc = get_the_term_list( get_the_ID(), 'project_location', '', ', ', '' );
  751. echo (empty($lc) ? __("not defined",'ProjectTheme') : $lc );
  752. endif;
  753. ?> </p>
  754. </div></div> <?php
  755. }
  756. /*************************************************************
  757. *
  758. * ProjectTheme (c) sitemile.com - function
  759. *
  760. **************************************************************/
  761. function ProjectTheme_is_home()
  762. {
  763. global $current_user, $wp_query;
  764. $p_action = $wp_query->query_vars['p_action'];
  765. if(!empty($p_action)) return false;
  766. if(is_home()) return true;
  767. return false;
  768. }
  769. /*************************************************************
  770. *
  771. * ProjectTheme (c) sitemile.com - function
  772. *
  773. **************************************************************/
  774. function ProjectTheme_replace_stuff_for_me($find, $replace, $subject)
  775. {
  776. $i = 0;
  777. foreach($find as $item)
  778. {
  779. $replace_with = $replace[$i];
  780. $subject = str_replace($item, $replace_with, $subject);
  781. $i++;
  782. }
  783. return $subject;
  784. }
  785. /*************************************************************
  786. *
  787. * ProjectTheme (c) sitemile.com - function
  788. *
  789. **************************************************************/
  790. function projectTheme_get_winner_bid($pid)
  791. {
  792. global $wpdb;
  793. $s = "select * from ".$wpdb->prefix."project_bids where pid='$pid' and winner='1'";
  794. $r = $wpdb->get_results($s);
  795. return $r[0];
  796. }
  797. function projectTheme_get_bid_by_uid($pid, $uid)
  798. {
  799. global $wpdb;
  800. $s = "select * from ".$wpdb->prefix."project_bids where pid='$pid' and uid='$uid'";
  801. $r = $wpdb->get_results($s);
  802. return $r[0];
  803. }
  804. /*************************************************************
  805. *
  806. * ProjectTheme (c) sitemile.com - function
  807. *
  808. **************************************************************/
  809. function ProjectTheme_my_backend_projects_orderby( $query ) {
  810. if( ! is_admin() )
  811. return;
  812. $post_type = $query->query_vars['post_type'];
  813. $orderby = $query->get( 'orderby');
  814. if($post_type == "project"):
  815. $query->set('meta_key','ending');
  816. $query->set('orderby','meta_value_num');
  817. if( 'exp' == $orderby ) {
  818. $query->set('meta_key','ending');
  819. $query->set('orderby','meta_value_num');
  820. }
  821. if( 'feat' == $orderby ) {
  822. $query->set('meta_key','featured');
  823. $query->set('orderby','meta_value_num');
  824. }
  825. endif;
  826. }
  827. /*************************************************************
  828. *
  829. * ProjectTheme (c) sitemile.com - function
  830. *
  831. **************************************************************/
  832. function ProjectTheme_sortable_cake_column( $columns ) {
  833. $columns['exp'] = 'exp';
  834. $columns['feat'] = 'feat';
  835. return $columns;
  836. }
  837. /*************************************************************
  838. *
  839. * ProjectTheme (c) sitemile.com - function
  840. *
  841. **************************************************************/
  842. function ProjectTheme_my_projects_columns($columns) //this function display the columns headings
  843. {
  844. $columns = array(
  845. "cb" => "<input type=\"checkbox\" />",
  846. "title" => __("Project Title","ProjectTheme"),
  847. "author" => __("Author","ProjectTheme"),
  848. "posted" => __("Posted On","ProjectTheme"),
  849. "price" => __("Price","ProjectTheme"),
  850. "exp" => __("Expires in","ProjectTheme"),
  851. "feat" => __("Featured","ProjectTheme"),
  852. "approveds" => __("Approved","ProjectTheme"),
  853. "thumbnail" => __("Thumbnail","ProjectTheme"),
  854. "options" => __("Options","ProjectTheme")
  855. );
  856. return $columns;
  857. }
  858. /*************************************************************
  859. *
  860. * ProjectTheme (c) sitemile.com - function
  861. *
  862. **************************************************************/
  863. function ProjectTheme_my_custom_columns($column)
  864. {
  865. global $post;
  866. if ("ID" == $column) echo $post->ID; //displays title
  867. elseif ("description" == $column) echo $post->ID; //displays the content excerpt
  868. elseif ("posted" == $column) echo date_i18n('jS \of F, Y \<\b\r\/\>H:i:s',strtotime($post->post_date)); //displays the content excerpt
  869. elseif ("thumbnail" == $column)
  870. {
  871. echo '<a href="'.get_bloginfo('siteurl').'/wp-admin/post.php?post='.$post->ID.'&action=edit"><img class="image_class"
  872. src="'.ProjectTheme_get_first_post_image($post->ID,75,65).'" width="75" height="65" /></a>'; //shows up our post thumbnail that we previously created.
  873. }
  874. elseif ("author" == $column)
  875. {
  876. echo $post->post_author;
  877. }
  878. elseif ("approveds" == $column)
  879. {
  880. $paid = get_post_meta($post->ID, 'paid', true);
  881. if($post->post_status == "draft") echo "No";
  882. else echo "Yes";
  883. }
  884. elseif ("feat" == $column)
  885. {
  886. $f = get_post_meta($post->ID,'featured', true);
  887. if($f == "1") echo __("Yes","ProjectTheme");
  888. else echo __("No","ProjectTheme");
  889. }
  890. elseif ("price" == $column)
  891. {
  892. echo ProjectTheme_get_budget_name_string_fromID(get_post_meta($post->ID,'budgets',true));
  893. }
  894. elseif ("exp" == $column)
  895. {
  896. $ending = get_post_meta($post->ID, 'ending', true);
  897. echo ProjectTheme_prepare_seconds_to_words($ending - current_time('timestamp',0));
  898. }
  899. elseif ("options" == $column)
  900. {
  901. echo '<div style="padding-top:20px">';
  902. echo '<a class="awesome" href="'.get_bloginfo('siteurl').'/wp-admin/post.php?post='.$post->ID.'&action=edit">Edit</a> ';
  903. echo '<a class="awesome" href="'.get_permalink($post->ID).'" target="_blank">View</a> ';
  904. echo '<a class="trash" href="'.get_delete_post_link($post->ID).'">Trash</a> ';
  905. echo '</div>';
  906. }
  907. }
  908. /*************************************************************
  909. *
  910. * ProjectTheme (c) sitemile.com - function
  911. *
  912. **************************************************************/
  913. function ProjecTheme_get_budgets_dropdown($selected = '', $class = '' , $rui = 0)
  914. {
  915. $ech = '<select name="budgets" class="'.$class.'">';
  916. global $wpdb;
  917. $s = "select * from ".$wpdb->prefix."project_bidding_intervals order by low_limit asc";
  918. $r = $wpdb->get_results($s);
  919. if($rui == 1) $ech .= '<option value="">'.__('Select','ProjectTheme').'</option>';
  920. foreach($r as $row)
  921. {
  922. $nm = ProjectTheme_get_budget_name_string($row);
  923. $ech .= '<option value="'.$row->id.'" '.($row->id == $selected ? 'selected="selected"' : '').'>'.$nm.'</option>';
  924. }
  925. return $ech.'</select>';
  926. }
  927. /*************************************************************
  928. *
  929. * ProjectTheme (c) sitemile.com - function
  930. *
  931. **************************************************************/
  932. function projectTheme_set_metaboxes()
  933. {
  934. add_meta_box( 'project_custom_fields', 'Project Custom Fields', 'projectTheme_custom_fields_html', 'project', 'advanced','high' );
  935. add_meta_box( 'project_images', 'Project Images', 'projectTheme_theme_project_images', 'project', 'advanced', 'high' );
  936. add_meta_box( 'project_files', 'Project Files', 'projectTheme_theme_project_files', 'project', 'advanced', 'high' );
  937. add_meta_box( 'project_bids', 'Project Bids', 'projectTheme_theme_project_bids', 'project', 'advanced', 'high' );
  938. add_meta_box( 'project_dets', 'Project Details', 'projectTheme_theme_project_dts', 'project', 'side', 'high' );
  939. }
  940. function projectTheme_custom_fields_html()
  941. {
  942. global $post, $wpdb;
  943. $pid = $post->ID;
  944. ?>
  945. <table width="100%">
  946. <input type="hidden" value="1" name="fromadmin" />
  947. <?php
  948. $cat = wp_get_object_terms($pid, 'project_cat');
  949. $catidarr = $cat[0]->term_id;
  950. $arr = ProjectTheme_get_project_category_fields($catidarr, $pid);
  951. for($i=0;$i<count($arr);$i++)
  952. {
  953. echo '<tr>';
  954. echo '<td>'.$arr[$i]['field_name'].$arr[$i]['id'].':</td>';
  955. echo '<td>'.$arr[$i]['value'];
  956. do_action('ProjectTheme_step3_after_custom_field_'.$arr[$i]['id'].'_field');
  957. echo '</td>';
  958. echo '</tr>';
  959. }
  960. ?>
  961. </table>
  962. <?php
  963. }
  964. /*************************************************************
  965. *
  966. * ProjectTheme (c) sitemile.com - function
  967. *
  968. **************************************************************/
  969. function projectTheme_theme_project_dts()
  970. {
  971. global $post;
  972. $pid = $post->ID;
  973. $price = get_post_meta($pid, "price", true);
  974. $location = get_post_meta($pid, "Location", true);
  975. $f = get_post_meta($pid, "featured", true);
  976. $t = get_post_meta($pid, "closed", true);
  977. $hide_project = get_post_meta($pid, "hide_project", true);
  978. ?>
  979. <ul id="post-new4">
  980. <input name="fromadmin" type="hidden" value="1" />
  981. <li>
  982. <h2><?php echo __('Price','ProjectTheme'); ?>:</h2>
  983. <p>
  984. <?php
  985. $sel = get_post_meta($pid, 'budgets', true);
  986. echo ProjecTheme_get_budgets_dropdown($sel, 'do_input');
  987. ?>
  988. </p>
  989. </li>
  990. <li>
  991. <h2><?php echo __('Sealed Bids','ProjectTheme'); ?>:</h2>
  992. <p><select name="private_bids">
  993. <option value="0" <?php if(get_post_meta($pid,'private_bids',true) == "0") echo 'selected="selected"'; ?>><?php _e("No",'ProjectTheme'); ?></option>
  994. <option value="1" <?php if(get_post_meta($pid,'private_bids',true) == "1") echo 'selected="selected"'; ?>><?php _e("Yes",'ProjectTheme'); ?></option>
  995. </select>
  996. </p>
  997. </li>
  998. <li>
  999. <h2><?php _e("Feature this project",'ProjectTheme');?>:</h2>
  1000. <p><input type="checkbox" value="1" name="featureds" <?php if($f == '1') echo ' checked="checked" '; ?> /></p>
  1001. </li>
  1002. <li>
  1003. <h2><?php _e("Hide this project",'ProjectTheme');?>:</h2>
  1004. <p><input type="checkbox" value="1" name="hide_project" <?php if($hide_project == '1') echo ' checked="checked" '; ?> /></p>
  1005. </li>
  1006. <li>
  1007. <h2><?php _e("Closed",'ProjectTheme');?>:</h2>
  1008. <p><input type="checkbox" value="1" name="closed" <?php if($t == '1') echo ' checked="checked" '; ?> /></p>
  1009. </li>
  1010. <li>
  1011. <h2><?php _e("Address",'ProjectTheme');?>:</h2>
  1012. <p><input type="text" value="<?php echo get_post_meta($pid,'Location',true); ?>" name="Location" /></p>
  1013. </li>
  1014. <li>
  1015. <h2>
  1016. <link rel="stylesheet" media="all" type="text/css" href="<?php echo get_bloginfo('template_url'); ?>/css/ui-thing.css" />
  1017. <script type="text/javascript" language="javascript" src="<?php echo get_bloginfo('template_url'); ?>/js/jquery-ui-timepicker-addon.js"></script>
  1018. <?php _e("Project Ending On",'ProjectTheme'); ?>:</h2>
  1019. <p><input type="text" name="ending" id="ending" value="<?php
  1020. $d = get_post_meta($pid,'ending',true);
  1021. if(!empty($d)) {
  1022. $r = date_i18n('m/d/Y H:i:s', $d);
  1023. echo $r;
  1024. }
  1025. ?>" class="do_input" /></p>
  1026. </li>
  1027. <script>
  1028. jQuery(document).ready(function() {
  1029. jQuery('#ending').datetimepicker({
  1030. showSecond: true,
  1031. timeFormat: 'hh:mm:ss'
  1032. });});
  1033. </script>
  1034. </ul>
  1035. <?php
  1036. }
  1037. /*************************************************************
  1038. *
  1039. * ProjectTheme (c) sitemile.com - function
  1040. *
  1041. **************************************************************/
  1042. function projectTheme_get_highest_bid($pid)
  1043. {
  1044. global $wpdb;
  1045. $s = "select bid from ".$wpdb->prefix."project_bids where pid='$pid' order by bid desc limit 1";
  1046. $r = $wpdb->get_results($s);
  1047. if(count($r) == 0)
  1048. {
  1049. $start_price = get_post_meta($pid, 'start_price', true);
  1050. if(empty($start_price)) return false;
  1051. return $start_price;
  1052. }
  1053. $r = $r[0];
  1054. return $r->bid;
  1055. }
  1056. /*************************************************************
  1057. *
  1058. * ProjectTheme (c) sitemile.com - function
  1059. *
  1060. **************************************************************/
  1061. function projectTheme_get_highest_bid_owner($pid)
  1062. {
  1063. global $wpdb;
  1064. $s = "select bid from ".$wpdb->prefix."project_bids where pid='$pid' order by bid desc limit 1";
  1065. $r = $wpdb->get_results($s);
  1066. if(count($r) == 0)
  1067. return false;
  1068. $r = $r[0];
  1069. return $r->uid;
  1070. }
  1071. /*************************************************************
  1072. *
  1073. * ProjectTheme (c) sitemile.com - function
  1074. *
  1075. **************************************************************/
  1076. function projectTheme_get_bid_values($pid)
  1077. {
  1078. global $wpdb;
  1079. $s = "select bid from ".$wpdb->prefix."project_bids where pid='$pid' order by bid desc";
  1080. $r = $wpdb->get_results($s);
  1081. return $r;
  1082. }
  1083. /*************************************************************
  1084. *
  1085. * ProjectTheme (c) sitemile.com - function
  1086. *
  1087. **************************************************************/
  1088. function projectTheme_get_current_price($pid = '')
  1089. {
  1090. if(empty($pid)) $pid = get_the_ID();
  1091. $only_buy_now = get_post_meta($pid, 'only_buy_now' ,true);
  1092. if($only_buy_now == '1') return get_post_meta($pid, 'buy_now', true);
  1093. $reverse = get_post_meta($pid, "reverse", true);
  1094. if($reverse == "yes") return get_post_meta($pid, 'price', true);
  1095. else
  1096. {
  1097. $bids = projectTheme_get_bid_values($pid);
  1098. if(count($bids) == 0)
  1099. {
  1100. $start = projectTheme_get_start_price($pid);
  1101. return ($start == false ? 0 : $start );
  1102. }
  1103. else
  1104. {
  1105. return projectTheme_get_highest_bid($pid);
  1106. }
  1107. }
  1108. }
  1109. /*************************************************************
  1110. *
  1111. * ProjectTheme (c) sitemile.com - function
  1112. *
  1113. **************************************************************/
  1114. function projectTheme_get_start_price($pid = '')
  1115. {
  1116. if(empty($pid)) $pid = get_the_ID();
  1117. $price = get_post_meta($pid, 'start_price', true);
  1118. if(empty($price)) $price = false;
  1119. return $price;
  1120. }
  1121. /*************************************************************
  1122. *
  1123. * ProjectTheme (c) sitemile.com - function
  1124. *
  1125. **************************************************************/
  1126. add_filter('post_type_link', 'ProjectTheme_post_type_link_filter_function', 1, 3);
  1127. function ProjectTheme_post_type_link_filter_function( $post_link, $id = 0, $leavename = FALSE ) {
  1128. global $category_url_link;
  1129. if ( strpos('%project_cat%', $post_link) === 'FALSE' ) {
  1130. return $post_link;
  1131. }
  1132. $post = get_post($id);
  1133. if ( !is_object($post) || $post->post_type != 'project' ) {
  1134. return str_replace("project_cat", $category_url_link ,$post_link);
  1135. }
  1136. $terms = wp_get_object_terms($post->ID, 'project_cat');
  1137. if ( !$terms ) {
  1138. return str_replace('%project_cat%', 'uncategorized', $post_link);
  1139. }
  1140. return str_replace('%project_cat%', $terms[0]->slug, $post_link);
  1141. }
  1142. /*************************************************************
  1143. *
  1144. * ProjectTheme (c) sitemile.com - function
  1145. *
  1146. **************************************************************/
  1147. function projectTheme_theme_project_files()
  1148. {
  1149. global $current_user;
  1150. get_currentuserinfo();
  1151. $cid = $current_user->ID;
  1152. global $post;
  1153. $pid = $post->ID;
  1154. $cwd = str_replace('wp-admin','',getcwd());
  1155. $cwd .= 'wp-content/uploads';
  1156. //echo get_template_directory();
  1157. ?>
  1158. <div style="overflow:hidden">
  1159. <script type="text/javascript" src="<?php echo get_bloginfo('template_url'); ?>/lib/uploadify/jquery.uploadify-3.1.js"></script>
  1160. <link rel="stylesheet" href="<?php echo get_bloginfo('template_url'); ?>/lib/uploadify/uploadify.css" type="text/css" />
  1161. <script type="text/javascript">
  1162. function delete_this(id)
  1163. {
  1164. jQuery.ajax({
  1165. method: 'get',
  1166. url : '<?php echo get_bloginfo('siteurl');?>/index.php/?_ad_delete_pid='+id,
  1167. dataType : 'text',
  1168. success: function (text) { jQuery('#image_ss'+id).remove(); }
  1169. });
  1170. //alert("a");
  1171. }
  1172. jQuery(function() {
  1173. jQuery("#fileUpload3").uploadify({
  1174. height : 30,
  1175. auto: true,
  1176. swf : '<?php echo get_bloginfo('template_url'); ?>/lib/uploadify/uploadify.swf',
  1177. uploader : '<?php echo get_bloginfo('template_url'); ?>/lib/uploadify/uploady2.php',
  1178. width : 120,
  1179. fileTypeExts : '*.zip;*.pdf;*.doc;*.docx',
  1180. fileTypeDesc : '<?php _e('Select Project Files','ProjectTheme'); ?>',
  1181. formData : {'ID':<?php echo $pid; ?>,'author':<?php echo $cid; ?>},
  1182. onUploadSuccess : function(file, data, response) {
  1183. //alert(data);
  1184. var bar = data.split("|");
  1185. jQuery('#thumbnails2').append('<div class="div_div" id="image_ss'+bar[1]+'" > ' + bar[0] + '" <a href="javascript: void(0)" onclick="delete_this('+ bar[1] +')"><img border="0" src="<?php echo get_bloginfo('template_url'); ?>/images/delete_icon.png" border="0" /></a></div>');
  1186. }
  1187. });
  1188. });
  1189. </script>
  1190. <style type="text/css">
  1191. .div_div1
  1192. {
  1193. margin-left:5px; float:left;
  1194. width:100%;
  1195. margin-top:10px;
  1196. }
  1197. </style>
  1198. <div id="fileUpload3">You have a problem with your javascript</div>
  1199. <div id="thumbnails2" style="overflow:hidden;margin-top:20px">
  1200. <?php
  1201. $args = array(
  1202. 'order' => 'ASC',
  1203. 'orderby' => 'menu_order',
  1204. 'post_type' => 'attachment',
  1205. 'post_parent' => $pid,
  1206. 'post_status' => null,
  1207. 'numberposts' => -1,
  1208. );
  1209. $attachments = get_posts($args);
  1210. if ($attachments) {
  1211. foreach ($attachments as $attachment) {
  1212. $url = $attachment->guid;
  1213. $imggg = $attachment->post_mime_type;
  1214. $act = get_post_meta($attachment->ID,'act_dig_file',true);
  1215. if(!empty($act)) // == "1")
  1216. echo '<div class="div_div1" id="image_ss'.$attachment->ID.'">'.$attachment->post_title.'
  1217. <a href="javascript: void(0)" onclick="delete_this(\''.$attachment->ID.'\')"><img border="0" src="'.get_bloginfo('template_url').'/images/delete_icon.png" /></a>
  1218. </div>';
  1219. }
  1220. }
  1221. ?>
  1222. </div>
  1223. </div>
  1224. <?php
  1225. }
  1226. /*************************************************************
  1227. *
  1228. * ProjectTheme (c) sitemile.com - function
  1229. *
  1230. **************************************************************/
  1231. function projectTheme_theme_project_bids()
  1232. {
  1233. global $post;
  1234. $pid = $post->ID;
  1235. global $wpdb;
  1236. //------------------------------------------------
  1237. if(isset($_GET['remove_winner']))
  1238. {
  1239. echo 'Are you sure you want to remove the winner? | <b><a href="'.get_admin_url().'post.php?post='.$pid.'&action=edit&accepted_remove=1#project_bids">Yes, I Am Sure</a></b>'; echo '<br/>';
  1240. echo '<br/>';
  1241. echo '<br/>';
  1242. }
  1243. if(isset($_GET['accepted_remove']))
  1244. {
  1245. echo '<div class="saved_thing">Winner for project removed.</div>';
  1246. $bids = "update ".$wpdb->prefix."project_bids set winner='0' where pid='$pid' and winner='1'";
  1247. $wpdb->query($bids);
  1248. $bids = "delete from ".$wpdb->prefix."project_ratings where pid='$pid'";
  1249. $wpdb->query($bids);
  1250. delete_post_meta($pid, 'winner');
  1251. delete_post_meta($pid, 'outstanding');
  1252. delete_post_meta($pid, 'expected_delivery');
  1253. delete_post_meta($pid, 'mark_seller_accepted');
  1254. delete_post_meta($pid, 'mark_coder_delivered');
  1255. delete_post_meta($pid, 'paid_user');
  1256. delete_post_meta($pid, 'mark_seller_accepted_date');
  1257. delete_post_meta($pid, 'mark_coder_delivered_date');
  1258. echo '<br/>';
  1259. echo '<br/>';
  1260. }
  1261. //-----------------------------------------------
  1262. $closed = get_post_meta($pid, 'closed', true);
  1263. $post = get_post($pid);
  1264. $bids = "select * from ".$wpdb->prefix."project_bids where pid='$pid' order by id DESC";
  1265. $res = $wpdb->get_results($bids);
  1266. if(count($res) > 0)
  1267. {
  1268. echo '<table width="100%">';
  1269. echo '<thead><tr>';
  1270. echo '<th>'.__('Username','ProjectTheme').'</th>';
  1271. echo '<th>'.__('Bid Amount','ProjectTheme').'</th>';
  1272. echo '<th>'.__('Date Made','ProjectTheme').'</th>';
  1273. echo '<th>'.__('Winner','ProjectTheme').'</th>';
  1274. echo '<th>'.__('Options','ProjectTheme').'</th>';
  1275. echo '</tr></thead><tbody>';
  1276. //-------------
  1277. foreach($res as $row)
  1278. {
  1279. $user = get_userdata($row->uid);
  1280. echo '<tr>';
  1281. echo '<th>'.$user->user_login.'</th>';
  1282. echo '<th>'.ProjectTheme_get_show_price($row->bid).'</th>';
  1283. echo '<th>'.date_i18n("d-M-Y H:i:s", $row->date_made).'</th>';
  1284. if($row->winner == 1) echo '<th>'.__('Yes','ProjectTheme').'</th>'; else echo '<th>&nbsp;</th>';
  1285. if($row->winner == 1) echo '<th><a href="'.get_admin_url().'post.php?post='.$pid.'&action=edit&remove_winner=1#project_bids">'.__('Remove Winner','ProjectTheme').'</a></th>'; else echo '<th>&nbsp;</th>';
  1286. echo '</tr>';
  1287. }
  1288. echo '</tbody></table>';
  1289. }
  1290. else _e("No bids placed yet.",'ProjectTheme');
  1291. }
  1292. /*************************************************************
  1293. *
  1294. * ProjectTheme (c) sitemile.com - function
  1295. *
  1296. **************************************************************/
  1297. function projectTheme_theme_project_images()
  1298. {
  1299. global $current_user;
  1300. get_currentuserinfo();
  1301. $cid = $current_user->ID;
  1302. global $post;
  1303. $pid = $post->ID;
  1304. $cwd = str_replace('wp-admin','',getcwd());
  1305. $cwd .= 'wp-content/uploads';
  1306. //echo get_template_directory();
  1307. ?>
  1308. <script type="text/javascript">
  1309. function delete_this(id)
  1310. {
  1311. jQuery.ajax({
  1312. method: 'get',
  1313. url : '<?php echo get_bloginfo('siteurl');?>/index.php/?_ad_delete_pid='+id,
  1314. dataType : 'text',
  1315. success: function (text) { jQuery('#image_ss'+id).remove(); }
  1316. });
  1317. //alert("a");
  1318. }
  1319. jQuery(function() {
  1320. jQuery("#fileUpload4").uploadify({
  1321. height : 30,
  1322. auto: true,
  1323. swf : '<?php echo get_bloginfo('template_url'); ?>/lib/uploadify/uploadify.swf',
  1324. uploader : '<?php echo get_bloginfo('template_url'); ?>/lib/uploadify/uploady.php',
  1325. width : 120,
  1326. fileTypeExts : '*.jpg;*.jpeg;*.gif;*.png',
  1327. formData : {'ID':<?php echo $pid; ?>,'author':<?php echo $cid; ?>},
  1328. onUploadSuccess : function(file, data, response) {
  1329. //alert(data);
  1330. var bar = data.split("|");
  1331. jQuery('#thumbnails').append('<div class="div_div" id="image_ss'+bar[1]+'" ><img width="70" class="image_class" height="70" src="' + bar[0] + '" /><a href="javascript: void(0)" onclick="delete_this('+ bar[1] +')"><img border="0" src="<?php echo get_bloginfo('template_url'); ?>/images/delete_icon.png" border="0" /></a></div>');
  1332. }
  1333. });
  1334. });
  1335. </script>
  1336. <style type="text/css">
  1337. .div_div
  1338. {
  1339. margin-left:5px; float:left;
  1340. width:110px;margin-top:10px;
  1341. }
  1342. </style>
  1343. <div id="fileUpload4" style="width:100%">You have a problem with your javascript</div>
  1344. <div id="thumbnails" style="overflow:hidden;margin-top:20px">
  1345. <?php
  1346. $args = array(
  1347. 'order' => 'ASC',
  1348. 'orderby' => 'post_date',
  1349. 'post_type' => 'attachment',
  1350. 'post_parent' => $pid,
  1351. 'post_mime_type' => 'image',
  1352. 'numberposts' => -1,
  1353. ); $i = 0;
  1354. $attachments = get_posts($args);
  1355. if ($attachments) {
  1356. foreach ($attachments as $attachment) {
  1357. $url = wp_get_attachment_url($attachment->ID);
  1358. echo '<div class="div_div" id="image_ss'.$attachment->ID.'"><img width="70" class="image_class" height="70" src="' .
  1359. ProjectTheme_generate_thumb($url, 70, 70). '" />
  1360. <a href="javascript: void(0)" onclick="delete_this(\''.$attachment->ID.'\')"><img border="0" src="'.get_bloginfo('template_url').'/images/delete_icon.png" /></a>
  1361. </div>';
  1362. }
  1363. }
  1364. ?>
  1365. </div>
  1366. <?php
  1367. }
  1368. /*************************************************************
  1369. *
  1370. * ProjectTheme (c) sitemile.com - function
  1371. *
  1372. **************************************************************/
  1373. function projectTheme_check_list_emails($termid, $row)
  1374. {
  1375. if(count($row) > 0)
  1376. foreach($row as $term)
  1377. {
  1378. if($term->catid == $termid) return 1;
  1379. }
  1380. return 0;
  1381. }
  1382. /*************************************************************
  1383. *
  1384. * ProjectTheme (c) sitemile.com - function
  1385. *
  1386. **************************************************************/
  1387. function ProjectTheme_add_query_vars($public_query_vars)
  1388. {
  1389. $public_query_vars[] = 'p_action';
  1390. $public_query_vars[] = 'orderid';
  1391. $public_query_vars[] = 'step';
  1392. $public_query_vars[] = 'pg';
  1393. $public_query_vars[] = 'my_second_page';
  1394. $public_query_vars[] = 'third_page';
  1395. $public_query_vars[] = 'username';
  1396. $public_query_vars[] = 'pid';
  1397. $public_query_vars[] = 'bid';
  1398. $public_query_vars[] = 'rid';
  1399. $public_query_vars[] = 'term_search'; //job_sort, job_category, page
  1400. $public_query_vars[] = 'method';
  1401. $public_query_vars[] = 'post_new_step';
  1402. $public_query_vars[] = 'projectid';
  1403. $public_query_vars[] = 'page';
  1404. $public_query_vars[] = 'p_action';
  1405. $public_query_vars[] = 'post_author';
  1406. return $public_query_vars;
  1407. }
  1408. /*************************************************************
  1409. *
  1410. * ProjectTheme (c) sitemile.com - function
  1411. *
  1412. **************************************************************/
  1413. function ProjectTheme_create_post_type() {
  1414. global $projects_url_nm;
  1415. $icn = get_bloginfo('template_url')."/images/projecticon.gif";
  1416. register_post_type( 'project',
  1417. array(
  1418. 'labels' => array(
  1419. 'name' => __( 'Projects', 'ProjectTheme' ),
  1420. 'singular_name' => __( 'Project', 'ProjectTheme' ),
  1421. 'add_new' => __('Add New Project', 'ProjectTheme'),
  1422. 'new_item' => __('New Project', 'ProjectTheme'),
  1423. 'edit_item' => __('Edit Project', 'ProjectTheme'),
  1424. 'add_new_item' => __('Add New Project', 'ProjectTheme'),
  1425. 'search_items' => __('Search Projects', 'ProjectTheme'),
  1426. ),
  1427. 'public' => true,
  1428. 'has_archive' => 'project-list',
  1429. 'menu_position' => 5,
  1430. 'register_meta_box_cb' => 'projectTheme_set_metaboxes',
  1431. 'has_archive' => "project-list",
  1432. 'rewrite' => array('slug'=> $projects_url_nm."/%project_cat%",'with_front'=>false),
  1433. 'supports' => array('title','editor','author','thumbnail','excerpt','comments'),
  1434. '_builtin' => false,
  1435. 'menu_icon' => $icn,
  1436. 'publicly_queryable' => true,
  1437. 'hierarchical' => false
  1438. )
  1439. );
  1440. global $category_url_link, $location_url_link;
  1441. $lbs = array('add_new_item' => __('Add New Location','ProjectTheme'),
  1442. 'search_items' => __('Search Locations','ProjectTheme'));
  1443. register_taxonomy( 'project_cat', 'project', array( 'rewrite' => true ,'hierarchical' => true, 'label' => __('Project Categories','ProjectTheme') ) );
  1444. register_taxonomy( 'project_location', 'project', array('rewrite' => array('slug'=>$location_url_link,'with_front'=>false),
  1445. 'hierarchical' => true, 'labels' => $lbs, 'label' => __('Locations','ProjectTheme') ) );
  1446. add_post_type_support( 'project', 'author' );
  1447. // add_post_type_support( 'project', 'custom-fields' );
  1448. register_taxonomy_for_object_type('post_tag', 'project');
  1449. flush_rewrite_rules();
  1450. //-------------------------
  1451. //user roles
  1452. add_role('service_provider', __('Service Provider','ProjectTheme'), array(
  1453. 'read' => true, // True allows that capability
  1454. 'edit_posts' => false,
  1455. 'delete_posts' => false));
  1456. add_role('business_owner', __('Service Contractor','ProjectTheme'), array(
  1457. 'read' => true, // True allows that capability
  1458. 'edit_posts' => false,
  1459. 'delete_posts' => false));
  1460. $role = get_role( 'service_provider' );
  1461. $role->remove_cap( 'delete_posts' );
  1462. $role->remove_cap( 'edit_posts' );
  1463. $role->remove_cap( 'delete_published_posts' );
  1464. $role = get_role( 'business_owner' );
  1465. $role->remove_cap( 'delete_posts' );
  1466. $role->remove_cap( 'edit_posts' );
  1467. $role->remove_cap( 'delete_published_posts' );
  1468. }
  1469. /*************************************************************
  1470. *
  1471. * ProjectTheme (c) sitemile.com - function
  1472. *
  1473. **************************************************************/
  1474. function ProjectTheme_get_avatar($uid, $w = 25, $h = 25)
  1475. {
  1476. $av = get_user_meta($uid, 'avatar', true);
  1477. if(empty($av)) return get_bloginfo('template_url')."/images/noav.jpg";
  1478. else return ProjectTheme_generate_thumb($av, $w, $h);
  1479. }
  1480. /*************************************************************
  1481. *
  1482. * ProjectTheme (c) sitemile.com - function
  1483. *
  1484. **************************************************************/
  1485. function ProjectTheme_get_post_nr_of_images($pid)
  1486. {
  1487. //---------------------
  1488. // build the exclude list
  1489. $exclude = array();
  1490. $args = array(
  1491. 'order' => 'ASC',
  1492. 'post_type' => 'attachment',
  1493. 'post_parent' => get_the_ID(),
  1494. 'meta_key' => 'another_reserved1',
  1495. 'meta_value' => '1',
  1496. 'numberposts' => -1,
  1497. 'post_status' => null,
  1498. );
  1499. $attachments = get_posts($args);
  1500. if ($attachments) {
  1501. foreach ($attachments as $attachment) {
  1502. $url = $attachment->ID;
  1503. array_push($exclude, $url);
  1504. }
  1505. }
  1506. //-----------------
  1507. $arr = array();
  1508. $args = array(
  1509. 'order' => 'ASC',
  1510. 'orderby' => 'post_date',
  1511. 'post_type' => 'attachment',
  1512. 'post_parent' => $pid,
  1513. 'exclude' => $exclude,
  1514. 'post_mime_type' => 'image',
  1515. 'numberposts' => -1,
  1516. ); $i = 0;
  1517. $attachments = get_posts($args);
  1518. if ($attachments) {
  1519. foreach ($attachments as $attachment) {
  1520. $url = wp_get_attachment_url($attachment->ID);
  1521. array_push($arr, $url);
  1522. }
  1523. return count($arr);
  1524. }
  1525. return 0;
  1526. }
  1527. /*************************************************************
  1528. *
  1529. * ProjectTheme (c) sitemile.com - function
  1530. *
  1531. **************************************************************/
  1532. function ProjectTheme_get_post_images($pid, $limit = -1)
  1533. {
  1534. //---------------------
  1535. // build the exclude list
  1536. $exclude = array();
  1537. $args = array(
  1538. 'order' => 'ASC',
  1539. 'post_type' => 'attachment',
  1540. 'post_parent' => get_the_ID(),
  1541. 'meta_key' => 'another_reserved1',
  1542. 'meta_value' => '1',
  1543. 'numberposts' => -1,
  1544. 'post_status' => null,
  1545. );
  1546. $attachments = get_posts($args);
  1547. if ($attachments) {
  1548. foreach ($attachments as $attachment) {
  1549. $url = $attachment->ID;
  1550. array_push($exclude, $url);
  1551. }
  1552. }
  1553. //-----------------
  1554. $arr = array();
  1555. $args = array(
  1556. 'order' => 'ASC',
  1557. 'orderby' => 'post_date',
  1558. 'post_type' => 'attachment',
  1559. 'post_parent' => $pid,
  1560. 'exclude' => $exclude,
  1561. 'post_mime_type' => 'image',
  1562. 'numberposts' => $limit,
  1563. ); $i = 0;
  1564. $attachments = get_posts($args);
  1565. if ($attachments) {
  1566. foreach ($attachments as $attachment) {
  1567. $url = wp_get_attachment_url($attachment->ID);
  1568. array_push($arr, $url);
  1569. }
  1570. return $arr;
  1571. }
  1572. return false;
  1573. }
  1574. /*************************************************************
  1575. *
  1576. * ProjectTheme (c) sitemile.com - function
  1577. *
  1578. **************************************************************/
  1579. function projectTheme_post_new_link()
  1580. {
  1581. return get_permalink(get_option('ProjectTheme_post_new_page_id'));
  1582. }
  1583. /*************************************************************
  1584. *
  1585. * ProjectTheme (c) sitemile.com - function
  1586. *
  1587. **************************************************************/
  1588. function projectTheme_blog_link()
  1589. {
  1590. return get_permalink(get_option('ProjectTheme_all_blog_posts_page_id'));
  1591. }
  1592. /*************************************************************
  1593. *
  1594. * ProjectTheme (c) sitemile.com - function
  1595. *
  1596. **************************************************************/
  1597. function projectTheme_my_account_link()
  1598. {
  1599. return get_permalink(get_option('ProjectTheme_my_account_page_id'));
  1600. }
  1601. /*************************************************************
  1602. *
  1603. * ProjectTheme (c) sitemile.com - function
  1604. *
  1605. **************************************************************/
  1606. function projectTheme_advanced_search_link_pgs($pg)
  1607. {
  1608. $opt = get_option('ProjectTheme_advanced_search_page_id');
  1609. $perm = ProjectTheme_using_permalinks();
  1610. $acc = 'pj='.$pg."&";
  1611. foreach($_GET as $key=>$value)
  1612. {
  1613. if($key != 'pj' and $key != 'page_id')
  1614. $acc .= $key."=".$value."&";
  1615. }
  1616. if($perm) return get_permalink($opt). "?" . $acc;
  1617. return get_permalink($opt). "&".$acc;
  1618. }
  1619. function projectTheme_advanced_search_link2()
  1620. {
  1621. $opt = get_option('ProjectTheme_advanced_search_page_id');
  1622. $perm = ProjectTheme_using_permalinks();
  1623. if($perm) return get_permalink($opt). "?";
  1624. return get_permalink($opt). "&pg=".$subpage."&";
  1625. }
  1626. /*************************************************************
  1627. *
  1628. * ProjectTheme (c) sitemile.com - function
  1629. *
  1630. **************************************************************/
  1631. function projectTheme_provider_search_link()
  1632. {
  1633. $opt = get_option('ProjectTheme_provider_search_page_id');
  1634. $perm = ProjectTheme_using_permalinks();
  1635. if($perm) return get_permalink($opt). "?";
  1636. return get_permalink($opt). "&pg=".$subpage."&";
  1637. }
  1638. /*************************************************************
  1639. *
  1640. * ProjectTheme (c) sitemile.com - function
  1641. *
  1642. **************************************************************/
  1643. function projectTheme_advanced_search_link()
  1644. {
  1645. $opt = get_option('ProjectTheme_advanced_search_page_id');
  1646. return get_permalink($opt);
  1647. }
  1648. /*************************************************************
  1649. *
  1650. * ProjectTheme (c) sitemile.com - function
  1651. *
  1652. **************************************************************/
  1653. function ProjectTheme_add_js_coin_slider()
  1654. {
  1655. if(ProjectTheme_is_home()):
  1656. $opt = get_option('ProjectTheme_slider_in_front');
  1657. if($opt == "yes") :
  1658. ?>
  1659. <script type="text/javascript" src="<?php echo get_bloginfo('template_url'); ?>/js/easySlider1.7.js"></script>
  1660. <script type="text/javascript">
  1661. var $ = jQuery;
  1662. jQuery(document).ready(function(){
  1663. jQuery("#slider").easySlider({
  1664. prevText: '<?php _e('Previous',"ProjectTheme"); ?>',
  1665. nextText: '<?php _e('Next',"ProjectTheme"); ?>',
  1666. firstText: '<?php _e('First','ProjectTheme'); ?>',
  1667. lastText: '<?php _e('Last','ProjectTheme'); ?>',
  1668. firstShow: true,
  1669. lastShow: true,
  1670. vertical: true,
  1671. auto: false,
  1672. controlsBefore: "<div id='slider-controls'><div class='padd10'>",
  1673. controlsAfter: "</div></div>"
  1674. });
  1675. });
  1676. </script>
  1677. <?php endif; endif;
  1678. }
  1679. /*************************************************************
  1680. *
  1681. * ProjectTheme (c) sitemile.com - function
  1682. *
  1683. **************************************************************/
  1684. function ProjectTheme_get_post_blog()
  1685. {
  1686. do_action('ProjectTheme_get_post_blog_function');
  1687. }
  1688. function ProjectTheme_get_post_blog_function()
  1689. {
  1690. $arrImages =& get_children('post_type=attachment&post_mime_type=image&post_parent=' . get_the_ID());
  1691. if($arrImages)
  1692. {
  1693. $arrKeys = array_keys($arrImages);
  1694. $iNum = $arrKeys[0];
  1695. $sThumbUrl = wp_get_attachment_thumb_url($iNum);
  1696. $sImgString = '<a href="' . get_permalink() . '">' .
  1697. '<img class="image_class" src="' . $sThumbUrl . '" width="100" height="100" />' .
  1698. '</a>';
  1699. }
  1700. else
  1701. {
  1702. $sImgString = '<a href="' . get_permalink() . '">' .
  1703. '<img class="image_class" src="' . get_bloginfo('template_url') . '/images/nopic.jpg" width="100" height="100" />' .
  1704. '</a>';
  1705. }
  1706. ?>
  1707. <div class="post vc_POST blg_pst" id="post-<?php the_ID(); ?>">
  1708. <div class="image_holder" style="width:120px">
  1709. <?php echo $sImgString; ?>
  1710. </div>
  1711. <div class="title_holder" style="width:500px" >
  1712. <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>">
  1713. <?php the_title(); ?></a></h2>
  1714. <p class="mypostedon"><?php _e('Posted on','ProjectTheme'); ?> <?php the_time('F jS, Y') ?> <?php _e('by','ProjectTheme'); ?>
  1715. <?php the_author() ?>
  1716. </p>
  1717. <p class="blog_post_preview"> <?php the_excerpt(); ?></p>
  1718. <a href="<?php the_permalink() ?>" class="post_bid_btn"><?php _e('Read More','ProjectTheme'); ?></a>
  1719. </div>
  1720. </div>
  1721. <?php
  1722. }
  1723. /*************************************************************
  1724. *
  1725. * ProjectTheme (c) sitemile.com - function
  1726. *
  1727. **************************************************************/
  1728. add_filter('ProjectTheme_get_slider_home', 'ProjectTheme_get_home_slider_fnc');
  1729. function ProjectTheme_get_slider_home()
  1730. {
  1731. do_action('ProjectTheme_get_slider_home');
  1732. }
  1733. function ProjectTheme_get_home_slider_fnc()
  1734. {
  1735. $opt = get_option('ProjectTheme_slider_in_front');
  1736. if($opt != "no") :
  1737. ?>
  1738. <div id="project-home-page-main-inner" class="wrapper"><div class="padd10">
  1739. <div class="slider_title"><?php _e('Featured Projects of the Day','ProjectTheme'); ?></div>
  1740. <div id="slider2">
  1741. <?php
  1742. global $wpdb;
  1743. $querystr = "
  1744. SELECT distinct wposts.*
  1745. FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta, $wpdb->postmeta wpostmeta2
  1746. WHERE wposts.ID = wpostmeta.post_id AND
  1747. wpostmeta.meta_key='closed' AND wpostmeta.meta_value='0'
  1748. AND
  1749. wposts.ID = wpostmeta2.post_id AND
  1750. wpostmeta2.meta_key='featured' AND wpostmeta2.meta_value='1'
  1751. AND
  1752. wposts.post_status = 'publish'
  1753. AND wposts.post_type = 'project'
  1754. ORDER BY wposts.post_date DESC LIMIT 15 ";
  1755. $pageposts = $wpdb->get_results($querystr, OBJECT);
  1756. $posts_per = 5;
  1757. ?>
  1758. <?php $i = 0; if ($pageposts): ?>
  1759. <?php global $post; ?>
  1760. <?php foreach ($pageposts as $post): ?>
  1761. <?php setup_postdata($post); ?>
  1762. <?php
  1763. echo '<div class="nk_slider_child">';
  1764. projectTheme_slider_post();
  1765. echo '</div>';
  1766. ?>
  1767. <?php endforeach; ?>
  1768. <?php endif; ?>
  1769. </div></div>
  1770. </div>
  1771. <?php endif;
  1772. }
  1773. function ProjectTheme_get_users_links()
  1774. {
  1775. global $current_user, $wpdb;
  1776. get_currentuserinfo();
  1777. $rd = projectTheme_get_unread_number_messages($current_user->ID);
  1778. if($rd > 0) $ssk = "<span class='notif_a'>".$rd."</span>"; else $ssk = '';
  1779. $uid = $current_user->ID;
  1780. //-----------------------
  1781. $query = "select id from ".$wpdb->prefix."project_ratings where fromuser='$uid' AND awarded='0'";
  1782. $r = $wpdb->get_results($query);
  1783. $ttl_fdbks = count($r);
  1784. if($ttl_fdbks > 0)
  1785. $ttl_fdbks2 = "<span class='notif_a'>".$ttl_fdbks."</span>";
  1786. $ProjectTheme_enable_2_user_tp = get_option('ProjectTheme_enable_2_user_tp');
  1787. $user_tp = get_user_meta($uid, 'user_tp', true);
  1788. ?>
  1789. <div id="right-sidebar">
  1790. <ul class="xoxo">
  1791. <li class="widget-container widget_text"><h3 class="widget-title"><?php _e("My Account Menu",'ProjectTheme'); ?></h3>
  1792. <p>
  1793. <ul id="my-account-admin-menu">
  1794. <li><a href="<?php echo projectTheme_my_account_link(); ?>" <?php echo ($current_page == "home" ? "class='active'" : "");
  1795. ?>><?php _e("MyAccount Home",'ProjectTheme');?></a></li>
  1796. <?php $pmnts_lnk = get_permalink(get_option('ProjectTheme_my_account_payments_id'));
  1797. $pmnts_lnk = apply_filters('ProjectTheme_my_account_payments_id_link', $pmnts_lnk);
  1798. ?>
  1799. <li><a href="<?php echo $pmnts_lnk; ?>"><?php _e("Finances",'ProjectTheme');?></a></li>
  1800. <li><a href="<?php echo get_permalink(get_option('ProjectTheme_my_account_private_messages_id')); ?>"><?php echo sprintf(__("Private Messages %s",'ProjectTheme'),$ssk);?></a></li>
  1801. <li><a href="<?php echo get_permalink(get_option('ProjectTheme_my_account_personal_info_id')); ?>"><?php _e("Personal Info",'ProjectTheme');?></a></li>
  1802. <li><a href="<?php echo get_permalink(get_option('ProjectTheme_my_account_feedback_id')); ?>"><?php printf(__("Reviews/Feedback %s",'ProjectTheme'), $ttl_fdbks2);?></a></li>
  1803. <?php do_action('ProjectTheme_my_account_main_menu'); ?>
  1804. </ul>
  1805. </p>
  1806. </li>
  1807. <!-- ###### -->
  1808. <?php
  1809. if(ProjectTheme_is_user_business($uid)):
  1810. ?>
  1811. <li class="widget-container widget_text"><h3 class="widget-title"><?php _e("Service Contractor Menu",'ProjectTheme'); ?></h3>
  1812. <p>
  1813. <?php
  1814. global $wpdb;
  1815. $querystr = "
  1816. SELECT distinct wposts.ID
  1817. FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta2, $wpdb->postmeta wpostmeta3
  1818. WHERE wposts.post_author='$uid' AND wposts.ID = wpostmeta2.post_id AND
  1819. wpostmeta2.meta_key='paid_user' AND wpostmeta2.meta_value='0'
  1820. AND wposts.ID = wpostmeta3.post_id AND
  1821. wpostmeta3.meta_key='delivered' AND wpostmeta3.meta_value='1'
  1822. AND wposts.post_type = 'project' ";
  1823. $pageposts = $wpdb->get_results($querystr, OBJECT);
  1824. $ttl_prj = count($pageposts);
  1825. if($ttl_prj > 0)
  1826. $scn = "<span class='notif_a'>".$ttl_prj."</span>";
  1827. //------------------------------------------------
  1828. $querystr = "
  1829. SELECT distinct wposts.ID
  1830. FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta2
  1831. WHERE wposts.post_author='$uid' AND wposts.ID = wpostmeta2.post_id AND
  1832. wpostmeta2.meta_key='paid' AND wpostmeta2.meta_value='0' AND wposts.post_type = 'project' AND wposts.post_status = 'draft' ";
  1833. $pageposts = $wpdb->get_results($querystr, OBJECT);
  1834. $ttl_prj2 = count($pageposts);
  1835. if($ttl_prj2 > 0)
  1836. $scn2 = "<span class='notif_a'>".$ttl_prj2."</span>";
  1837. //------------------------------------------------
  1838. $querystr = "
  1839. SELECT distinct wposts.ID
  1840. FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta2
  1841. WHERE wposts.post_author='$uid' AND wposts.ID = wpostmeta2.post_id AND
  1842. wpostmeta2.meta_key='outstanding' AND wpostmeta2.meta_value='1' AND wposts.post_type = 'project' ";
  1843. $pageposts = $wpdb->get_results($querystr, OBJECT);
  1844. $ttl_prj2 = count($pageposts);
  1845. if($ttl_prj2 > 0)
  1846. $compl = "<span class='notif_a'>".$ttl_prj2."</span>";
  1847. ?>
  1848. <ul id="my-account-admin-menu_seller">
  1849. <li><a href="<?php echo projectTheme_post_new_link(); ?>" ><?php _e("Post New Project",'ProjectTheme');?></a></li>
  1850. <li><a href="<?php echo get_permalink(get_option('ProjectTheme_my_account_active_projects_id')); ?>"><?php _e("Active Projects",'ProjectTheme');?></a></li>
  1851. <li><a href="<?php echo get_permalink(get_option('ProjectTheme_my_account_closed_projects_id')); ?>"><?php _e("Closed Projects",'ProjectTheme');?></a></li>
  1852. <li><a href="<?php echo get_permalink(get_option('ProjectTheme_my_account_unpublished_projects_id')); ?>"><?php printf(__("Unpublished Projects %s",'ProjectTheme'), $scn2);?></a></li>
  1853. <li><a href="<?php echo get_permalink(get_option('ProjectTheme_my_account_awaiting_completion_id')); ?>"><?php printf(__("Awaiting Completion %s",'ProjectTheme'), $compl);?></a></li>
  1854. <li><a href="<?php echo get_permalink(get_option('ProjectTheme_my_account_outstanding_payments_id')); ?>"><?php printf(__("Outstanding Payments %s",'ProjectTheme'), $scn);?></a></li>
  1855. <li><a href="<?php echo get_permalink(get_option('ProjectTheme_my_account_completed_payments_id')); ?>"><?php _e("Completed Payments",'ProjectTheme');?></a></li>
  1856. <?php do_action('ProjectTheme_my_account_service_contractor_menu'); ?>
  1857. </ul>
  1858. </p>
  1859. </li>
  1860. <!-- ###### -->
  1861. <?php
  1862. endif;
  1863. if(ProjectTheme_is_user_provider($uid)):
  1864. ?>
  1865. <li class="widget-container widget_text"><h3 class="widget-title"><?php _e("Service Provider Menu",'ProjectTheme'); ?></h3>
  1866. <p>
  1867. <?php
  1868. $querystr = "
  1869. SELECT distinct wposts.ID
  1870. FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta2, $wpdb->postmeta wpostmeta3
  1871. WHERE wposts.ID = wpostmeta2.post_id AND
  1872. wpostmeta2.meta_key='winner' AND wpostmeta2.meta_value='$uid' AND
  1873. wposts.ID = wpostmeta3.post_id AND
  1874. wpostmeta3.meta_key='outstanding' AND wpostmeta3.meta_value='1'
  1875. AND wposts.post_type = 'project' ";
  1876. $pageposts = $wpdb->get_results($querystr, OBJECT);
  1877. $outsnr = count($pageposts);
  1878. if($outsnr > 0)
  1879. $outsnr = "<span class='notif_a'>".$outsnr."</span>"; else $outsnr = '';
  1880. //---------------------------------------
  1881. $querystr = "
  1882. SELECT distinct wposts.ID
  1883. FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta2, $wpdb->postmeta wpostmeta3, $wpdb->postmeta wpostmeta4
  1884. WHERE wposts.ID = wpostmeta2.post_id AND
  1885. wpostmeta2.meta_key='winner' AND wpostmeta2.meta_value='$uid' AND
  1886. wposts.ID = wpostmeta3.post_id AND
  1887. wpostmeta3.meta_key='delivered' AND wpostmeta3.meta_value='1' AND
  1888. wposts.ID = wpostmeta4.post_id AND
  1889. wpostmeta4.meta_key='paid_user' AND wpostmeta4.meta_value='0'
  1890. AND wposts.post_type = 'project' ";
  1891. $pageposts = $wpdb->get_results($querystr, OBJECT);
  1892. $awnr = count($pageposts);
  1893. if($awnr > 0)
  1894. $awnr = "<span class='notif_a'>".$awnr."</span>"; else $awnr = '';
  1895. ?>
  1896. <ul id="my-account-admin-menu_buyer">
  1897. <li><a href="<?php echo get_permalink(get_option('ProjectTheme_my_account_won_projects_id')); ?>"><?php _e("Won Projects",'ProjectTheme');?></a></li>
  1898. <li><a href="<?php echo get_permalink(get_option('ProjectTheme_my_account_outstanding_projects_id')); ?>"><?php printf(__("Outstanding Projects %s",'ProjectTheme'), $outsnr); ?></a></li>
  1899. <li><a href="<?php echo get_permalink(get_option('ProjectTheme_my_account_awaiting_payments_id')); ?>"><?php printf(__("Awaiting Payments %s",'ProjectTheme'), $awnr);?></a></li>
  1900. <li><a href="<?php echo get_permalink(get_option('ProjectTheme_my_account_delivered_projects_id')); ?>"><?php _e("Delivered & Paid Projects",'ProjectTheme');?></a></li>
  1901. <li><a href="<?php echo get_permalink(get_option('ProjectTheme_my_account_bid_projects_id')); ?>"><?php _e("Projects I bid",'ProjectTheme');?></a></li>
  1902. <?php do_action('ProjectTheme_my_account_service_provider_menu'); ?>
  1903. </ul>
  1904. </p>
  1905. </li>
  1906. <?php endif; ?>
  1907. </ul>
  1908. </div>
  1909. <?php
  1910. }
  1911. /*************************************************************
  1912. *
  1913. * ProjectTheme (c) sitemile.com - function
  1914. *
  1915. **************************************************************/
  1916. function projectTheme_username_is_valid($u)
  1917. {
  1918. global $wpdb;
  1919. $s = "select ID from ".$wpdb->users." where user_login='$u'";
  1920. $r = $wpdb->get_results($s);
  1921. $nr = count($r);
  1922. if($nr == 0) return false;
  1923. return true;
  1924. }
  1925. /*************************************************************
  1926. *
  1927. * ProjectTheme (c) sitemile.com - function
  1928. *
  1929. **************************************************************/
  1930. function ProjectTheme_get_my_awarded_projects2($uid)
  1931. {
  1932. $c = "<select name='projectss'><option value=''>".__('Select','ProjectTheme')."</option>";
  1933. global $wpdb;
  1934. $querystr = "
  1935. SELECT distinct wposts.*
  1936. FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta
  1937. WHERE wposts.post_author='$uid'
  1938. AND wposts.ID = wpostmeta.post_id
  1939. AND wpostmeta.meta_key = 'closed'
  1940. AND wpostmeta.meta_value = '1'
  1941. AND wposts.post_status = 'publish'
  1942. AND wposts.post_type = 'project'
  1943. ORDER BY wposts.post_date DESC";
  1944. //echo $querystr;
  1945. $r = $wpdb->get_results($querystr);
  1946. $winners_arr = array();
  1947. foreach($r as $row)
  1948. {
  1949. $pid = $row->ID;
  1950. $winner = get_post_meta($pid, "winner", true);
  1951. if(!empty($winner))
  1952. {
  1953. if(projecttheme_check_agains_vl_vl_arr($winners_arr,$winner) == false)
  1954. {
  1955. $winners_arr[] = $winner;
  1956. $user = get_userdata($winner);
  1957. $c .= '<option value="'.$winner.'">'.$user->user_login.'</option>';
  1958. $i = 1;
  1959. }
  1960. }
  1961. }
  1962. //-------------------------------
  1963. if($i == 1)
  1964. return $c.'</select>';
  1965. return false;
  1966. }
  1967. function projecttheme_check_agains_vl_vl_arr($winners_arr,$winner)
  1968. {
  1969. foreach($winners_arr as $as)
  1970. {
  1971. if($winner == $as) return true;
  1972. }
  1973. return false;
  1974. }
  1975. /*************************************************************
  1976. *
  1977. * ProjectTheme (c) sitemile.com - function
  1978. *
  1979. **************************************************************/
  1980. function projectTheme_add_history_log($tp, $reason, $amount, $uid, $uid2 = '')
  1981. {
  1982. if($amount != 0)
  1983. {
  1984. $tm = current_time('timestamp',0); global $wpdb;
  1985. $s = "insert into ".$wpdb->prefix."project_payment_transactions (tp,reason,amount,uid,datemade,uid2)
  1986. values('$tp','$reason','$amount','$uid','$tm','$uid2')";
  1987. $wpdb->query($s);
  1988. }
  1989. }
  1990. /*************************************************************
  1991. *
  1992. * ProjectTheme (c) sitemile.com - function
  1993. *
  1994. **************************************************************/
  1995. add_filter('upload_mimes', 'projectTheme_custom_upload_mimes');
  1996. function projectTheme_custom_upload_mimes ( $existing_mimes=array() ) {
  1997. $existing_mimes['zip'] = 'application/zip';
  1998. $existing_mimes['pdf'] = 'application/pdf';
  1999. $existing_mimes['doc'] = 'application/doc';
  2000. $existing_mimes['docx'] = 'application/docx';
  2001. $existing_mimes['xls'] = 'application/xls';
  2002. $existing_mimes['xlsx'] = 'application/xlsx';
  2003. $existing_mimes['ppt'] = 'application/ppt';
  2004. $existing_mimes['pptx'] = 'application/pptx';
  2005. $existing_mimes['csv'] = 'application/csv';
  2006. $existing_mimes['psd'] = 'application/octet-stream';
  2007. $existing_mimes['png'] = 'image/png';
  2008. return $existing_mimes;
  2009. }
  2010. function projectTheme_get_userid_from_username($user)
  2011. {
  2012. //$user = get_user_by('login', $user);
  2013. global $wpdb; $user = trim($user);
  2014. $usrs = $wpdb->users;
  2015. $s = "select * from ".$usrs." where user_login='$user'";
  2016. $r = $wpdb->get_results($s);
  2017. $row = $r[0];
  2018. //if(empty($row->ID)) return false;
  2019. return $row->ID;
  2020. }
  2021. /*************************************************************
  2022. *
  2023. * ProjectTheme (c) sitemile.com - function
  2024. *
  2025. **************************************************************/
  2026. function ProjectTheme_get_currency()
  2027. {
  2028. $c = trim(get_option('ProjectTheme_currency_symbol'));
  2029. if(empty($c)) return get_option('ProjectTheme_currency');
  2030. return $c;
  2031. }
  2032. /*************************************************************
  2033. *
  2034. * ProjectTheme (c) sitemile.com - function
  2035. *
  2036. **************************************************************/
  2037. function ProjectTheme_currency()
  2038. {
  2039. $c = trim(get_option('ProjectTheme_currency_symbol'));
  2040. if(empty($c)) return get_option('ProjectTheme_currency');
  2041. return $c;
  2042. }
  2043. /*************************************************************
  2044. *
  2045. * ProjectTheme (c) sitemile.com - function
  2046. *
  2047. **************************************************************/
  2048. function ProjectTheme_get_my_awarded_projects($uid)
  2049. {
  2050. $c = "<select name='projectss' onchange='on_proj_sel();' id='my_proj_sel'><option value='0'>".__('Select','ProjectTheme')."</option>";
  2051. global $wpdb;
  2052. $querystr = "
  2053. SELECT distinct wposts.*
  2054. FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta
  2055. WHERE wposts.post_author='$uid'
  2056. AND wposts.ID = wpostmeta.post_id
  2057. AND wpostmeta.meta_key = 'closed'
  2058. AND wpostmeta.meta_value = '1'
  2059. AND wposts.post_status = 'publish'
  2060. AND wposts.post_type = 'project'
  2061. ORDER BY wposts.post_date DESC";
  2062. //echo $querystr;
  2063. $r = $wpdb->get_results($querystr);
  2064. foreach($r as $row)
  2065. {
  2066. $pid = $row->ID;
  2067. $winner = get_post_meta($pid, "winner", true);
  2068. if(!empty($winner))
  2069. {
  2070. $c .= '<option value="'.$row->ID.'">'.$row->post_title.'</option>';
  2071. $i = 1;
  2072. }
  2073. }
  2074. //----------------------------
  2075. $querystr = "
  2076. SELECT distinct wposts.*
  2077. FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta
  2078. WHERE wposts.ID = wpostmeta.post_id
  2079. AND wpostmeta.meta_key = 'winner'
  2080. AND wpostmeta.meta_value = '$uid'
  2081. AND wposts.post_status = 'publish'
  2082. AND wposts.post_type = 'project'
  2083. ORDER BY wposts.post_date DESC ";
  2084. $r = $wpdb->get_results($querystr);
  2085. foreach($r as $row) // = mysql_fetch_object($r))
  2086. {
  2087. $pid = $row->ID;
  2088. $c .= '<option value="'.$row->ID.'">'.$row->post_title.'</option>';
  2089. $i = 1;
  2090. }
  2091. //-------------------------------
  2092. if($i == 1)
  2093. return $c.'</select>';
  2094. return false;
  2095. }
  2096. function ProjectTheme_get_my_awarded_projects3($uid)
  2097. {
  2098. $c = "<select name='projectss' id='my_proj_sel'><option value='0'>".__('Select','ProjectTheme')."</option>";
  2099. global $wpdb;
  2100. $querystr = "
  2101. SELECT distinct wposts.*
  2102. FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta , $wpdb->postmeta wpostmeta2
  2103. WHERE wposts.post_author='$uid'
  2104. AND wposts.ID = wpostmeta.post_id and wposts.ID = wpostmeta2.post_id
  2105. AND wpostmeta.meta_key = 'closed' AND wpostmeta2.meta_key = 'winner'
  2106. AND wpostmeta.meta_value = '1' and wpostmeta2.meta_value != ' '
  2107. AND wposts.post_status = 'publish'
  2108. AND wposts.post_type = 'project'
  2109. ORDER BY wposts.post_date DESC";
  2110. //echo $querystr;
  2111. $r = $wpdb->get_results($querystr);
  2112. foreach($r as $row)
  2113. {
  2114. $pid = $row->ID;
  2115. $winner = get_post_meta($pid, "winner", true);
  2116. if(!empty($winner))
  2117. {
  2118. $winner_usr = projectTheme_get_winner_bid($pid);
  2119. $winner_usr = get_userdata($winner_usr->uid);
  2120. $c .= '<option value="'.$row->ID.'">'.$row->post_title.' - '.$winner_usr->user_login.'</option>';
  2121. $i = 1;
  2122. }
  2123. }
  2124. //----------------------------
  2125. if($i == 1)
  2126. return $c.'</select>';
  2127. return false;
  2128. }
  2129. /*************************************************************
  2130. *
  2131. * ProjectTheme (c) sitemile.com - function
  2132. *
  2133. **************************************************************/
  2134. function ProjectTheme_get_payments_page_url($subpage = '', $id = '')
  2135. {
  2136. $opt = get_option('ProjectTheme_my_account_payments_id');
  2137. if(empty($subpage)) $subpage = "home";
  2138. $perm = ProjectTheme_using_permalinks();
  2139. if($perm) return get_permalink($opt). "?pg=".$subpage.(!empty($id) ? "&id=".$id : '');
  2140. return get_permalink($opt). "&pg=".$subpage.(!empty($id) ? "&id=".$id : '');
  2141. }
  2142. /*************************************************************
  2143. *
  2144. * ProjectTheme (c) sitemile.com - function
  2145. *
  2146. **************************************************************/
  2147. function ProjectTheme_get_payments_page_url_redir($subpage = '')
  2148. {
  2149. $opt = get_option('ProjectTheme_my_account_payments_id');
  2150. if(empty($subpage)) $subpage = "home";
  2151. $perm = ProjectTheme_using_permalinks();
  2152. $rdr = urlencode(PT_curPageURL());
  2153. if($perm) return get_permalink($opt). "?redir1=".$rdr."&pg=".$subpage.(!empty($id) ? "&id=".$id : '');
  2154. return get_permalink($opt). "&redir1=".$rdr."&pg=".$subpage.(!empty($id) ? "&id=".$id : '');
  2155. }
  2156. /*************************************************************
  2157. *
  2158. * ProjectTheme (c) sitemile.com - function
  2159. *
  2160. **************************************************************/
  2161. function ProjectTheme_get_pay4project_page_url($pid)
  2162. {
  2163. $opt = get_option('ProjectTheme_my_account_pay_for_project');
  2164. $perm = ProjectTheme_using_permalinks();
  2165. if($perm) return get_permalink($opt). "?pid=".$pid;
  2166. return get_permalink($opt). "&pid=".$pid;
  2167. }
  2168. /*************************************************************
  2169. *
  2170. * ProjectTheme (c) sitemile.com - function
  2171. *
  2172. **************************************************************/
  2173. function ProjectTheme_get_pay_with_credits_page_url($pid, $conf = '')
  2174. {
  2175. $opt = get_option('ProjectTheme_my_account_pay_with_credits');
  2176. $perm = ProjectTheme_using_permalinks();
  2177. if($perm) return get_permalink($opt). "?pid=".$pid.$conf;
  2178. return get_permalink($opt). "&pid=".$pid.$conf;
  2179. }
  2180. /*************************************************************
  2181. *
  2182. * ProjectTheme (c) sitemile.com - function
  2183. *
  2184. **************************************************************/
  2185. function ProjectTheme_get_priv_mess_page_url($subpage = '', $id = '', $addon = '')
  2186. {
  2187. $opt = get_option('ProjectTheme_my_account_private_messages_id');
  2188. if(empty($subpage)) $subpage = "home";
  2189. if($subpage == "delete-message")
  2190. {
  2191. if(!empty($_GET['rdr'])) $rdr = urlencode($_GET['rdr']);
  2192. else $rdr = urlencode(PT_curPageURL());
  2193. }
  2194. $perm = ProjectTheme_using_permalinks();
  2195. if($perm) return get_permalink($opt). "?rdr=".$rdr."&pg=".$subpage.(!empty($id) ? "&id=".$id : '').$addon;
  2196. return get_permalink($opt). "&rdr=".$rdr."&pg=".$subpage.(!empty($id) ? "&id=".$id : '').$addon;
  2197. }
  2198. /*************************************************************
  2199. *
  2200. * ProjectTheme (c) sitemile.com - function
  2201. *
  2202. **************************************************************/
  2203. function ProjectTheme_display_advanced_search_disp_page($content = '')
  2204. {
  2205. if ( preg_match( "/\[project_theme_advanced_search\]/", $content ) )
  2206. {
  2207. ob_start();
  2208. ProjectTheme_advanced_search_area_main_function();
  2209. $output = ob_get_contents();
  2210. ob_end_clean();
  2211. $output = str_replace( '$', '\$', $output );
  2212. return preg_replace( "/(<p>)*\[project_theme_advanced_search\](<\/p>)*/", $output, $content );
  2213. }
  2214. else {
  2215. return $content;
  2216. }
  2217. }
  2218. /*************************************************************
  2219. *
  2220. * ProjectTheme (c) sitemile.com - function
  2221. *
  2222. **************************************************************/
  2223. function ProjectTheme_display_provider_search_disp_page($content = '')
  2224. {
  2225. if ( preg_match( "/\[project_theme_provider_search\]/", $content ) )
  2226. {
  2227. ob_start();
  2228. ProjectTheme_display_provider_search_page_disp();
  2229. $output = ob_get_contents();
  2230. ob_end_clean();
  2231. $output = str_replace( '$', '\$', $output );
  2232. return preg_replace( "/(<p>)*\[project_theme_provider_search\](<\/p>)*/", $output, $content );
  2233. }
  2234. else {
  2235. return $content;
  2236. }
  2237. }
  2238. /*************************************************************
  2239. *
  2240. * ProjectTheme (c) sitemile.com - function
  2241. *
  2242. **************************************************************/
  2243. function ProjectTheme_display_latest_closed_projects_page($content = '')
  2244. {
  2245. if ( preg_match( "/\[project_theme_recently_closed_projects\]/", $content ) )
  2246. {
  2247. ob_start();
  2248. ProjectTheme_display_recently_closed_page_disp();
  2249. $output = ob_get_contents();
  2250. ob_end_clean();
  2251. $output = str_replace( '$', '\$', $output );
  2252. return preg_replace( "/(<p>)*\[project_theme_recently_closed_projects\](<\/p>)*/", $output, $content );
  2253. }
  2254. else {
  2255. return $content;
  2256. }
  2257. }
  2258. /*************************************************************
  2259. *
  2260. * ProjectTheme (c) sitemile.com - function
  2261. *
  2262. **************************************************************/
  2263. function ProjectTheme_display_blog_content_page($content = '')
  2264. {
  2265. if ( preg_match( "/\[project_theme_all_blog_posts\]/", $content ) )
  2266. {
  2267. ob_start();
  2268. ProjectTheme_display_blog_page_disp();
  2269. $output = ob_get_contents();
  2270. ob_end_clean();
  2271. $output = str_replace( '$', '\$', $output );
  2272. return preg_replace( "/(<p>)*\[project_theme_all_blog_posts\](<\/p>)*/", $output, $content );
  2273. }
  2274. else {
  2275. return $content;
  2276. }
  2277. }
  2278. /*************************************************************
  2279. *
  2280. * ProjectTheme (c) sitemile.com - function
  2281. *
  2282. **************************************************************/
  2283. function project_get_field_tp($nr)
  2284. {
  2285. if($nr == "1") return "Text field";
  2286. if($nr == "2") return "Select box";
  2287. if($nr == "3") return "Radio Buttons";
  2288. if($nr == "4") return "Check-box";
  2289. if($nr == "5") return "Large text-area";
  2290. if($nr == "6") return "HTML Box";
  2291. }
  2292. /*************************************************************
  2293. *
  2294. * ProjectTheme (c) sitemile.com - function
  2295. *
  2296. **************************************************************/
  2297. function ProjectTheme_display_all_locations_page( $content = '' )
  2298. {
  2299. if ( preg_match( "/\[project_theme_all_locations\]/", $content ) )
  2300. {
  2301. ob_start();
  2302. ProjectTheme_all_locations_area_main_function();
  2303. $output = ob_get_contents();
  2304. ob_end_clean();
  2305. $output = str_replace( '$', '\$', $output );
  2306. return preg_replace( "/(<p>)*\[project_theme_all_locations\](<\/p>)*/", $output, $content );
  2307. }
  2308. else {
  2309. return $content;
  2310. }
  2311. }
  2312. /*************************************************************
  2313. *
  2314. * ProjectTheme (c) sitemile.com - function
  2315. *
  2316. **************************************************************/
  2317. function ProjectTheme_display_all_categories_page( $content = '' )
  2318. {
  2319. if ( preg_match( "/\[project_theme_all_categories\]/", $content ) )
  2320. {
  2321. ob_start();
  2322. ProjectTheme_all_categories_area_main_function();
  2323. $output = ob_get_contents();
  2324. ob_end_clean();
  2325. $output = str_replace( '$', '\$', $output );
  2326. return preg_replace( "/(<p>)*\[project_theme_all_categories\](<\/p>)*/", $output, $content );
  2327. }
  2328. else {
  2329. return $content;
  2330. }
  2331. }
  2332. /*************************************************************
  2333. *
  2334. * ProjectTheme (c) sitemile.com - function
  2335. *
  2336. **************************************************************/
  2337. function ProjectTheme_display_all_projects_page( $content = '' )
  2338. {
  2339. if ( preg_match( "/\[project_theme_all_projects\]/", $content ) )
  2340. {
  2341. ob_start();
  2342. ProjectTheme_display_all_prjs_page_disp();
  2343. $output = ob_get_contents();
  2344. ob_end_clean();
  2345. $output = str_replace( '$', '\$', $output );
  2346. return preg_replace( "/(<p>)*\[project_theme_all_projects\](<\/p>)*/", $output, $content );
  2347. }
  2348. else {
  2349. return $content;
  2350. }
  2351. }
  2352. /*************************************************************
  2353. *
  2354. * ProjectTheme (c) sitemile.com - function
  2355. *
  2356. **************************************************************/
  2357. function ProjectTheme_display_my_account_awaiting_payments_page( $content = '' )
  2358. {
  2359. if ( preg_match( "/\[project_theme_my_account_awaiting_payments\]/", $content ) )
  2360. {
  2361. ob_start();
  2362. ProjectTheme_my_account_area_awaiting_payments_function();
  2363. $output = ob_get_contents();
  2364. ob_end_clean();
  2365. $output = str_replace( '$', '\$', $output );
  2366. return preg_replace( "/(<p>)*\[project_theme_my_account_awaiting_payments\](<\/p>)*/", $output, $content );
  2367. }
  2368. else {
  2369. return $content;
  2370. }
  2371. }
  2372. function ProjectTheme_display_my_account_awaiting_completion_page( $content = '' )
  2373. {
  2374. if ( preg_match( "/\[project_theme_my_account_awaiting_completion\]/", $content ) )
  2375. {
  2376. ob_start();
  2377. ProjectTheme_my_account_area_awaiting_completion_function();
  2378. $output = ob_get_contents();
  2379. ob_end_clean();
  2380. $output = str_replace( '$', '\$', $output );
  2381. return preg_replace( "/(<p>)*\[project_theme_my_account_awaiting_completion\](<\/p>)*/", $output, $content );
  2382. }
  2383. else {
  2384. return $content;
  2385. }
  2386. }
  2387. function ProjectTheme_display_my_account_page( $content = '' )
  2388. {
  2389. if ( preg_match( "/\[project_theme_my_account_home\]/", $content ) )
  2390. {
  2391. ob_start();
  2392. ProjectTheme_my_account_area_main_function();
  2393. $output = ob_get_contents();
  2394. ob_end_clean();
  2395. $output = str_replace( '$', '\$', $output );
  2396. return preg_replace( "/(<p>)*\[project_theme_my_account_home\](<\/p>)*/", $output, $content );
  2397. }
  2398. else {
  2399. return $content;
  2400. }
  2401. }
  2402. /*************************************************************
  2403. *
  2404. * ProjectTheme (c) sitemile.com - function
  2405. *
  2406. **************************************************************/
  2407. function ProjectTheme_display_my_account_personal_info( $content = '' )
  2408. {
  2409. if ( preg_match( "/\[project_theme_my_account_personal_info\]/", $content ) )
  2410. {
  2411. ob_start();
  2412. ProjectTheme_my_account_personal_info_function();
  2413. $output = ob_get_contents();
  2414. ob_end_clean();
  2415. $output = str_replace( '$', '\$', $output );
  2416. return preg_replace( "/(<p>)*\[project_theme_my_account_personal_info\](<\/p>)*/", $output, $content );
  2417. }
  2418. else {
  2419. return $content;
  2420. }
  2421. }
  2422. /*************************************************************
  2423. *
  2424. * ProjectTheme (c) sitemile.com - function
  2425. *
  2426. **************************************************************/
  2427. function ProjectTheme_display_my_account_pay_for_project( $content = '' )
  2428. {
  2429. if ( preg_match( "/\[project_theme_my_account_pay_for_project\]/", $content ) )
  2430. {
  2431. ob_start();
  2432. ProjectTheme_my_account_pay4project_area_function();
  2433. $output = ob_get_contents();
  2434. ob_end_clean();
  2435. $output = str_replace( '$', '\$', $output );
  2436. return preg_replace( "/(<p>)*\[project_theme_my_account_pay_for_project\](<\/p>)*/", $output, $content );
  2437. }
  2438. else {
  2439. return $content;
  2440. }
  2441. }
  2442. function ProjectTheme_display_my_account_pay_with_credits( $content = '' )
  2443. {
  2444. if ( preg_match( "/\[project_theme_my_account_pay_with_credits\]/", $content ) )
  2445. {
  2446. ob_start();
  2447. ProjectTheme_my_account_pay_with_credits_area_function();
  2448. $output = ob_get_contents();
  2449. ob_end_clean();
  2450. $output = str_replace( '$', '\$', $output );
  2451. return preg_replace( "/(<p>)*\[project_theme_my_account_pay_with_credits\](<\/p>)*/", $output, $content );
  2452. }
  2453. else {
  2454. return $content;
  2455. }
  2456. }
  2457. /*************************************************************
  2458. *
  2459. * ProjectTheme (c) sitemile.com - function
  2460. *
  2461. **************************************************************/
  2462. function ProjectTheme_display_my_account_completed_projects( $content = '' )
  2463. {
  2464. if ( preg_match( "/\[project_theme_my_account_completed_projects\]/", $content ) )
  2465. {
  2466. ob_start();
  2467. ProjectTheme_my_account_completed_projects_area_function();
  2468. $output = ob_get_contents();
  2469. ob_end_clean();
  2470. $output = str_replace( '$', '\$', $output );
  2471. return preg_replace( "/(<p>)*\[project_theme_my_account_completed_projects\](<\/p>)*/", $output, $content );
  2472. }
  2473. else {
  2474. return $content;
  2475. }
  2476. }
  2477. /*************************************************************
  2478. *
  2479. * ProjectTheme (c) sitemile.com - function
  2480. *
  2481. **************************************************************/
  2482. function ProjectTheme_display_my_account_closed_projects( $content = '' )
  2483. {
  2484. if ( preg_match( "/\[project_theme_my_account_closed_projects\]/", $content ) )
  2485. {
  2486. ob_start();
  2487. ProjectTheme_my_account_closed_projects_area_function();
  2488. $output = ob_get_contents();
  2489. ob_end_clean();
  2490. $output = str_replace( '$', '\$', $output );
  2491. return preg_replace( "/(<p>)*\[project_theme_my_account_closed_projects\](<\/p>)*/", $output, $content );
  2492. }
  2493. else {
  2494. return $content;
  2495. }
  2496. }
  2497. /*************************************************************
  2498. *
  2499. * ProjectTheme (c) sitemile.com - function
  2500. *
  2501. **************************************************************/
  2502. function ProjectTheme_display_my_account_won_projects( $content = '' )
  2503. {
  2504. if ( preg_match( "/\[project_theme_my_account_won_projects\]/", $content ) )
  2505. {
  2506. ob_start();
  2507. ProjectTheme_my_account_won_projects_area_function();
  2508. $output = ob_get_contents();
  2509. ob_end_clean();
  2510. $output = str_replace( '$', '\$', $output );
  2511. return preg_replace( "/(<p>)*\[project_theme_my_account_won_projects\](<\/p>)*/", $output, $content );
  2512. }
  2513. else {
  2514. return $content;
  2515. }
  2516. }
  2517. /*************************************************************
  2518. *
  2519. * ProjectTheme (c) sitemile.com - function
  2520. *
  2521. **************************************************************/
  2522. function ProjectTheme_display_my_account_outstanding_payments( $content = '' )
  2523. {
  2524. if ( preg_match( "/\[project_theme_my_account_outstanding_payments\]/", $content ) )
  2525. {
  2526. ob_start();
  2527. ProjectTheme_my_account_outstanding_payments_area_function();
  2528. $output = ob_get_contents();
  2529. ob_end_clean();
  2530. $output = str_replace( '$', '\$', $output );
  2531. return preg_replace( "/(<p>)*\[project_theme_my_account_outstanding_payments\](<\/p>)*/", $output, $content );
  2532. }
  2533. else {
  2534. return $content;
  2535. }
  2536. }
  2537. /*************************************************************
  2538. *
  2539. * ProjectTheme (c) sitemile.com - function
  2540. *
  2541. **************************************************************/
  2542. function ProjectTheme_display_my_account_outstanding_projects( $content = '' )
  2543. {
  2544. if ( preg_match( "/\[project_theme_my_account_outstanding_projects\]/", $content ) )
  2545. {
  2546. ob_start();
  2547. ProjectTheme_my_account_outstanding_projects_area_function();
  2548. $output = ob_get_contents();
  2549. ob_end_clean();
  2550. $output = str_replace( '$', '\$', $output );
  2551. return preg_replace( "/(<p>)*\[project_theme_my_account_outstanding_projects\](<\/p>)*/", $output, $content );
  2552. }
  2553. else {
  2554. return $content;
  2555. }
  2556. }
  2557. function ProjectTheme_display_my_account_delivered_projects( $content = '' )
  2558. {
  2559. if ( preg_match( "/\[project_theme_my_account_delivered_projects\]/", $content ) )
  2560. {
  2561. ob_start();
  2562. ProjectTheme_my_account_delivered_projects_area_function();
  2563. $output = ob_get_contents();
  2564. ob_end_clean();
  2565. $output = str_replace( '$', '\$', $output );
  2566. return preg_replace( "/(<p>)*\[project_theme_my_account_delivered_projects\](<\/p>)*/", $output, $content );
  2567. }
  2568. else {
  2569. return $content;
  2570. }
  2571. }
  2572. function ProjectTheme_display_my_account_bid_projects( $content = '' )
  2573. {
  2574. if ( preg_match( "/\[project_theme_my_account_bid_projects\]/", $content ) )
  2575. {
  2576. ob_start();
  2577. ProjectTheme_my_account_bid_projects_area_function();
  2578. $output = ob_get_contents();
  2579. ob_end_clean();
  2580. $output = str_replace( '$', '\$', $output );
  2581. return preg_replace( "/(<p>)*\[project_theme_my_account_bid_projects\](<\/p>)*/", $output, $content );
  2582. }
  2583. else {
  2584. return $content;
  2585. }
  2586. }
  2587. /*************************************************************
  2588. *
  2589. * ProjectTheme (c) sitemile.com - function
  2590. *
  2591. **************************************************************/
  2592. function ProjectTheme_display_my_account_active_projects( $content = '' )
  2593. {
  2594. if ( preg_match( "/\[project_theme_my_account_active_projects\]/", $content ) )
  2595. {
  2596. ob_start();
  2597. ProjectTheme_my_account_active_projects_area_function();
  2598. $output = ob_get_contents();
  2599. ob_end_clean();
  2600. $output = str_replace( '$', '\$', $output );
  2601. return preg_replace( "/(<p>)*\[project_theme_my_account_active_projects\](<\/p>)*/", $output, $content );
  2602. }
  2603. else {
  2604. return $content;
  2605. }
  2606. }
  2607. /*************************************************************
  2608. *
  2609. * ProjectTheme (c) sitemile.com - function
  2610. *
  2611. **************************************************************/
  2612. function ProjectTheme_display_my_account_unpublished_projects( $content = '' )
  2613. {
  2614. if ( preg_match( "/\[project_theme_my_account_unpublish_projects\]/", $content ) )
  2615. {
  2616. ob_start();
  2617. ProjectTheme_my_account_unpublished_projects_area_function();
  2618. $output = ob_get_contents();
  2619. ob_end_clean();
  2620. $output = str_replace( '$', '\$', $output );
  2621. return preg_replace( "/(<p>)*\[project_theme_my_account_unpublish_projects\](<\/p>)*/", $output, $content );
  2622. }
  2623. else {
  2624. return $content;
  2625. }
  2626. }
  2627. /*************************************************************
  2628. *
  2629. * ProjectTheme (c) sitemile.com - function
  2630. *
  2631. **************************************************************/
  2632. function ProjectTheme_display_my_account_payments( $content = '' )
  2633. {
  2634. if ( preg_match( "/\[project_theme_my_account_payments\]/", $content ) )
  2635. {
  2636. ob_start();
  2637. ProjectTheme_my_account_payments_area_function();
  2638. $output = ob_get_contents();
  2639. ob_end_clean();
  2640. $output = str_replace( '$', '\$', $output );
  2641. return preg_replace( "/(<p>)*\[project_theme_my_account_payments\](<\/p>)*/", $output, $content );
  2642. }
  2643. else {
  2644. return $content;
  2645. }
  2646. }
  2647. /*************************************************************
  2648. *
  2649. * ProjectTheme (c) sitemile.com - function
  2650. *
  2651. **************************************************************/
  2652. function ProjectTheme_display_my_account_private_messages( $content = '' )
  2653. {
  2654. if ( preg_match( "/\[project_theme_my_account_private_messages\]/", $content ) )
  2655. {
  2656. ob_start();
  2657. ProjectTheme_my_account_private_messages_area_function();
  2658. $output = ob_get_contents();
  2659. ob_end_clean();
  2660. $output = str_replace( '$', '\$', $output );
  2661. return preg_replace( "/(<p>)*\[project_theme_my_account_private_messages\](<\/p>)*/", $output, $content );
  2662. }
  2663. else {
  2664. return $content;
  2665. }
  2666. }
  2667. /*************************************************************
  2668. *
  2669. * ProjectTheme (c) sitemile.com - function
  2670. *
  2671. **************************************************************/
  2672. function ProjectTheme_display_my_account_feedbacks( $content = '' )
  2673. {
  2674. if ( preg_match( "/\[project_theme_my_account_feedback\]/", $content ) )
  2675. {
  2676. ob_start();
  2677. ProjectTheme_my_account_feedbacks_area_function();
  2678. $output = ob_get_contents();
  2679. ob_end_clean();
  2680. $output = str_replace( '$', '\$', $output );
  2681. return preg_replace( "/(<p>)*\[project_theme_my_account_feedback\](<\/p>)*/", $output, $content );
  2682. }
  2683. else {
  2684. return $content;
  2685. }
  2686. }
  2687. /*************************************************************
  2688. *
  2689. * ProjectTheme (c) sitemile.com - function
  2690. *
  2691. **************************************************************/
  2692. function ProjectTheme_display_post_new_pg( $content = '' )
  2693. {
  2694. if ( preg_match( "/\[project_theme_post_new\]/", $content ) )
  2695. {
  2696. ob_start();
  2697. ProjectTheme_post_new_area_function();
  2698. $output = ob_get_contents();
  2699. ob_end_clean();
  2700. $output = str_replace( '$', '\$', $output );
  2701. return preg_replace( "/(<p>)*\[project_theme_post_new\](<\/p>)*/", $output, $content );
  2702. }
  2703. else {
  2704. return $content;
  2705. }
  2706. }
  2707. /*************************************************************
  2708. *
  2709. * ProjectTheme (c) sitemile.com - function
  2710. *
  2711. **************************************************************/
  2712. function projectTheme_update_credits($uid,$am)
  2713. {
  2714. update_user_meta($uid,'credits',$am);
  2715. }
  2716. /*************************************************************
  2717. *
  2718. * ProjectTheme (c) sitemile.com - function
  2719. *
  2720. **************************************************************/
  2721. function ProjectTheme_get_listing_normal($pid = '')
  2722. {
  2723. }
  2724. /*************************************************************
  2725. *
  2726. * ProjectTheme (c) sitemile.com - function
  2727. *
  2728. **************************************************************/
  2729. function projectTheme_get_unread_number_messages($uid)
  2730. {
  2731. global $wpdb;
  2732. $s = "select * from ".$wpdb->prefix."project_pm where user='$uid' and rd='0' AND show_to_destination='1'";
  2733. $r = $wpdb->get_results($s);
  2734. return count($r);
  2735. }
  2736. /*************************************************************
  2737. *
  2738. * ProjectTheme (c) sitemile.com - function
  2739. *
  2740. **************************************************************/
  2741. function ProjectTheme_check_if_page_existed($pid)
  2742. {
  2743. global $wpdb;
  2744. $s = "select * from ".$wpdb->prefix."posts where post_type='page' AND post_status='publish' AND ID='$pid'";
  2745. $r = $wpdb->get_results($s);
  2746. if(count($r) > 0) return true;
  2747. return false;
  2748. }
  2749. /*************************************************************
  2750. *
  2751. * ProjectTheme (c) sitemile.com - function
  2752. *
  2753. **************************************************************/
  2754. function ProjectTheme_insert_pages($page_ids, $page_title, $page_tag, $parent_pg = 0 )
  2755. {
  2756. $opt = get_option($page_ids);
  2757. if(!ProjectTheme_check_if_page_existed($opt))
  2758. {
  2759. $post = array(
  2760. 'post_title' => $page_title,
  2761. 'post_content' => $page_tag,
  2762. 'post_status' => 'publish',
  2763. 'post_type' => 'page',
  2764. 'post_author' => 1,
  2765. 'ping_status' => 'closed',
  2766. 'post_parent' => $parent_pg);
  2767. $post_id = wp_insert_post($post);
  2768. update_post_meta($post_id, '_wp_page_template', 'project-special-page-template.php');
  2769. update_option($page_ids, $post_id);
  2770. }
  2771. }
  2772. /*************************************************************
  2773. *
  2774. * ProjectTheme (c) sitemile.com - function
  2775. *
  2776. **************************************************************/
  2777. function ProjectTheme_admin_style_sheet()
  2778. {
  2779. wp_enqueue_script("jquery-ui-widget");
  2780. wp_enqueue_script("jquery-ui-mouse");
  2781. wp_enqueue_script("jquery-ui-tabs");
  2782. wp_enqueue_script("jquery-ui-datepicker");
  2783. ?>
  2784. <script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.2/jquery-ui.min.js"></script>
  2785. <link rel="stylesheet" href="<?php echo get_bloginfo('template_url'); ?>/css/tipTip.css" type="text/css" />
  2786. <link rel="stylesheet" href="<?php echo get_bloginfo('template_url'); ?>/css/admin.css" type="text/css" />
  2787. <link rel="stylesheet" href="<?php bloginfo('template_url'); ?>/css/colorpicker.css" type="text/css" />
  2788. <link rel="stylesheet" media="screen" type="text/css" href="<?php bloginfo('template_url'); ?>/css/layout.css" />
  2789. <link type="text/css" href="<?php bloginfo('template_url'); ?>/css/jquery-ui-1.8.16.custom.css" rel="stylesheet" />
  2790. <script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/jquery_tip.js"></script>
  2791. <script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/idtabs.js"></script>
  2792. <script type="text/javascript">
  2793. var $ = jQuery;
  2794. jQuery(function() {
  2795. //jQuery( document ).tooltip();
  2796. });
  2797. <?php
  2798. $tb = "tabs1";
  2799. if(isset($_GET['active_tab'])) $tb = $_GET['active_tab'];
  2800. ?>
  2801. jQuery(document).ready(function() {
  2802. jQuery("#usual2 ul").idTabs("<?php echo $tb; ?>");
  2803. jQuery(".tltp_cls").tipTip({maxWidth: "330"});
  2804. });
  2805. var SITE_URL = '<?php bloginfo('siteurl'); ?>';
  2806. var SITE_CURRENCY = '<?php echo ProjectTheme_currency(); ?>';
  2807. </script>
  2808. <script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/colorpicker.js"></script>
  2809. <script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/eye.js"></script>
  2810. <script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/utils.js"></script>
  2811. <script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/layout.js?ver=1.0.2"></script>
  2812. <script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/admin.js"></script>
  2813. <?php
  2814. }
  2815. /*************************************************************
  2816. *
  2817. * ProjectTheme (c) sitemile.com - function
  2818. *
  2819. **************************************************************/
  2820. function ProjectTheme_get_option_drop_down($arr, $name)
  2821. {
  2822. $r = '<select name="'.$name.'">';
  2823. foreach ($arr as $key => $value)
  2824. {
  2825. $r .= '<option value="'.$key.'" '.(get_option($name) == $key ? ' selected="selected" ' : "" ).'>'.$value.'</option>';
  2826. }
  2827. return $r.'</select>';
  2828. }
  2829. /*************************************************************
  2830. *
  2831. * ProjectTheme (c) sitemile.com - function
  2832. *
  2833. **************************************************************/
  2834. function ProjectTheme_generate_thumb($img_url, $width, $height, $cut = true)
  2835. {
  2836. require_once(ABSPATH . '/wp-admin/includes/image.php');
  2837. $uploads = wp_upload_dir();
  2838. $basedir = $uploads['basedir'].'/';
  2839. $exp = explode('/',$img_url);
  2840. $nr = count($exp);
  2841. $pic = $exp[$nr-1];
  2842. $year = $exp[$nr-3];
  2843. $month = $exp[$nr-2];
  2844. if($uploads['basedir'] == $uploads['path'])
  2845. {
  2846. $img_url = $basedir.'/'.$pic;
  2847. $ba = $basedir.'/';
  2848. $iii = $uploads['url'];
  2849. }
  2850. else
  2851. {
  2852. $img_url = $basedir.$year.'/'.$month.'/'.$pic;
  2853. $ba = $basedir.$year.'/'.$month.'/';
  2854. $iii = $uploads['baseurl']."/".$year."/".$month;
  2855. }
  2856. list($width1, $height1, $type1, $attr1) = getimagesize($img_url);
  2857. //return $height;
  2858. $a = false;
  2859. if($width == -1)
  2860. {
  2861. $a = true;
  2862. }
  2863. if($width > $width1) $width = $width1-1;
  2864. if($height > $height1) $height = $height1-1;
  2865. if($a == true)
  2866. {
  2867. $prop = $width1 / $height1;
  2868. $width = round($prop * $height);
  2869. }
  2870. $width = $width-1;
  2871. $height = $height-1;
  2872. $xxo = "-".$width."x".$height;
  2873. $exp = explode(".", $pic);
  2874. $new_name = $exp[0].$xxo.".".$exp[1];
  2875. $tgh = str_replace("//","/",$ba.$new_name);
  2876. if(file_exists($tgh)) return $iii."/".$new_name;
  2877. $thumb = image_resize($img_url,$width,$height,$cut);
  2878. if(is_wp_error($thumb)) return "is-wp-error";
  2879. $exp = explode($basedir, $thumb);
  2880. return $uploads['baseurl']."/".$exp[1];
  2881. }
  2882. /*************************************************************
  2883. *
  2884. * ProjectTheme (c) sitemile.com - function
  2885. *
  2886. **************************************************************/
  2887. function ProjectTheme_get_first_post_image($pid, $w = 100, $h = 100)
  2888. {
  2889. $img = ProjectTheme_get_first_post_image_fnc($pid, $w, $h);
  2890. $img = apply_filters('ProjectTheme_get_first_post_image_filter', $img, $pid, $w, $h);
  2891. return $img;
  2892. }
  2893. function ProjectTheme_get_first_post_image_fnc($pid, $w = 100, $h = 100)
  2894. {
  2895. //---------------------
  2896. // build the exclude list
  2897. $exclude = array();
  2898. $args = array(
  2899. 'order' => 'ASC',
  2900. 'post_type' => 'attachment',
  2901. 'post_parent' => $pid,
  2902. 'meta_key' => 'another_reserved1',
  2903. 'meta_value' => '1',
  2904. 'numberposts' => -1,
  2905. 'post_status' => null,
  2906. );
  2907. $attachments = get_posts($args);
  2908. if ($attachments) {
  2909. foreach ($attachments as $attachment) {
  2910. $url = $attachment->ID;
  2911. array_push($exclude, $url);
  2912. }
  2913. }
  2914. //-----------------
  2915. $args = array(
  2916. 'order' => 'ASC',
  2917. 'orderby' => 'post_date',
  2918. 'post_type' => 'attachment',
  2919. 'post_parent' => $pid,
  2920. 'exclude' => $exclude,
  2921. 'post_mime_type' => 'image',
  2922. 'post_status' => null,
  2923. 'numberposts' => 1,
  2924. );
  2925. $attachments = get_posts($args);
  2926. if ($attachments) {
  2927. foreach ($attachments as $attachment)
  2928. {
  2929. $url = wp_get_attachment_url($attachment->ID);
  2930. return ProjectTheme_generate_thumb($url, $w, $h);
  2931. }
  2932. }
  2933. else return get_bloginfo('template_url').'/images/nopic.jpg';
  2934. }
  2935. /*************************************************************
  2936. *
  2937. * ProjectTheme (c) sitemile.com - function
  2938. *
  2939. **************************************************************/
  2940. function ProjectTheme_is_owner_of_post()
  2941. {
  2942. if(!is_user_logged_in())
  2943. return false;
  2944. global $current_user;
  2945. get_currentuserinfo();
  2946. $post = get_post(get_the_ID());
  2947. if($post->post_author == $current_user->ID) return true;
  2948. return false;
  2949. }
  2950. function PT_curPageURL() {
  2951. $pageURL = 'http';
  2952. if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
  2953. $pageURL .= "://";
  2954. if ($_SERVER["SERVER_PORT"] != "80") {
  2955. $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
  2956. } else {
  2957. $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
  2958. }
  2959. return $pageURL;
  2960. }
  2961. /*************************************************************
  2962. *
  2963. * ProjectTheme (c) sitemile.com - function
  2964. *
  2965. **************************************************************/
  2966. function ProjectTheme_get_show_price($price, $cents = 2)
  2967. {
  2968. $ProjectTheme_currency_position = get_option('ProjectTheme_currency_position');
  2969. if($ProjectTheme_currency_position == "front") return ProjectTheme_get_currency()."".ProjectTheme_formats($price, $cents);
  2970. return ProjectTheme_formats($price,$cents)."".ProjectTheme_get_currency();
  2971. }
  2972. /*************************************************************
  2973. *
  2974. * ProjectTheme (c) sitemile.com - function
  2975. *
  2976. **************************************************************/
  2977. function ProjectTheme_formats($number, $cents = 1) { // cents: 0=never, 1=if needed, 2=always
  2978. $dec_sep = get_option('ProjectTheme_decimal_sum_separator');
  2979. if(empty($dec_sep)) $dec_sep = '.';
  2980. $tho_sep = get_option('ProjectTheme_thousands_sum_separator');
  2981. if(empty($tho_sep)) $tho_sep = ',';
  2982. //dec,thou
  2983. if (is_numeric($number)) { // a number
  2984. if (!$number) { // zero
  2985. $money = ($cents == 2 ? '0'.$dec_sep.'00' : '0'); // output zero
  2986. } else { // value
  2987. if (floor($number) == $number) { // whole number
  2988. $money = number_format($number, ($cents == 2 ? 2 : 0), $dec_sep, $tho_sep ); // format
  2989. } else { // cents
  2990. $money = number_format(round($number, 2), ($cents == 0 ? 0 : 2), $dec_sep, $tho_sep ); // format
  2991. } // integer or decimal
  2992. } // value
  2993. return $money;
  2994. } // numeric
  2995. } // formatMoney
  2996. /*************************************************************
  2997. *
  2998. * ProjectTheme (c) sitemile.com - function
  2999. *
  3000. **************************************************************/
  3001. function ProjectTheme_formats_special($number, $cents = 1) { // cents: 0=never, 1=if needed, 2=always
  3002. $dec_sep = '.';
  3003. $tho_sep = ',';
  3004. //dec,thou
  3005. if (is_numeric($number)) { // a number
  3006. if (!$number) { // zero
  3007. $money = ($cents == 2 ? '0'.$dec_sep.'00' : '0'); // output zero
  3008. } else { // value
  3009. if (floor($number) == $number) { // whole number
  3010. $money = number_format($number, ($cents == 2 ? 2 : 0), $dec_sep, '' ); // format
  3011. } else { // cents
  3012. $money = number_format(round($number, 2), ($cents == 0 ? 0 : 2), $dec_sep, '' ); // format
  3013. } // integer or decimal
  3014. } // value
  3015. return $money;
  3016. } // numeric
  3017. } // formatMoney
  3018. /*************************************************************
  3019. *
  3020. * ProjectTheme (c) sitemile.com - function
  3021. *
  3022. **************************************************************/
  3023. function projectTheme_get_total_number_of_created_Projects($uid)
  3024. {
  3025. global $wpdb;
  3026. $s = "select distinct ID from ".$wpdb->prefix."posts where post_author='$uid' AND post_type='project' and post_status='publish'";
  3027. $r = $wpdb->get_results($s);
  3028. return count($r);
  3029. }
  3030. /*************************************************************
  3031. *
  3032. * ProjectTheme (c) sitemile.com - function
  3033. *
  3034. **************************************************************/
  3035. function projectTheme_get_total_number_of_closed_Projects($uid)
  3036. {
  3037. global $wpdb;
  3038. $s = "
  3039. SELECT distinct wposts.ID
  3040. FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta
  3041. WHERE wposts.ID = wpostmeta.post_id AND
  3042. wpostmeta.meta_key='closed' AND wpostmeta.meta_value='1'
  3043. AND wposts.post_status = 'publish'
  3044. AND wposts.post_type = 'project' AND wposts.post_author = '$uid'
  3045. ORDER BY wposts.post_date ";
  3046. $r = $wpdb->get_results($s);
  3047. return count($r);
  3048. }
  3049. /*************************************************************
  3050. *
  3051. * ProjectTheme (c) sitemile.com - function
  3052. *
  3053. **************************************************************/
  3054. function projectTheme_get_total_number_of_rated_Projects($uid)
  3055. {
  3056. global $wpdb;
  3057. $s = "SELECT distinct id FROM ".$wpdb->prefix."project_ratings where fromuser='$uid' AND awarded='1' ";
  3058. $r = $wpdb->get_results($s);
  3059. return count($r);
  3060. }
  3061. /*************************************************************
  3062. *
  3063. * ProjectTheme (c) sitemile.com - function
  3064. *
  3065. **************************************************************/
  3066. function projectTheme_number_of_bid($pid)
  3067. {
  3068. global $wpdb;
  3069. $s = "select bid from ".$wpdb->prefix."project_bids where pid='$pid'";
  3070. $r = $wpdb->get_results($s);
  3071. return count($r);
  3072. }
  3073. /*************************************************************
  3074. *
  3075. * ProjectTheme (c) sitemile.com - function
  3076. *
  3077. **************************************************************/
  3078. function ProjectTheme_get_project_fields_values($pid)
  3079. {
  3080. $cat = wp_get_object_terms($pid, 'project_cat');
  3081. $catid = $cat[0]->term_id ;
  3082. global $wpdb;
  3083. $s = "select * from ".$wpdb->prefix."project_custom_fields where tp!='6' order by ordr asc "; //where cate='all' OR cate like '%|$catid|%' order by ordr asc";
  3084. $r = $wpdb->get_results($s);
  3085. $arr = array();
  3086. $i = 0;
  3087. foreach($r as $row) // = mysql_fetch_object($r))
  3088. {
  3089. $pmeta = get_post_meta($pid, "custom_field_ID_".$row->id);
  3090. if(!empty($pmeta) && count($pmeta) > 0)
  3091. {
  3092. $arr[$i]['field_name'] = $row->name;
  3093. if(is_array($pmeta))
  3094. {
  3095. $arr[$i]['field_name'] = $row->name;
  3096. for($k=0;$k<count($pmeta);$k++)
  3097. $arr[$i]['field_value'] .= $pmeta[$k].'<br />';
  3098. $i++;
  3099. }
  3100. else
  3101. {
  3102. if(!empty($pmeta))
  3103. {
  3104. $arr[$i]['field_name'] = $row->name;
  3105. $arr[$i]['field_value'] = $pmeta;
  3106. $i++;
  3107. }
  3108. }
  3109. }
  3110. }
  3111. return $arr;
  3112. }
  3113. function ProjectTheme_get_user_fields_values($pid)
  3114. {
  3115. global $wpdb;
  3116. $s = "select * from ".$wpdb->prefix."project_user_custom_fields "; //where cate='all' OR cate like '%|$catid|%' order by ordr asc";
  3117. $r = $wpdb->get_results($s);
  3118. $arr = array();
  3119. $i = 0;
  3120. foreach($r as $row) // = mysql_fetch_object($r))
  3121. {
  3122. $pmeta = get_user_meta($pid, "custom_field_ID_".$row->id);
  3123. if(!empty($pmeta) && count($pmeta) > 0)
  3124. {
  3125. $arr[$i]['field_name'] = $row->name;
  3126. if(is_array($pmeta))
  3127. {
  3128. $arr[$i]['field_name'] = $row->name;
  3129. for($k=0;$k<count($pmeta);$k++)
  3130. $arr[$i]['field_value'] .= $pmeta[$k].'<br />';
  3131. $i++;
  3132. }
  3133. else
  3134. {
  3135. if(!empty($pmeta))
  3136. {
  3137. $arr[$i]['field_name'] = $row->name;
  3138. $arr[$i]['field_value'] = $pmeta;
  3139. $i++;
  3140. }
  3141. }
  3142. }
  3143. }
  3144. return $arr;
  3145. }
  3146. /*************************************************************
  3147. *
  3148. * ProjectTheme (c) sitemile.com - function
  3149. *
  3150. **************************************************************/
  3151. function ProjectTheme_project_get_star_rating($uid)
  3152. {
  3153. global $wpdb;
  3154. $s = "select grade from ".$wpdb->prefix."project_ratings where touser='$uid' AND awarded='1'";
  3155. $r = $wpdb->get_results($s);
  3156. $i = 0; $s = 0;
  3157. if(count($r) == 0) return __('(No rating)','ProjectTheme');
  3158. else
  3159. foreach($r as $row) // = mysql_fetch_object($r))
  3160. {
  3161. $i++;
  3162. $s = $s + $row->grade;
  3163. }
  3164. $rating = round(($s/$i)/2, 0);
  3165. $rating2 = round(($s/$i)/2, 1);
  3166. return ProjectTheme_get_project_stars($rating)." (".$rating2 ."/5) ". sprintf(__("on %s rating(s)","ProjectTheme"), $i);
  3167. }
  3168. /*************************************************************
  3169. *
  3170. * ProjectTheme (c) sitemile.com - function
  3171. *
  3172. **************************************************************/
  3173. function ProjectTheme_get_project_stars($rating)
  3174. {
  3175. $full = get_bloginfo('template_url')."/images/full_star.gif";
  3176. $empty = get_bloginfo('template_url')."/images/empty_star.gif";
  3177. $r = '';
  3178. for($j=1;$j<=$rating;$j++)
  3179. $r .= '<img src="'.$full.'" />';
  3180. for($j=5;$j>$rating;$j--)
  3181. $r .= '<img src="'.$empty.'" />';
  3182. return $r;
  3183. }
  3184. /*************************************************************
  3185. *
  3186. * ProjectTheme (c) sitemile.com - function
  3187. *
  3188. **************************************************************/
  3189. function ProjectTheme_get_budget_name_string_fromID($id)
  3190. {
  3191. global $wpdb;
  3192. $s = "select * from ".$wpdb->prefix."project_bidding_intervals where id='$id'";
  3193. $r = $wpdb->get_results($s);
  3194. $row = $r[0];
  3195. $nm = $row->bidding_interval_name. " (".ProjectTheme_get_show_price($row->low_limit,0)." - ".ProjectTheme_get_show_price($row->high_limit,0).")";
  3196. return $nm;
  3197. }
  3198. /*************************************************************
  3199. *
  3200. * ProjectTheme (c) sitemile.com - function
  3201. *
  3202. **************************************************************/
  3203. function ProjectTheme_get_budget_name_string($row)
  3204. {
  3205. $nm = $row->bidding_interval_name. " (".ProjectTheme_get_show_price($row->low_limit,0)." - ".ProjectTheme_get_show_price($row->high_limit,0).")";
  3206. return $nm;
  3207. }
  3208. /*************************************************************
  3209. *
  3210. * ProjectTheme (c) sitemile.com - function
  3211. *
  3212. **************************************************************/
  3213. function ProjectTheme_average_bid($pid)
  3214. {
  3215. global $wpdb;
  3216. $s = "select bid from ".$wpdb->prefix."project_bids where pid='$pid'";
  3217. $r = $wpdb->get_results($s);
  3218. if(count($r) == 0) return __('No bids placed yet.','ProjectTheme');
  3219. else
  3220. {
  3221. $sum = 0; $i = 0;
  3222. foreach($r as $row):
  3223. $s += $row->bid;
  3224. $i++;
  3225. endforeach;
  3226. return ProjectTheme_get_show_price(floor($s/$i));
  3227. }
  3228. }
  3229. /*************************************************************
  3230. *
  3231. * ProjectTheme (c) sitemile.com - function
  3232. *
  3233. **************************************************************/
  3234. function projectTheme_current_user_has_bid($uid, $res)
  3235. {
  3236. foreach($res as $row)
  3237. if($row->uid == $uid) { return true; }
  3238. return false;
  3239. }
  3240. /*************************************************************
  3241. *
  3242. * ProjectTheme (c) sitemile.com - function
  3243. *
  3244. **************************************************************/
  3245. function ProjectTheme_get_user_feedback_link($uid)
  3246. {
  3247. return get_bloginfo('siteurl'). '/?p_action=user_feedback&post_author='. $uid;
  3248. }
  3249. function ProjectTheme_get_user_profile_link($uid)
  3250. {
  3251. return get_bloginfo('siteurl'). '/?p_action=user_profile&post_author='. $uid;
  3252. }
  3253. function projectTheme_get_post_active()
  3254. {
  3255. if($arr[0] == "winner") $pay_this_me = 1;
  3256. if($arr[0] == "winner_not") $pay_this_me2 = 1;
  3257. if($arr[0] == "unpaid") $unpaid = 1;
  3258. $ending = get_post_meta(get_the_ID(), 'ending', true);
  3259. $sec = $ending - current_time('timestamp',0);
  3260. $location = get_post_meta(get_the_ID(), 'Location', true);
  3261. $closed = get_post_meta(get_the_ID(), 'closed', true);
  3262. $featured = get_post_meta(get_the_ID(), 'featured', true);
  3263. $private_bids = get_post_meta(get_the_ID(), 'private_bids', true);
  3264. $post = get_post(get_the_ID());
  3265. global $current_user;
  3266. get_currentuserinfo();
  3267. $uid = $current_user->ID;
  3268. ?>
  3269. <div class="post" id="post-<?php the_ID(); ?>">
  3270. <?php if($featured == "1"): ?>
  3271. <div class="featured-one"></div>
  3272. <?php endif; ?>
  3273. <?php if($private_bids == "yes" or $private_bids == "1"): ?>
  3274. <div class="sealed-one"></div>
  3275. <?php endif; ?>
  3276. <div class="padd10_only_top">
  3277. <div class="image_holder">
  3278. <?php
  3279. $ProjectTheme_enable_images_in_projects = get_option('ProjectTheme_enable_images_in_projects');
  3280. if($ProjectTheme_enable_images_in_projects == "yes"):
  3281. ?>
  3282. <a href="<?php the_permalink(); ?>"><img width="40" height="32" class="image_class"
  3283. src="<?php echo ProjectTheme_get_first_post_image(get_the_ID(),40,32); ?>" /></a>
  3284. <?php endif; ?>
  3285. </div>
  3286. <div class="title_holder" >
  3287. <h2><a class="post-title-class" href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>">
  3288. <?php
  3289. the_title();
  3290. ?></a></h2>
  3291. <?php if(1) { ?>
  3292. <p class="mypostedon">
  3293. <?php _e("Posted in",'ProjectTheme');?>: <?php echo get_the_term_list( get_the_ID(), 'project_cat', '', ', ', '' ); ?>
  3294. <?php _e("by",'ProjectTheme');?>: <a href="<?php bloginfo('siteurl'); ?>?p_action=user_profile&post_author=<?php echo $post->post_author; ?>"><?php the_author() ?></a> </p>
  3295. <p class="task_buttons">
  3296. <?php if($pay_this_me == 1): ?>
  3297. <a href="<?php echo ProjectTheme_get_pay4project_page_url(get_the_ID()); ?>"
  3298. class="post_bid_btn"><?php echo __("Pay This", "ProjectTheme");?></a>
  3299. <?php endif; ?>
  3300. <?php if(1 ) { ?>
  3301. <?php if( $pay_this_me != 1): ?>
  3302. <a href="<?php the_permalink(); ?>" class="post_bid_btn"><?php echo __("Read More", "ProjectTheme");?></a>
  3303. <?php endif; ?>
  3304. <?php if( $unpaid == 1):
  3305. $finalised_posted = get_post_meta(get_the_ID(),'finalised_posted',true);
  3306. if($finalised_posted == "1") $finalised_posted = 3; else $finalised_posted = "1";
  3307. $finalised_posted = apply_filters('ProjectTheme_publish_prj_posted', $finalised_posted);
  3308. ?>
  3309. <a href="<?php echo ProjectTheme_post_new_with_pid_stuff_thg(get_the_ID(), $finalised_posted); ?>" class="post_bid_btn"><?php echo __("Publish", "ProjectTheme");?></a>
  3310. <?php endif; ?>
  3311. <?php if($post->post_author == $uid) { ?>
  3312. <a href="<?php bloginfo('siteurl') ?>/?p_action=edit_project&pid=<?php the_ID(); ?>" class="post_bid_btn"><?php echo __("Edit Project", "ProjectTheme");?></a>
  3313. <?php } ?>
  3314. <?php if($post->post_author == $uid) //$closed == 1)
  3315. { ?>
  3316. <?php if($closed == "1") //$closed == 1)
  3317. { ?>
  3318. <a href="<?php bloginfo('siteurl') ?>/?p_action=repost_project&pid=<?php the_ID(); ?>" class="post_bid_btn"><?php echo __("Repost Project", "ProjectTheme");?></a>
  3319. <?php } /*} else { */ ?>
  3320. <?php
  3321. $winner = get_post_meta(get_the_ID(),'winner', true);
  3322. if(empty($winner)):
  3323. ?>
  3324. <a href="<?php bloginfo('siteurl') ?>/?p_action=delete_project&pid=<?php the_ID(); ?>" class="post_bid_btn"><?php echo __("Delete", "ProjectTheme");?></a>
  3325. <?php endif; } ?>
  3326. <?php } ?>
  3327. </p>
  3328. </div>
  3329. <div class="details_holder"> <?php } ?>
  3330. <ul class="project-details1 project-details1_a">
  3331. <li>
  3332. <img src="<?php echo get_bloginfo('template_url'); ?>/images/price.png" width="15" height="15" />
  3333. <h3><?php echo __("Budget",'ProjectTheme'); ?>:</h3>
  3334. <p><?php
  3335. $sel = get_post_meta(get_the_ID(), 'budgets', true);
  3336. echo ProjectTheme_get_budget_name_string_fromID($sel);
  3337. ?>
  3338. </p>
  3339. </li>
  3340. <li>
  3341. <img src="<?php echo get_bloginfo('template_url'); ?>/images/price.png" width="15" height="15" />
  3342. <h3><?php echo __("Average Bid",'ProjectTheme'); ?>:</h3>
  3343. <p><?php echo ProjectTheme_average_bid(get_the_ID()); ?> </p>
  3344. </li>
  3345. <li>
  3346. <img src="<?php echo get_bloginfo('template_url'); ?>/images/posted.png" width="15" height="15" />
  3347. <h3><?php echo __("Bids Posted",'ProjectTheme'); ?>:</h3>
  3348. <p><?php echo projectTheme_number_of_bid( get_the_ID() ); ?></p>
  3349. </li>
  3350. <li>
  3351. <img src="<?php echo get_bloginfo('template_url'); ?>/images/clock.png" width="15" height="15" />
  3352. <h3><?php echo __("Expires in",'ProjectTheme'); ?>:</h3>
  3353. <p><?php echo ($closed=="1" ? __('Closed', 'ProjectTheme') : ProjectTheme_prepare_seconds_to_words($ending - current_time('timestamp',0))); ?></p>
  3354. </li>
  3355. </ul>
  3356. </div>
  3357. </div></div> <?php
  3358. }
  3359. /*************************************************************
  3360. *
  3361. * ProjectTheme (c) sitemile.com - function
  3362. *
  3363. **************************************************************/
  3364. function projectTheme_get_post($arr = '')
  3365. {
  3366. do_action('ProjectTheme_get_regular_post_project', $arr);
  3367. }
  3368. /*************************************************************
  3369. *
  3370. * ProjectTheme (c) sitemile.com - function
  3371. *
  3372. **************************************************************/
  3373. function projectTheme_get_post_main_function( $arr = '')
  3374. {
  3375. if($arr[0] == "winner") $pay_this_me = 1;
  3376. if($arr[0] == "winner_not") $pay_this_me2 = 1;
  3377. if($arr[0] == "unpaid") $unpaid = 1;
  3378. $ending = get_post_meta(get_the_ID(), 'ending', true);
  3379. $sec = $ending - current_time('timestamp',0);
  3380. $location = get_post_meta(get_the_ID(), 'Location', true);
  3381. $closed = get_post_meta(get_the_ID(), 'closed', true);
  3382. $featured = get_post_meta(get_the_ID(), 'featured', true);
  3383. $private_bids = get_post_meta(get_the_ID(), 'private_bids', true);
  3384. $paid = get_post_meta(get_the_ID(), 'paid', true);
  3385. $post = get_post(get_the_ID());
  3386. //echo $paid;
  3387. global $current_user;
  3388. get_currentuserinfo();
  3389. $uid = $current_user->ID;
  3390. do_action('ProjectTheme_regular_proj_post_before');
  3391. ?>
  3392. <div class="post" id="post-<?php the_ID(); ?>">
  3393. <?php if($featured == "1"): ?>
  3394. <div class="featured-one"></div>
  3395. <?php endif; ?>
  3396. <?php if($private_bids == "yes" or $private_bids == "1"): ?>
  3397. <div class="sealed-one"></div>
  3398. <?php endif; ?>
  3399. <div class="padd10_only_top">
  3400. <div class="image_holder">
  3401. <?php
  3402. $ProjectTheme_enable_images_in_projects = get_option('ProjectTheme_enable_images_in_projects');
  3403. if($ProjectTheme_enable_images_in_projects == "yes"):
  3404. $width = 40;
  3405. $height = 32;
  3406. $image_class = "image_class";
  3407. $width = apply_filters("ProjectTheme_regular_proj_img_width", $width);
  3408. $height = apply_filters("ProjectTheme_regular_proj_img_height", $height);
  3409. $image_class = apply_filters("ProjectTheme_regular_proj_img_class", $image_class);
  3410. ?>
  3411. <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><img alt="<?php the_title(); ?>" width="<?php echo $width; ?>" height="<?php echo $height; ?>" class="<?php echo $image_class; ?>"
  3412. src="<?php echo ProjectTheme_get_first_post_image(get_the_ID(),$width,$height); ?>" /></a>
  3413. <?php endif; ?>
  3414. </div>
  3415. <div class="title_holder" >
  3416. <h2><a class="post-title-class" href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>">
  3417. <?php
  3418. do_action('ProjectTheme_regular_proj_title_before');
  3419. the_title();
  3420. do_action('ProjectTheme_regular_proj_title_after');
  3421. ?></a></h2>
  3422. <?php if(1) { ?>
  3423. <p class="mypostedon">
  3424. <?php _e("Posted in",'ProjectTheme');?>: <?php echo get_the_term_list( get_the_ID(), 'project_cat', '', ', ', '' ); ?>
  3425. <?php _e("by",'ProjectTheme');?>: <a href="<?php bloginfo('siteurl'); ?>?p_action=user_profile&post_author=<?php echo $post->post_author; ?>"><?php the_author() ?></a>
  3426. <?php
  3427. $projectTheme_admin_approves_each_project = get_option('projectTheme_admin_approves_each_project');
  3428. if($post->post_status == "draft" && $closed == "0" && $paid == "1" && $projectTheme_admin_approves_each_project == "yes")
  3429. {
  3430. echo '<br/><em>' . __('Your project is awaiting moderation.','ProjectTheme') . "</em>";
  3431. }
  3432. ?>
  3433. </p>
  3434. <p class="task_buttons">
  3435. <?php if($pay_this_me == 1): ?>
  3436. <a href="<?php echo ProjectTheme_get_pay4project_page_url(get_the_ID()); ?>"
  3437. class="post_bid_btn"><?php echo __("Pay This", "ProjectTheme");?></a>
  3438. <?php endif; ?>
  3439. <?php if(1 ) { ?>
  3440. <?php if( $pay_this_me != 1): ?>
  3441. <a href="<?php the_permalink(); ?>" class="post_bid_btn"><?php echo __("Read More", "ProjectTheme");?></a>
  3442. <?php endif; ?>
  3443. <?php if( $unpaid == 1):
  3444. $finalised_posted = get_post_meta(get_the_ID(),'finalised_posted',true);
  3445. if($finalised_posted == "1") $finalised_posted = 3; else $finalised_posted = "1";
  3446. $finalised_posted = apply_filters('ProjectTheme_publish_prj_posted', $finalised_posted);
  3447. ?>
  3448. <a href="<?php echo ProjectTheme_post_new_with_pid_stuff_thg(get_the_ID(), $finalised_posted); ?>" class="post_bid_btn"><?php echo __("Publish", "ProjectTheme");?></a>
  3449. <?php endif; ?>
  3450. <?php if($post->post_author == $uid) { ?>
  3451. <a href="<?php bloginfo('siteurl') ?>/?p_action=edit_project&pid=<?php the_ID(); ?>" class="post_bid_btn"><?php echo __("Edit Project", "ProjectTheme");?></a>
  3452. <?php } ?>
  3453. <?php if($post->post_author == $uid) //$closed == 1)
  3454. { ?>
  3455. <?php if($closed == "1") //$closed == 1)
  3456. { ?>
  3457. <a href="<?php bloginfo('siteurl') ?>/?p_action=repost_project&pid=<?php the_ID(); ?>" class="post_bid_btn"><?php echo __("Repost Project", "ProjectTheme");?></a>
  3458. <?php } /*} else { */ ?>
  3459. <?php
  3460. $winner = get_post_meta(get_the_ID(),'winner', true);
  3461. if(empty($winner)):
  3462. ?>
  3463. <a href="<?php bloginfo('siteurl') ?>/?p_action=delete_project&pid=<?php the_ID(); ?>" class="post_bid_btn"><?php echo __("Delete", "ProjectTheme");?></a>
  3464. <?php endif; ?>
  3465. <?php } ?>
  3466. <?php } ?>
  3467. </p>
  3468. </div>
  3469. <div class="details_holder"> <?php } ?>
  3470. <ul class="project-details1">
  3471. <li>
  3472. <img src="<?php echo get_bloginfo('template_url'); ?>/images/price.png" width="15" height="15" />
  3473. <h3><?php echo __("Budget:",'ProjectTheme'); ?></h3>
  3474. <p><?php
  3475. $sel = get_post_meta(get_the_ID(), 'budgets', true);
  3476. echo ProjectTheme_get_budget_name_string_fromID($sel);
  3477. ?>
  3478. </p>
  3479. </li>
  3480. <?php
  3481. $ProjectTheme_enable_project_location = get_option('ProjectTheme_enable_project_location');
  3482. if($ProjectTheme_enable_project_location == "yes"):
  3483. ?>
  3484. <li>
  3485. <img src="<?php echo get_bloginfo('template_url'); ?>/images/location.png" width="15" height="15" />
  3486. <h3><?php echo __("Location:",'ProjectTheme'); ?></h3>
  3487. <p><?php echo get_the_term_list( get_the_ID(), 'project_location', '', ', ', '' ); ?></p>
  3488. </li>
  3489. <?php endif; ?>
  3490. <li>
  3491. <img src="<?php echo get_bloginfo('template_url'); ?>/images/clock.png" width="15" height="15" />
  3492. <h3><?php echo __("Expires in:",'ProjectTheme'); ?></h3>
  3493. <p><?php echo ($closed=="1" ? __('Closed', 'ProjectTheme') : ProjectTheme_prepare_seconds_to_words($ending - current_time('timestamp',0))); ?></p>
  3494. </li>
  3495. </ul>
  3496. </div>
  3497. </div></div>
  3498. <?php
  3499. do_action('ProjectTheme_regular_proj_post_after');
  3500. }
  3501. /*************************************************************
  3502. *
  3503. * ProjectTheme (c) sitemile.com - function
  3504. *
  3505. **************************************************************/
  3506. function projectTheme_get_post_awaiting_payment()
  3507. {
  3508. do_action('projectTheme_get_post_awaiting_payment_function');
  3509. }
  3510. function projectTheme_get_post_awaiting_payment_function()
  3511. {
  3512. $ending = get_post_meta(get_the_ID(), 'ending', true);
  3513. $sec = $ending - current_time('timestamp',0);
  3514. $location = get_post_meta(get_the_ID(), 'Location', true);
  3515. $closed = get_post_meta(get_the_ID(), 'closed', true);
  3516. $featured = get_post_meta(get_the_ID(), 'featured', true);
  3517. $mark_coder_delivered = get_post_meta(get_the_ID(), 'mark_coder_delivered', true);
  3518. $post = get_post(get_the_ID());
  3519. global $current_user;
  3520. get_currentuserinfo();
  3521. $uid = $current_user->ID;
  3522. ?>
  3523. <div class="post" id="post-<?php the_ID(); ?>">
  3524. <?php if($featured == "1"): ?>
  3525. <div class="featured-one"></div>
  3526. <?php endif; ?>
  3527. <?php if($private_bids == "yes" or $private_bids == "1"): ?>
  3528. <div class="sealed-one"></div>
  3529. <?php endif; ?>
  3530. <div class="padd10_only_top">
  3531. <div class="image_holder">
  3532. <?php
  3533. $ProjectTheme_enable_images_in_projects = get_option('ProjectTheme_enable_images_in_projects');
  3534. if($ProjectTheme_enable_images_in_projects == "yes"):
  3535. $width = 40;
  3536. $height = 32;
  3537. $image_class = "image_class";
  3538. $width = apply_filters("ProjectTheme_awaiting_payment_proj_img_width", $width);
  3539. $height = apply_filters("ProjectTheme_awaiting_payment_proj_img_height", $height);
  3540. $image_class = apply_filters("ProjectTheme_awaiting_payment_proj_img_class", $image_class);
  3541. ?>
  3542. <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><img alt="<?php the_title(); ?>" width="<?php echo $width; ?>" height="<?php echo $height; ?>" class="<?php echo $image_class; ?>"
  3543. src="<?php echo ProjectTheme_get_first_post_image(get_the_ID(),$width,$height); ?>" /></a>
  3544. <?php endif; ?>
  3545. </div>
  3546. <div class="title_holder" >
  3547. <h2><a class="post-title-class" href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a></h2>
  3548. <p class="mypostedon">
  3549. <?php _e("Posted in",'ProjectTheme');?>: <?php echo get_the_term_list( get_the_ID(), 'project_cat', '', ', ', '' ); ?>
  3550. <?php _e("by",'ProjectTheme');?>: <a href="<?php bloginfo('siteurl'); ?>?p_action=user_profile&post_author=<?php echo $post->post_author; ?>"><?php the_author() ?></a>
  3551. </p>
  3552. <p class="task_buttons">
  3553. </p>
  3554. </div>
  3555. <div class="details_holder">
  3556. <ul class="project-details1 project-details1_a">
  3557. <li>
  3558. <img src="<?php echo get_bloginfo('template_url'); ?>/images/price.png" width="15" height="15" />
  3559. <h3><?php echo __("Budget",'ProjectTheme'); ?>:</h3>
  3560. <p><?php
  3561. $sel = get_post_meta(get_the_ID(), 'budgets', true);
  3562. echo ProjectTheme_get_budget_name_string_fromID($sel);
  3563. ?>
  3564. </p>
  3565. </li>
  3566. <li>
  3567. <img src="<?php echo get_bloginfo('template_url'); ?>/images/price.png" width="15" height="15" />
  3568. <h3><?php echo __("Winning Bid",'ProjectTheme'); ?>:</h3>
  3569. <p><?php
  3570. $bid = projectTheme_get_winner_bid(get_the_ID());
  3571. echo ProjectTheme_get_show_price($bid->bid);
  3572. ?>
  3573. </p>
  3574. </li>
  3575. <li>
  3576. <img src="<?php echo get_bloginfo('template_url'); ?>/images/location.png" width="15" height="15" />
  3577. <h3><?php echo __("Winner",'ProjectTheme'); ?>:</h3>
  3578. <p><?php
  3579. $winner = get_post_meta(get_the_ID(), 'winner', true);
  3580. $winner = get_userdata($winner);
  3581. echo '<a href="'.ProjectTheme_get_user_profile_link($winner->ID).'">'.$winner->user_login.'</a>';
  3582. ?></p>
  3583. </li>
  3584. <li>
  3585. <img src="<?php echo get_bloginfo('template_url'); ?>/images/clock.png" width="15" height="15" />
  3586. <h3><?php echo __("Delivery On",'ProjectTheme'); ?>:</h3>
  3587. <p><?php
  3588. $tm_d = get_post_meta(get_the_ID(), 'expected_delivery', true);
  3589. echo date_i18n('d-M-Y H:i:s', $tm_d);
  3590. ?></p>
  3591. </li>
  3592. </ul>
  3593. </div>
  3594. </div></div> <?php
  3595. }
  3596. /*************************************************************
  3597. *
  3598. * ProjectTheme (c) sitemile.com - function
  3599. *
  3600. **************************************************************/
  3601. function projectTheme_get_post_awaiting_compl()
  3602. {
  3603. do_action('projectTheme_get_post_awaiting_compl_function');
  3604. }
  3605. function projectTheme_get_post_awaiting_compl_function()
  3606. {
  3607. $ending = get_post_meta(get_the_ID(), 'ending', true);
  3608. $sec = $ending - current_time('timestamp',0);
  3609. $location = get_post_meta(get_the_ID(), 'Location', true);
  3610. $closed = get_post_meta(get_the_ID(), 'closed', true);
  3611. $featured = get_post_meta(get_the_ID(), 'featured', true);
  3612. $mark_coder_delivered = get_post_meta(get_the_ID(), 'mark_coder_delivered', true);
  3613. $post = get_post(get_the_ID());
  3614. global $current_user;
  3615. get_currentuserinfo();
  3616. $uid = $current_user->ID;
  3617. ?>
  3618. <div class="post" id="post-<?php the_ID(); ?>">
  3619. <?php if($featured == "1"): ?>
  3620. <div class="featured-one"></div>
  3621. <?php endif; ?>
  3622. <?php if($private_bids == "yes" or $private_bids == "1"): ?>
  3623. <div class="sealed-one"></div>
  3624. <?php endif; ?>
  3625. <div class="padd10_only_top">
  3626. <div class="image_holder">
  3627. <?php
  3628. $ProjectTheme_enable_images_in_projects = get_option('ProjectTheme_enable_images_in_projects');
  3629. if($ProjectTheme_enable_images_in_projects == "yes"):
  3630. $width = 40;
  3631. $height = 32;
  3632. $image_class = "image_class";
  3633. $width = apply_filters("ProjectTheme_awaiting_completion_proj_img_width", $width);
  3634. $height = apply_filters("ProjectTheme_awaiting_completion_proj_img_height", $height);
  3635. $image_class = apply_filters("ProjectTheme_awaiting_completion_proj_img_class", $image_class);
  3636. ?>
  3637. <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><img alt="<?php the_title(); ?>" width="<?php echo $width; ?>" height="<?php echo $height; ?>" class="<?php echo $image_class; ?>"
  3638. src="<?php echo ProjectTheme_get_first_post_image(get_the_ID(),$width,$height); ?>" /></a>
  3639. <?php endif; ?>
  3640. </div>
  3641. <div class="title_holder" >
  3642. <h2><a class="post-title-class" href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a></h2>
  3643. <p class="mypostedon">
  3644. <?php _e("Posted in",'ProjectTheme');?>: <?php echo get_the_term_list( get_the_ID(), 'project_cat', '', ', ', '' ); ?>
  3645. <?php _e("by",'ProjectTheme');?>: <a href="<?php bloginfo('siteurl'); ?>?p_action=user_profile&post_author=<?php echo $post->post_author; ?>"><?php the_author() ?></a>
  3646. </p>
  3647. <p class="task_buttons">
  3648. <?php if($mark_coder_delivered != "1"): ?>
  3649. <?php _e('The winner must mark this as delivered.','ProjectTheme'); ?>
  3650. <?php else:
  3651. $dv = get_post_meta(get_the_ID(), 'mark_coder_delivered_date', true);
  3652. $dv = date_i18n('d-M-Y H:i:s',$dv);
  3653. ?>
  3654. <span class="zbk_zbk">
  3655. <?php printf(__("Marked as delivered on: %s","ProjectTheme"), $dv); ?><br/>
  3656. <?php _e('Accept this project and: ','ProjectTheme'); ?>
  3657. <a href="<?php echo get_bloginfo('siteurl'); ?>/?p_action=mark_completed&pid=<?php the_ID(); ?>"
  3658. class="post_bid_btn"><?php echo __("Mark Completed", "ProjectTheme");?></a>
  3659. </span>
  3660. <?php endif; ?>
  3661. </p>
  3662. </div>
  3663. <div class="details_holder">
  3664. <ul class="project-details1 project-details1_a">
  3665. <li>
  3666. <img src="<?php echo get_bloginfo('template_url'); ?>/images/price.png" width="15" height="15" />
  3667. <h3><?php echo __("Budget",'ProjectTheme'); ?>:</h3>
  3668. <p><?php
  3669. $sel = get_post_meta(get_the_ID(), 'budgets', true);
  3670. echo ProjectTheme_get_budget_name_string_fromID($sel);
  3671. ?>
  3672. </p>
  3673. </li>
  3674. <li>
  3675. <img src="<?php echo get_bloginfo('template_url'); ?>/images/price.png" width="15" height="15" />
  3676. <h3><?php echo __("Winning Bid",'ProjectTheme'); ?>:</h3>
  3677. <p><?php
  3678. $bid = projectTheme_get_winner_bid(get_the_ID());
  3679. echo ProjectTheme_get_show_price($bid->bid);
  3680. ?>
  3681. </p>
  3682. </li>
  3683. <li>
  3684. <img src="<?php echo get_bloginfo('template_url'); ?>/images/location.png" width="15" height="15" />
  3685. <h3><?php echo __("Winner",'ProjectTheme'); ?>:</h3>
  3686. <p><?php
  3687. $winner = get_post_meta(get_the_ID(), 'winner', true);
  3688. $winner = get_userdata($winner);
  3689. echo '<a href="'.ProjectTheme_get_user_profile_link($winner->ID).'">'.$winner->user_login.'</a>';
  3690. ?></p>
  3691. </li>
  3692. <li>
  3693. <img src="<?php echo get_bloginfo('template_url'); ?>/images/clock.png" width="15" height="15" />
  3694. <h3><?php echo __("Delivery On",'ProjectTheme'); ?>:</h3>
  3695. <p><?php
  3696. $tm_d = get_post_meta(get_the_ID(), 'expected_delivery', true);
  3697. echo date_i18n('d-M-Y H:i:s', $tm_d);
  3698. ?></p>
  3699. </li>
  3700. </ul>
  3701. </div>
  3702. </div></div> <?php
  3703. }
  3704. /*************************************************************
  3705. *
  3706. * ProjectTheme (c) sitemile.com - function
  3707. *
  3708. **************************************************************/
  3709. function projectTheme_get_post_outstanding_project()
  3710. {
  3711. do_action('projectTheme_get_post_outstanding_project_function');
  3712. }
  3713. function projectTheme_get_post_outstanding_project_function()
  3714. {
  3715. $ending = get_post_meta(get_the_ID(), 'ending', true);
  3716. $sec = $ending - current_time('timestamp',0);
  3717. $location = get_post_meta(get_the_ID(), 'Location', true);
  3718. $closed = get_post_meta(get_the_ID(), 'closed', true);
  3719. $featured = get_post_meta(get_the_ID(), 'featured', true);
  3720. $mark_coder_delivered = get_post_meta(get_the_ID(), 'mark_coder_delivered', true);
  3721. $post = get_post(get_the_ID());
  3722. global $current_user;
  3723. get_currentuserinfo();
  3724. $uid = $current_user->ID;
  3725. do_action('ProjectTheme_outstanding_proj_post_before');
  3726. ?>
  3727. <div class="post" id="post-<?php the_ID(); ?>">
  3728. <?php if($featured == "1"): ?>
  3729. <div class="featured-one"></div>
  3730. <?php endif; ?>
  3731. <?php if($private_bids == "yes" or $private_bids == "1"): ?>
  3732. <div class="sealed-one"></div>
  3733. <?php endif; ?>
  3734. <div class="padd10_only_top">
  3735. <div class="image_holder">
  3736. <?php
  3737. $ProjectTheme_enable_images_in_projects = get_option('ProjectTheme_enable_images_in_projects');
  3738. if($ProjectTheme_enable_images_in_projects == "yes"):
  3739. $width = 40;
  3740. $height = 32;
  3741. $image_class = "image_class";
  3742. $width = apply_filters("ProjectTheme_outstanding_proj_img_width", $width);
  3743. $height = apply_filters("ProjectTheme_outstanding_proj_img_height", $height);
  3744. $image_class = apply_filters("ProjectTheme_outstanding_proj_img_class", $image_class);
  3745. ?>
  3746. <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><img width="<?php echo $width; ?>" height="<?php echo $height; ?>" class="<?php echo $image_class; ?>"
  3747. src="<?php echo ProjectTheme_get_first_post_image(get_the_ID(),$width,$height); ?>" alt="<?php the_title(); ?>" /></a>
  3748. <?php endif; ?>
  3749. </div>
  3750. <div class="title_holder" >
  3751. <h2><a class="post-title-class" href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php
  3752. do_action('ProjectTheme_outstanding_proj_title_before');
  3753. the_title();
  3754. do_action('ProjectTheme_outstanding_proj_title_after');
  3755. ?></a></h2>
  3756. <p class="mypostedon">
  3757. <?php _e("Posted in",'ProjectTheme');?>: <?php echo get_the_term_list( get_the_ID(), 'project_cat', '', ', ', '' ); ?>
  3758. <?php _e("by",'ProjectTheme');?>: <a href="<?php bloginfo('siteurl'); ?>?p_action=user_profile&post_author=<?php echo $post->post_author; ?>"><?php the_author() ?></a>
  3759. </p>
  3760. <p class="task_buttons">
  3761. <?php do_action('ProjectTheme_outstanding_proj_buttons'); ?>
  3762. <?php if($mark_coder_delivered != "1"): ?>
  3763. <a href="<?php echo get_bloginfo('siteurl'); ?>/?p_action=mark_delivered&pid=<?php the_ID(); ?>"
  3764. class="post_bid_btn"><?php echo __("Mark Delivered", "ProjectTheme");?></a>
  3765. <?php else:
  3766. $dv = get_post_meta(get_the_ID(), 'mark_coder_delivered_date', true);
  3767. $dv = date_i18n('d-M-Y H:i:s',$dv);
  3768. ?>
  3769. <span class="zbk_zbk">
  3770. <?php printf(__("Awaiting buyer response.<br/>Marked as delivered on: %s","ProjectTheme"), $dv); ?>
  3771. </span>
  3772. <?php endif; ?>
  3773. </p>
  3774. </div>
  3775. <div class="details_holder">
  3776. <ul class="project-details1 project-details1_a">
  3777. <?php do_action('ProjectTheme_outstanding_proj_details_before'); ?>
  3778. <li>
  3779. <img src="<?php echo get_bloginfo('template_url'); ?>/images/price.png" width="15" height="15" />
  3780. <h3><?php echo __("Budget",'ProjectTheme'); ?>:</h3>
  3781. <p><?php
  3782. $sel = get_post_meta(get_the_ID(), 'budgets', true);
  3783. echo ProjectTheme_get_budget_name_string_fromID($sel);
  3784. ?>
  3785. </p>
  3786. </li>
  3787. <li>
  3788. <img src="<?php echo get_bloginfo('template_url'); ?>/images/price.png" width="15" height="15" />
  3789. <h3><?php echo __("Winning Bid",'ProjectTheme'); ?>:</h3>
  3790. <p><?php
  3791. $bid = projectTheme_get_winner_bid(get_the_ID());
  3792. echo ProjectTheme_get_show_price($bid->bid);
  3793. ?>
  3794. </p>
  3795. </li>
  3796. <li>
  3797. <img src="<?php echo get_bloginfo('template_url'); ?>/images/clock.png" width="15" height="15" />
  3798. <h3><?php echo __("Delivery On",'ProjectTheme'); ?>:</h3>
  3799. <p><?php
  3800. $tm_d = get_post_meta(get_the_ID(), 'expected_delivery', true);
  3801. echo date_i18n('d-M-Y H:i:s', $tm_d);
  3802. ?></p>
  3803. </li>
  3804. <?php do_action('ProjectTheme_outstanding_proj_details_after'); ?>
  3805. </ul>
  3806. </div>
  3807. </div></div> <?php
  3808. do_action('ProjectTheme_outstanding_proj_post_after');
  3809. }
  3810. /*************************************************************
  3811. *
  3812. * ProjectTheme (c) sitemile.com - function
  3813. *
  3814. **************************************************************/
  3815. function projectTheme_get_post_pay($arr = '')
  3816. {
  3817. do_action('projectTheme_get_post_pay_function',$arr);
  3818. }
  3819. function projecttheme_escrow_was_made_for_project_not_released($pid)
  3820. {
  3821. global $wpdb;
  3822. $s = "select * from ".$wpdb->prefix."project_escrow where pid='$pid' and released='0'";
  3823. $r = $wpdb->get_results($s);
  3824. if(count($r) == 0) return false;
  3825. return true;
  3826. }
  3827. function projectTheme_get_post_pay_function( $arr = '')
  3828. {
  3829. $ending = get_post_meta(get_the_ID(), 'ending', true);
  3830. $sec = $ending - current_time('timestamp',0);
  3831. $location = get_post_meta(get_the_ID(), 'Location', true);
  3832. $closed = get_post_meta(get_the_ID(), 'closed', true);
  3833. $featured = get_post_meta(get_the_ID(), 'featured', true);
  3834. $post = get_post(get_the_ID());
  3835. global $current_user;
  3836. get_currentuserinfo();
  3837. $uid = $current_user->ID;
  3838. ?>
  3839. <div class="post" id="post-<?php the_ID(); ?>">
  3840. <?php if($featured == "1"): ?>
  3841. <div class="featured-one"></div>
  3842. <?php endif; ?>
  3843. <?php if($private_bids == "yes" or $private_bids == "1"): ?>
  3844. <div class="sealed-one"></div>
  3845. <?php endif; ?>
  3846. <div class="padd10_only_top">
  3847. <div class="image_holder">
  3848. <?php
  3849. $ProjectTheme_enable_images_in_projects = get_option('ProjectTheme_enable_images_in_projects');
  3850. if($ProjectTheme_enable_images_in_projects == "yes"):
  3851. $width = 40;
  3852. $height = 32;
  3853. $image_class = "image_class";
  3854. $width = apply_filters("ProjectTheme_outstanding_payment_proj_img_width", $width);
  3855. $height = apply_filters("ProjectTheme_outstanding_payment_proj_img_height", $height);
  3856. $image_class = apply_filters("ProjectTheme_outstanding_payment_proj_img_class", $image_class);
  3857. ?>
  3858. <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><img alt="<?php the_title(); ?>" width="<?php echo $width; ?>" height="<?php echo $height; ?>" class="<?php echo $image_class; ?>"
  3859. src="<?php echo ProjectTheme_get_first_post_image(get_the_ID(),$width,$height); ?>" /></a>
  3860. <?php endif; ?>
  3861. </div>
  3862. <div class="title_holder" >
  3863. <h2><a class="post-title-class" href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a></h2>
  3864. <p class="mypostedon">
  3865. <?php _e("Posted in",'ProjectTheme');?>: <?php echo get_the_term_list( get_the_ID(), 'project_cat', '', ', ', '' ); ?>
  3866. <?php _e("by",'ProjectTheme');?>: <a href="<?php bloginfo('siteurl'); ?>?p_action=user_profile&post_author=<?php echo $post->post_author; ?>"><?php the_author() ?></a>
  3867. </p>
  3868. <p class="task_buttons">
  3869. <?php
  3870. $projecttheme_escrow_was_made_for_project_not_released = projecttheme_escrow_was_made_for_project_not_released(get_the_ID());
  3871. if($projecttheme_escrow_was_made_for_project_not_released == false):
  3872. ?>
  3873. <a href="<?php echo ProjectTheme_get_pay4project_page_url(get_the_ID()); ?>"
  3874. class="post_bid_btn"><?php echo __("Pay This", "ProjectTheme");?></a>
  3875. <?php else: ?>
  3876. <?php
  3877. $kk = ProjectTheme_get_payments_page_url_redir('');
  3878. echo sprintf(__('Escrow was made. <a href="%s">Go and release it.</a>','ProjectTheme'), $kk); ?>
  3879. <?php endif; ?>
  3880. </p>
  3881. </div>
  3882. <div class="details_holder">
  3883. <ul class="project-details1 project-details1_a">
  3884. <li>
  3885. <img src="<?php echo get_bloginfo('template_url'); ?>/images/price.png" width="15" height="15" />
  3886. <h3><?php echo __("Budget",'ProjectTheme'); ?>:</h3>
  3887. <p><?php
  3888. $sel = get_post_meta(get_the_ID(), 'budgets', true);
  3889. echo ProjectTheme_get_budget_name_string_fromID($sel);
  3890. ?>
  3891. </p>
  3892. </li>
  3893. <li>
  3894. <img src="<?php echo get_bloginfo('template_url'); ?>/images/price.png" width="15" height="15" />
  3895. <h3><?php echo __("Winning Bid",'ProjectTheme'); ?>:</h3>
  3896. <p><?php
  3897. $bid = projectTheme_get_winner_bid(get_the_ID());
  3898. echo ProjectTheme_get_show_price($bid->bid);
  3899. ?>
  3900. </p>
  3901. </li>
  3902. <li>
  3903. <img src="<?php echo get_bloginfo('template_url'); ?>/images/location.png" width="15" height="15" />
  3904. <h3><?php echo __("Winner",'ProjectTheme'); ?>:</h3>
  3905. <p><?php
  3906. $winner = get_post_meta(get_the_ID(), 'winner', true);
  3907. $winner = get_userdata($winner);
  3908. echo '<a href="'.ProjectTheme_get_user_profile_link($winner->ID).'">'.$winner->user_login.'</a>';
  3909. ?></p>
  3910. </li>
  3911. </ul>
  3912. </div>
  3913. </div></div>
  3914. <?php
  3915. }
  3916. /*************************************************************
  3917. *
  3918. * ProjectTheme (c) sitemile.com - function
  3919. *
  3920. **************************************************************/
  3921. function projectTheme_get_post_paid($arr = '')
  3922. {
  3923. do_action("projectTheme_get_post_paid_function", $arr);
  3924. }
  3925. function projectTheme_get_post_paid_function( $arr = '')
  3926. {
  3927. $ending = get_post_meta(get_the_ID(), 'ending', true);
  3928. $sec = $ending - current_time('timestamp',0);
  3929. $location = get_post_meta(get_the_ID(), 'Location', true);
  3930. $closed = get_post_meta(get_the_ID(), 'closed', true);
  3931. $featured = get_post_meta(get_the_ID(), 'featured', true);
  3932. $post = get_post(get_the_ID());
  3933. global $current_user;
  3934. get_currentuserinfo();
  3935. $uid = $current_user->ID;
  3936. ?>
  3937. <div class="post" id="post-<?php the_ID(); ?>">
  3938. <?php if($featured == "1"): ?>
  3939. <div class="featured-one"></div>
  3940. <?php endif; ?>
  3941. <?php if($private_bids == "yes" or $private_bids == "1"): ?>
  3942. <div class="sealed-one"></div>
  3943. <?php endif; ?>
  3944. <div class="padd10_only_top">
  3945. <div class="image_holder">
  3946. <?php
  3947. $ProjectTheme_enable_images_in_projects = get_option('ProjectTheme_enable_images_in_projects');
  3948. if($ProjectTheme_enable_images_in_projects == "yes"):
  3949. $width = 40;
  3950. $height = 32;
  3951. $image_class = "image_class";
  3952. $width = apply_filters("ProjectTheme_paid_proj_img_width", $width);
  3953. $height = apply_filters("ProjectTheme_paid_proj_img_height", $height);
  3954. $image_class = apply_filters("ProjectTheme_paid_proj_img_class", $image_class);
  3955. ?>
  3956. <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><img alt="<?php the_title(); ?>" width="<?php echo $width; ?>" height="<?php echo $height; ?>" class="<?php echo $image_class; ?>"
  3957. src="<?php echo ProjectTheme_get_first_post_image(get_the_ID(),$width,$height); ?>" /></a>
  3958. <?php endif; ?>
  3959. </div>
  3960. <div class="title_holder" >
  3961. <h2><a class="post-title-class" href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a></h2>
  3962. <p class="mypostedon">
  3963. <?php _e("Posted in",'ProjectTheme');?>: <?php echo get_the_term_list( get_the_ID(), 'project_cat', '', ', ', '' ); ?>
  3964. <?php _e("by",'ProjectTheme');?>: <a href="<?php bloginfo('siteurl'); ?>?p_action=user_profile&post_author=<?php echo $post->post_author; ?>"><?php the_author() ?></a>
  3965. </p>
  3966. <p class="task_buttons">
  3967. <?php
  3968. $paid_user_date = get_post_meta(get_the_ID(), 'paid_user_date', true);
  3969. if(!empty($paid_user_date)) $sk = date_i18n('d-m-Y H:i:s',$paid_user_date);
  3970. printf(__('Paid on: %s','ProjectTheme'), $sk);
  3971. ?>
  3972. </p>
  3973. </div>
  3974. <div class="details_holder">
  3975. <ul class="project-details1 project-details1_a">
  3976. <li>
  3977. <img src="<?php echo get_bloginfo('template_url'); ?>/images/price.png" width="15" height="15" />
  3978. <h3><?php echo __("Budget",'ProjectTheme'); ?>:</h3>
  3979. <p><?php
  3980. $sel = get_post_meta(get_the_ID(), 'budgets', true);
  3981. echo ProjectTheme_get_budget_name_string_fromID($sel);
  3982. ?>
  3983. </p>
  3984. </li>
  3985. <li>
  3986. <img src="<?php echo get_bloginfo('template_url'); ?>/images/price.png" width="15" height="15" />
  3987. <h3><?php echo __("Winning Bid",'ProjectTheme'); ?>:</h3>
  3988. <p><?php
  3989. $bid = projectTheme_get_winner_bid(get_the_ID());
  3990. echo ProjectTheme_get_show_price($bid->bid);
  3991. ?>
  3992. </p>
  3993. </li>
  3994. <li>
  3995. <img src="<?php echo get_bloginfo('template_url'); ?>/images/location.png" width="15" height="15" />
  3996. <h3><?php echo __("Winner",'ProjectTheme'); ?>:</h3>
  3997. <p><?php
  3998. $winner = get_post_meta(get_the_ID(), 'winner', true);
  3999. $winner = get_userdata($winner);
  4000. echo '<a href="'.ProjectTheme_get_user_profile_link($winner->ID).'">'.$winner->user_login.'</a>';
  4001. ?></p>
  4002. </li>
  4003. </ul>
  4004. </div>
  4005. </div></div>
  4006. <?php
  4007. }
  4008. /*************************************************************
  4009. *
  4010. * ProjectTheme (c) sitemile.com - function
  4011. *
  4012. **************************************************************/
  4013. function ProjectTheme_prepare_seconds_to_words($seconds)
  4014. {
  4015. $res = ProjectTheme_seconds_to_words_new($seconds);
  4016. if($res == "Expired") return __('Expired','ProjectTheme');
  4017. if($res[0] == 0) return sprintf(__("%s hours, %s min, %s sec",'ProjectTheme'), $res[1], $res[2], $res[3]);
  4018. if($res[0] == 1){
  4019. $plural = $res[1] > 1 ? __('days','ProjectTheme') : __('day','ProjectTheme');
  4020. return sprintf(__("%s %s, %s hours, %s min",'ProjectTheme'), $res[1], $plural , $res[2], $res[3]);
  4021. }
  4022. }
  4023. /*************************************************************
  4024. *
  4025. * ProjectTheme (c) sitemile.com - function
  4026. *
  4027. **************************************************************/
  4028. function ProjectTheme_seconds_to_words_new($seconds)
  4029. {
  4030. if($seconds < 0 ) return 'Expired';
  4031. /*** number of days ***/
  4032. $days=(int)($seconds/86400);
  4033. /*** if more than one day ***/
  4034. $plural = $days > 1 ? 'days' : 'day';
  4035. /*** number of hours ***/
  4036. $hours = (int)(($seconds-($days*86400))/3600);
  4037. /*** number of mins ***/
  4038. $mins = (int)(($seconds-$days*86400-$hours*3600)/60);
  4039. /*** number of seconds ***/
  4040. $secs = (int)($seconds - ($days*86400)-($hours*3600)-($mins*60));
  4041. /*** return the string ***/
  4042. if($days == 0 || $days < 0)
  4043. {
  4044. $arr[0] = 0;
  4045. $arr[1] = $hours;
  4046. $arr[2] = $mins;
  4047. $arr[3] = $secs;
  4048. return $arr;//sprintf("%d hours, %d min, %d sec", $hours, $mins, $secs);
  4049. }
  4050. else
  4051. {
  4052. $arr[0] = 1;
  4053. $arr[1] = $days;
  4054. $arr[2] = $hours;
  4055. $arr[3] = $mins;
  4056. return $arr; //sprintf("%d $plural, %d hours, %d min", $days, $hours, $mins);
  4057. }
  4058. }
  4059. /*************************************************************
  4060. *
  4061. * ProjectTheme (c) sitemile.com - function
  4062. *
  4063. **************************************************************/
  4064. function ProjectTheme_get_auto_draft($uid)
  4065. {
  4066. global $wpdb;
  4067. $querystr = "
  4068. SELECT distinct wposts.*
  4069. FROM $wpdb->posts wposts where
  4070. wposts.post_author = '$uid' AND wposts.post_status = 'auto-draft'
  4071. AND wposts.post_type = 'project'
  4072. ORDER BY wposts.ID DESC LIMIT 1 ";
  4073. $row = $wpdb->get_results($querystr, OBJECT);
  4074. if(count($row) > 0)
  4075. {
  4076. $row = $row[0];
  4077. return $row->ID;
  4078. }
  4079. return ProjectTheme_create_auto_draft($uid);
  4080. }
  4081. /*************************************************************
  4082. *
  4083. * ProjectTheme (c) sitemile.com - function
  4084. *
  4085. **************************************************************/
  4086. function ProjectTheme_create_auto_draft($uid)
  4087. {
  4088. $my_post = array();
  4089. $my_post['post_title'] = 'Auto Draft';
  4090. $my_post['post_type'] = 'project';
  4091. $my_post['post_status'] = 'auto-draft';
  4092. $my_post['post_author'] = $uid;
  4093. $pid = wp_insert_post( $my_post, true );
  4094. update_post_meta($pid, 'featured_paid', '0');
  4095. update_post_meta($pid, 'private_bids_paid', '0');
  4096. update_post_meta($pid, 'hide_project_paid', '0');
  4097. update_post_meta($pid, 'base_fee_paid', '0');
  4098. do_action('ProjectTheme_when_creating_auto_draft');
  4099. return $pid;
  4100. }
  4101. /*************************************************************
  4102. *
  4103. * ProjectTheme (c) sitemile.com - function
  4104. *
  4105. **************************************************************/
  4106. function ProjectTheme_using_permalinks()
  4107. {
  4108. global $wp_rewrite;
  4109. if($wp_rewrite->using_permalinks()) return true;
  4110. else return false;
  4111. }
  4112. /*************************************************************
  4113. *
  4114. * ProjectTheme (c) sitemile.com - function
  4115. *
  4116. **************************************************************/
  4117. function projectTheme_slider_post()
  4118. {
  4119. $featured = get_post_meta(get_the_ID(), 'featured', true);
  4120. $private_bids = get_post_meta(get_the_ID(), 'private_bids', true);
  4121. ?>
  4122. <div class="slider-post">
  4123. <?php if($featured == "1"): ?>
  4124. <div class="featured-three"></div>
  4125. <?php endif; ?>
  4126. <?php if($private_bids == "yes" or $private_bids == "1"): ?>
  4127. <div class="sealed-three"></div>
  4128. <?php endif; ?>
  4129. <?php
  4130. $ProjectTheme_enable_images_in_projects = get_option('ProjectTheme_enable_images_in_projects');
  4131. if($ProjectTheme_enable_images_in_projects == "yes"):
  4132. $width = 100;
  4133. $height = 80;
  4134. $image_class = "image_class";
  4135. $width = apply_filters("ProjectTheme_slider_post_img_width", $width);
  4136. $height = apply_filters("ProjectTheme_slider_post_img_height", $height);
  4137. $image_class = apply_filters("ProjectTheme_slider_post_img_class", $image_class);
  4138. ?>
  4139. <a href="<?php the_permalink(); ?>"><img width="<?php echo $width; ?>" height="<?php echo $height; ?>" class="<?php echo $image_class; ?>"
  4140. src="<?php echo ProjectTheme_get_first_post_image(get_the_ID(),$width,$height); ?>" /></a>
  4141. <br/>
  4142. <?php else: ?>
  4143. <br/><br/><br/><br/>
  4144. <?php endif; ?>
  4145. <p><b><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>">
  4146. <?php
  4147. the_title();
  4148. ?></a></b><br/>
  4149. <?php
  4150. $ProjectTheme_enable_project_location = get_option('ProjectTheme_enable_project_location');
  4151. if($ProjectTheme_enable_project_location == "yes"):
  4152. ?>
  4153. <?php echo get_the_term_list( get_the_ID(), 'project_location', '', ', ', '' ); ?><br/>
  4154. <?php endif; ?>
  4155. <?php
  4156. $ids = get_post_meta(get_the_ID(),'budgets', true);
  4157. echo ProjectTheme_get_budget_name_string_fromID($ids); ?>
  4158. </p>
  4159. </div>
  4160. <?php
  4161. }
  4162. /*************************************************************
  4163. *
  4164. * ProjectTheme (c) sitemile.com - function
  4165. *
  4166. **************************************************************/
  4167. function ProjectTheme_post_new_with_pid_stuff_thg($pid, $step = 1, $fin = 'no')
  4168. {
  4169. $using_perm = ProjectTheme_using_permalinks();
  4170. if($using_perm) return get_permalink(get_option('ProjectTheme_post_new_page_id')). "?post_new_step=".$step."&".($fin != "no" ? 'finalize=1&' : '' )."projectid=" . $pid;
  4171. else return get_bloginfo('siteurl'). "/?page_id=". get_option('ProjectTheme_post_new_page_id'). "&".($fin != "no" ? 'finalize=1&' : '' )."post_new_step=".$step."&projectid=" . $pid;
  4172. }
  4173. /*************************************************************
  4174. *
  4175. * ProjectTheme (c) sitemile.com - function
  4176. *
  4177. **************************************************************/
  4178. function ProjectTheme_login_url()
  4179. {
  4180. return get_bloginfo('siteurl'). '/wp-login.php' ;
  4181. }
  4182. /*************************************************************
  4183. *
  4184. * ProjectTheme (c) sitemile.com - function
  4185. *
  4186. **************************************************************/
  4187. function projecttheme_see_if_project_files_bid($pid, $uid)
  4188. {
  4189. $args = array(
  4190. 'order' => 'ASC',
  4191. 'post_type' => 'attachment',
  4192. 'post_parent' => $pid,
  4193. 'post_author' => $uid,
  4194. 'meta_key' => 'another_reserved1',
  4195. 'meta_value' => '1',
  4196. 'numberposts' => -1,
  4197. 'post_status' => null,
  4198. );
  4199. $attachments = get_posts($args);
  4200. if ($attachments) {
  4201. foreach ($attachments as $attachment) {
  4202. if($attachment->post_author == $uid){
  4203. return true;
  4204. }
  4205. }
  4206. }
  4207. return false;
  4208. }
  4209. function projectTheme_template_redirect()
  4210. {
  4211. global $wp;
  4212. global $wp_query, $post, $wp_rewrite;
  4213. if(isset($_GET['get_my_project_vl_thing']))
  4214. {
  4215. $pids = $_POST['queryString'];
  4216. if($pids == 0) { echo 0; die(); }
  4217. $bid = projectTheme_get_winner_bid($pids);
  4218. echo $bid->bid;
  4219. die();
  4220. }
  4221. $my_pid = $post->ID; $parent = $post->post_parent;
  4222. $paagee = $wp_query->query_vars['my_custom_page_type'];
  4223. $p_action = $wp_query->query_vars['p_action'];
  4224. $ProjectTheme_my_account_page_id = get_option('ProjectTheme_my_account_page_id');
  4225. $ProjectTheme_post_new_page_id = get_option('ProjectTheme_post_new_page_id');
  4226. $ProjectTheme_my_account_page_id = get_option('ProjectTheme_my_account_page_id');
  4227. //-------------
  4228. if(isset($_GET['redir1']))
  4229. {
  4230. $_SESSION['redir1'] = $_GET['redir1'];
  4231. }
  4232. if($parent == $ProjectTheme_my_account_page_id or $my_pid == get_option('ProjectTheme_my_account_milestones_id'))
  4233. {
  4234. if(!is_user_logged_in()) { wp_redirect(ProjectTheme_login_url()); exit; }
  4235. }
  4236. //-------------
  4237. $ProjectTheme_enable_2_user_tp = get_option('ProjectTheme_enable_2_user_tp');
  4238. if($ProjectTheme_enable_2_user_tp == "yes" && $p_action != 'choose_user_tp')
  4239. {
  4240. if(is_user_logged_in())
  4241. {
  4242. global $current_user;
  4243. get_currentuserinfo();
  4244. $user_tp = get_user_meta($current_user->ID, 'user_tp' ,true);
  4245. if(empty($user_tp) && !current_user_can('level_10'))
  4246. {
  4247. wp_redirect(get_bloginfo('siteurl') . "/?p_action=choose_user_tp"); exit;
  4248. }
  4249. }
  4250. }
  4251. if(isset($_GET['notify_chained']))
  4252. {
  4253. if($_POST['status'] == "COMPLETED")
  4254. {
  4255. $trID = $_POST['tracking_id'];
  4256. $trID = explode("_",$trID);
  4257. $pid = $trID[0];
  4258. update_post_meta($pid, 'paid_user',"1");
  4259. update_post_meta($pid, "paid_user_date", current_time('timestamp',0));
  4260. $projectTheme_get_winner_bid = projectTheme_get_winner_bid($pid);
  4261. ProjectTheme_send_email_when_on_completed_project($pid, $projectTheme_get_winner_bid->uid, $projectTheme_get_winner_bid->bid);
  4262. }
  4263. }
  4264. if(isset($_GET['return_chained']))
  4265. {
  4266. $ret_id = $_GET['return_chained'];
  4267. $pid_d = get_option('adaptive_payment_ID_thing_' . $ret_id);
  4268. wp_redirect(projectTheme_my_account_link());
  4269. exit;
  4270. }
  4271. //------------
  4272. if($my_pid == $ProjectTheme_post_new_page_id)
  4273. {
  4274. if(!is_user_logged_in()) { wp_redirect(ProjectTheme_login_url()); exit; }
  4275. global $current_user;
  4276. get_currentuserinfo();
  4277. if(!ProjectTheme_is_user_business($current_user->ID)) { wp_redirect(get_bloginfo('siteurl')); exit; }
  4278. if(!isset($_GET['projectid'])) $set_ad = 1; else $set_ad = 0;
  4279. if(!empty($_GET['projectid']))
  4280. {
  4281. $my_main_post = get_post($_GET['projectid']);
  4282. if($my_main_post->post_author != $current_user->ID)
  4283. {
  4284. wp_redirect(get_bloginfo('siteurl')); exit;
  4285. }
  4286. }
  4287. if($set_ad == 1)
  4288. {
  4289. $pid = ProjectTheme_get_auto_draft($current_user->ID);
  4290. wp_redirect(ProjectTheme_post_new_with_pid_stuff_thg($pid));
  4291. }
  4292. include 'lib/post_new_post.php';
  4293. }
  4294. //-------------
  4295. if($my_pid == $ProjectTheme_my_account_page_id)
  4296. {
  4297. if(!is_user_logged_in()) { wp_redirect(ProjectTheme_login_url()); exit; }
  4298. }
  4299. //----------------------------------------------------
  4300. if ($p_action == "choose_user_tp")
  4301. {
  4302. include('lib/choose_user_tp.php');
  4303. die();
  4304. }
  4305. if(isset($_GET['autosuggest']))
  4306. { include 'autosuggest.php'; }
  4307. if ($p_action == "mark_delivered")
  4308. {
  4309. include('lib/my_account/mark_delivered.php');
  4310. die();
  4311. }
  4312. if ($p_action == "mark_completed")
  4313. {
  4314. include('lib/my_account/mark_completed.php');
  4315. die();
  4316. }
  4317. if ($p_action == "credits_listing")
  4318. {
  4319. include('lib/gateways/credits_listing.php');
  4320. die();
  4321. }
  4322. if ($p_action == "relist_this_done")
  4323. {
  4324. include('lib/my_account/relist_this_done.php');
  4325. die();
  4326. }
  4327. if ($p_action == "mb_listing_response")
  4328. {
  4329. include('lib/gateways/moneybookers_listing_response.php');
  4330. die();
  4331. }
  4332. if ($p_action == "mb_listing")
  4333. {
  4334. include('lib/gateways/moneybookers_listing.php');
  4335. die();
  4336. }
  4337. if ($p_action == "paypal_listing")
  4338. {
  4339. include('lib/gateways/paypal_listing.php');
  4340. die();
  4341. }
  4342. if ($p_action == "pay_for_project_paypal")
  4343. {
  4344. include('lib/gateways/pay_for_project_paypal.php');
  4345. die();
  4346. }
  4347. if ($p_action == "edit_project")
  4348. {
  4349. include('lib/my_account/edit_project.php');
  4350. die();
  4351. }
  4352. if ($p_action == "rate_user")
  4353. {
  4354. include('lib/my_account/rate_user.php');
  4355. die();
  4356. }
  4357. if ($p_action == "choose_winner")
  4358. {
  4359. include('lib/choose_winner.php');
  4360. die();
  4361. }
  4362. if ($p_action == "user_profile")
  4363. {
  4364. include('lib/user-profile.php');
  4365. die();
  4366. }
  4367. if ($p_action == "user_feedback")
  4368. {
  4369. include('lib/user-feedback.php');
  4370. die();
  4371. }
  4372. if ($p_action == "delete_project")
  4373. {
  4374. include('lib/my_account/delete_project.php');
  4375. die();
  4376. }
  4377. if ($p_action == "repost_project")
  4378. {
  4379. include('lib/my_account/repost_project.php');
  4380. die();
  4381. }
  4382. if ($p_action == "paypal_deposit_pay")
  4383. {
  4384. include('lib/gateways/paypal_deposit_pay.php');
  4385. die();
  4386. }
  4387. if ($p_action == "mb_deposit_response")
  4388. {
  4389. include('lib/gateways/mb_deposit_response.php');
  4390. die();
  4391. }
  4392. if ($p_action == "mb_deposit_pay")
  4393. {
  4394. include('lib/gateways/mb_deposit_pay.php');
  4395. die();
  4396. }
  4397. if ($paagee == "pay_projects_by_credits")
  4398. {
  4399. include('lib/pay-projects-by-credits.php');
  4400. die();
  4401. }
  4402. if ($paagee == "show-all-categories")
  4403. {
  4404. include('lib/show-all-categories.php');
  4405. die();
  4406. }
  4407. if ($paagee == "show-all-locations")
  4408. {
  4409. include('lib/show-all-locations.php');
  4410. die();
  4411. }
  4412. if ($paagee == "post-new")
  4413. {
  4414. include('post-new.php');
  4415. die();
  4416. }
  4417. if ($paagee == "pay_paypal")
  4418. {
  4419. include('lib/gateways/paypal.php');
  4420. die();
  4421. }
  4422. if ($paagee == "advanced_search")
  4423. {
  4424. include('lib/advanced-search.php');
  4425. die();
  4426. }
  4427. if ($paagee == "alert-pay-return")
  4428. {
  4429. include('lib/gateways/alert-pay-return.php');
  4430. die();
  4431. }
  4432. if (isset($_GET['get_files_panel']))
  4433. {
  4434. include('lib/get_files_panel.php');
  4435. die();
  4436. }
  4437. if (isset($_GET['get_bidding_panel']))
  4438. {
  4439. include('lib/bidding-panel.php');
  4440. die();
  4441. }
  4442. if (isset($_GET['get_message_board']))
  4443. {
  4444. include('lib/message-board.php');
  4445. die();
  4446. }
  4447. if ($paagee == "all-blog-posts")
  4448. {
  4449. include('lib/blog.php');
  4450. die();
  4451. }
  4452. if ($paagee == "all_featured_projects")
  4453. {
  4454. include('lib/all_featured_projects.php');
  4455. die();
  4456. }
  4457. if ($paagee == "user_feedback")
  4458. {
  4459. include('lib/user-feedback.php');
  4460. die();
  4461. }
  4462. if ($paagee == "buy_now")
  4463. {
  4464. include('lib/buy-now.php');
  4465. die();
  4466. }
  4467. if ($paagee == "pay-for-project")
  4468. {
  4469. include('lib/gateways/paypal-project.php');
  4470. die();
  4471. }
  4472. if ($paagee == "deposit_pay")
  4473. {
  4474. include('lib/gateways/deposit-pay.php');
  4475. die();
  4476. }
  4477. }
  4478. /*************************************************************
  4479. *
  4480. * ProjectTheme (c) sitemile.com - function
  4481. *
  4482. **************************************************************/
  4483. function projectTheme_clear_sums_of_cash($cash)
  4484. {
  4485. $cash = str_replace(" ","",$cash);
  4486. $cash = str_replace(",","",$cash);
  4487. //$cash = str_replace(".","",$cash);
  4488. return strip_tags($cash);
  4489. }
  4490. function ProjectTheme_send_email_subscription($pid)
  4491. {
  4492. $opt = get_post_meta($pid,'subscription_email_sent',true);
  4493. if(empty($opt))
  4494. {
  4495. update_post_meta($pid,'subscription_email_sent',"111a");
  4496. $cat = wp_get_object_terms($pid, 'project_cat');
  4497. $cat = $cat[0]->term_id;
  4498. $loc = wp_get_object_terms($pid, 'project_location');
  4499. $loc = $loc[0]->term_id;
  4500. global $wpdb;
  4501. $post = get_post($pid);
  4502. $s = "select distinct cats.uid from ".$wpdb->prefix."project_email_alerts cats, ".$wpdb->prefix."project_email_alerts_locs locsa
  4503. where cats.catid='$cat' AND locsa.catid='$loc' AND cats.uid=locsa.uid";
  4504. $ProjectTheme_enable_project_location = get_option('ProjectTheme_enable_project_location');
  4505. if($ProjectTheme_enable_project_location == "no")
  4506. {
  4507. $s = "select distinct cats.uid from ".$wpdb->prefix."project_email_alerts cats where cats.catid='$cat' ";
  4508. }
  4509. $r = $wpdb->get_results($s);
  4510. foreach($r as $row):
  4511. $enable = get_option('ProjectTheme_subscription_email_enable');
  4512. $subject = get_option('ProjectTheme_subscription_email_subject');
  4513. $message = get_option('ProjectTheme_subscription_email_message');
  4514. if($enable != "no"):
  4515. $user = get_userdata($row->uid);
  4516. $site_login_url = ProjectTheme_login_url();
  4517. $site_name = get_bloginfo('name');
  4518. $account_url = get_permalink(get_option('ProjectTheme_my_account_page_id'));
  4519. $find = array('##username##', '##username_email##', '##site_login_url##', '##your_site_name##', '##your_site_url##' , '##my_account_url##', '##project_name##', '##project_link##');
  4520. $replace = array($user->user_login, $user->user_email, $site_login_url, $site_name, get_bloginfo('siteurl'), $account_url, $post->post_title, get_permalink($pid));
  4521. $tag = 'ProjectTheme_subscription_email';
  4522. $find = apply_filters( $tag . '_find', $find );
  4523. $replace = apply_filters( $tag . '_replace', $replace );
  4524. $message = ProjectTheme_replace_stuff_for_me($find, $replace, $message);
  4525. $subject = ProjectTheme_replace_stuff_for_me($find, $replace, $subject);
  4526. //---------------------------------------------
  4527. $email = get_bloginfo('admin_email');
  4528. ProjectTheme_send_email($user->user_email, $subject, $message);
  4529. endif;
  4530. endforeach;
  4531. }
  4532. }
  4533. /*************************************************************
  4534. *
  4535. * ProjectTheme (c) sitemile.com - function
  4536. *
  4537. **************************************************************/
  4538. function ProjectTheme_get_credits($uid)
  4539. {
  4540. $c = get_user_meta($uid,'credits',true);
  4541. if(empty($c))
  4542. {
  4543. update_user_meta($uid,'credits',"0");
  4544. return 0;
  4545. }
  4546. return $c;
  4547. }
  4548. /*************************************************************
  4549. *
  4550. * ProjectTheme (c) sitemile.com - function
  4551. *
  4552. **************************************************************/
  4553. function ProjectTheme_send_email($recipients, $subject = '', $message = '') {
  4554. $ProjectTheme_email_addr_from = get_option('ProjectTheme_email_addr_from');
  4555. $ProjectTheme_email_name_from = get_option('ProjectTheme_email_name_from');
  4556. $message = stripslashes($message);
  4557. $subject = stripslashes($subject);
  4558. if(empty($ProjectTheme_email_name_from)) $ProjectTheme_email_name_from = "Project Theme";
  4559. if(empty($ProjectTheme_email_addr_from)) $ProjectTheme_email_addr_from = "projectTheme@wordpress.org";
  4560. $headers = 'From: '. $ProjectTheme_email_name_from .' <'. $ProjectTheme_email_addr_from .'>' . PHP_EOL;
  4561. $ProjectTheme_allow_html_emails = get_option('ProjectTheme_allow_html_emails');
  4562. if($ProjectTheme_allow_html_emails != "yes") $html = false;
  4563. else $html = true;
  4564. $oktosend = true;
  4565. $oktosend = apply_filters('ProjectTheme_ok_to_send_email',$oktosend);
  4566. if($oktosend)
  4567. {
  4568. if ($html) {
  4569. $headers .= "MIME-Version: 1.0\n";
  4570. $headers .= "Content-Type: " . get_bloginfo('html_type') . "; charset=\"". get_bloginfo('charset') . "\"\n";
  4571. $mailtext = "<html><head><title>" . $subject . "</title></head><body>" . nl2br($message) . "</body></html>";
  4572. return wp_mail($recipients, $subject, $mailtext, $headers);
  4573. } else {
  4574. $headers .= "MIME-Version: 1.0\n";
  4575. $headers .= "Content-Type: text/plain; charset=\"". get_bloginfo('charset') . "\"\n";
  4576. $message = preg_replace('|&[^a][^m][^p].{0,3};|', '', $message);
  4577. $message = preg_replace('|&amp;|', '&', $message);
  4578. $mailtext = wordwrap(strip_tags($message), 80, "\n");
  4579. return wp_mail($recipients, stripslashes($subject), stripslashes($mailtext), $headers);
  4580. }
  4581. }
  4582. }
  4583. /*************************************************************
  4584. *
  4585. * ProjectTheme (c) sitemile.com - function
  4586. *
  4587. **************************************************************/
  4588. function ProjectTheme_get_project_category_fields($catid, $pid = '', $step = '')
  4589. {
  4590. global $wpdb;
  4591. $s = "select * from ".$wpdb->prefix."project_custom_fields where tp!='6' order by ordr asc";
  4592. $r = $wpdb->get_results($s);
  4593. $sms = 0;
  4594. $sms = apply_filters('ProjectTheme_get_get_cat_fields_thing', $sms);
  4595. if($sms == 1)
  4596. {
  4597. $s = "select * from ".$wpdb->prefix."project_custom_fields order by ordr asc";
  4598. $r = $wpdb->get_results($s);
  4599. }
  4600. if(!empty($step))
  4601. {
  4602. $s = "select * from ".$wpdb->prefix."project_custom_fields where step_me='$step' order by ordr asc";
  4603. $r = $wpdb->get_results($s);
  4604. }
  4605. $arr1 = array(); $i = 0;
  4606. foreach($r as $row)
  4607. {
  4608. $ims = $row->id;
  4609. $name = $row->name;
  4610. $tp = $row->tp;
  4611. if($row->cate == 'all')
  4612. {
  4613. $arr1[$i]['id'] = $ims;
  4614. $arr1[$i]['name'] = $name;
  4615. $arr1[$i]['tp'] = $tp; $i++;
  4616. }
  4617. else
  4618. {
  4619. $se = "select * from ".$wpdb->prefix."project_custom_relations where custid='$ims'";
  4620. $re = $wpdb->get_results($se);
  4621. if(count($re) > 0)
  4622. foreach($re as $rowe) // = mysql_fetch_object($re))
  4623. {
  4624. if($rowe->catid == $catid)
  4625. {
  4626. $arr1[$i]['id'] = $ims;
  4627. $arr1[$i]['name'] = $name;
  4628. $arr1[$i]['tp'] = $tp;
  4629. $i++;
  4630. break;
  4631. }
  4632. }
  4633. }
  4634. }
  4635. $arr = array();
  4636. $i = 0;
  4637. for($j=0;$j<count($arr1);$j++)
  4638. {
  4639. $ids = $arr1[$j]['id'];
  4640. $tp = $arr1[$j]['tp'];
  4641. $arr[$i]['field_name'] = $arr1[$j]['name'];
  4642. $arr[$i]['id'] = '<input type="hidden" value="'.$ids.'" name="custom_field_id[]" />';
  4643. if($tp == 1)
  4644. {
  4645. $teka = !empty($pid) ? get_post_meta($pid, 'custom_field_ID_'.$ids, true) : "" ;
  4646. $arr[$i]['value'] = '<input class="do_input" type="text" size="30" name="custom_field_value_'.$ids.'"
  4647. value="'.(isset($_POST['custom_field_value_'.$ids]) ? $_POST['custom_field_value_'.$ids] : $teka ).'" />';
  4648. }
  4649. if($tp == 5)
  4650. {
  4651. $teka = !empty($pid) ? get_post_meta($pid, 'custom_field_ID_'.$ids, true) : "" ;
  4652. $value = isset($_POST['custom_field_value_'.$ids]) ? $_POST['custom_field_value_'.$ids] : $teka;
  4653. $arr[$i]['value'] = '<textarea rows="5" cols="40" name="custom_field_value_'.$ids.'">'.$value.'</textarea>';
  4654. }
  4655. if($tp == 3) //radio
  4656. {
  4657. $arr[$i]['value'] = '';
  4658. $s2 = "select * from ".$wpdb->prefix."project_custom_options where custid='$ids' order by ordr ASC ";
  4659. $r2 = $wpdb->get_results($s2);
  4660. if(count($r2) > 0)
  4661. foreach($r2 as $row2) // = mysql_fetch_object($r2))
  4662. {
  4663. $teka = !empty($pid) ? get_post_meta($pid, 'custom_field_ID_'.$ids, true) : "" ;
  4664. if(isset($_POST['custom_field_value_'.$ids]))
  4665. {
  4666. if($_POST['custom_field_value_'.$ids] == $row2->valval) $value = 'checked="checked"';
  4667. else $value = '';
  4668. }
  4669. elseif(!empty($pid))
  4670. {
  4671. $v = get_post_meta($pid, 'custom_field_ID_'.$ids, true);
  4672. if($v == $row2->valval) $value = 'checked="checked"';
  4673. else $value = '';
  4674. }
  4675. else $value = '';
  4676. $arr[$i]['value'] .= '<input type="radio" '.$value.' value="'.$row2->valval.'" name="custom_field_value_'.$ids.'"> '.$row2->valval.'<br/>';
  4677. }
  4678. }
  4679. if($tp == 6) //html
  4680. {
  4681. $arr[$i]['value'] = $row->content_box6;
  4682. }
  4683. if($tp == 4) //checkbox
  4684. {
  4685. $arr[$i]['value'] = '';
  4686. $s2 = "select * from ".$wpdb->prefix."project_custom_options where custid='$ids' order by ordr ASC ";
  4687. $r2 = $wpdb->get_results($s2);
  4688. if(count($r2) > 0)
  4689. foreach($r2 as $row2) // = mysql_fetch_object($r2))
  4690. {
  4691. $teka = !empty($pid) ? get_post_meta($pid, 'custom_field_ID_'.$ids) : "" ;
  4692. $ty = 0;
  4693. if(!empty($teka))
  4694. {
  4695. $ty = 1;
  4696. foreach($teka as $te)
  4697. {
  4698. if($te == $row2->valval) { $ty = 2; $tekao = "checked='checked'"; break; }
  4699. }
  4700. }
  4701. else $tekao = '';
  4702. if($ty == 1) $tekao = '';
  4703. $value = isset($_POST['custom_field_value_'.$ids]) ? "checked='checked'" : $tekao;
  4704. $arr[$i]['value'] .= '<input '.$value.' type="checkbox" value="'.$row2->valval.'" name="custom_field_value_'.$ids.'[]"> '.$row2->valval.'<br/>';
  4705. }
  4706. }
  4707. if($tp == 2) //select
  4708. {
  4709. $arr[$i]['value'] = '<select name="custom_field_value_'.$ids.'" />';
  4710. $s2 = "select * from ".$wpdb->prefix."project_custom_options where custid='$ids' order by ordr ASC ";
  4711. $r2 = $wpdb->get_results($s2);
  4712. $teka = !empty($pid) ? get_post_meta($pid, 'custom_field_ID_'.$ids, true) : "" ;
  4713. if(count($r2) > 0)
  4714. foreach($r2 as $row2) // = mysql_fetch_object($r2))
  4715. {
  4716. if($teka == $row2->valval) { $tekak = "selected='selected'"; }
  4717. else $tekak = '';
  4718. $arr[$i]['value'] .= '<option '.$tekak.' value="'.$row2->valval.'">'.$row2->valval.'</option>';
  4719. }
  4720. $arr[$i]['value'] .= '</select>';
  4721. }
  4722. $i++;
  4723. }
  4724. return $arr;
  4725. }
  4726. function ProjectTheme_get_users_category_fields($catid, $pid = '')
  4727. {
  4728. global $wpdb;
  4729. $s = "select * from ".$wpdb->prefix."project_user_custom_fields order by ordr asc";
  4730. $r = $wpdb->get_results($s);
  4731. $arr1 = array(); $i = 0;
  4732. foreach($r as $row)
  4733. {
  4734. $ims = $row->id;
  4735. $name = $row->name;
  4736. $tp = $row->tp;
  4737. if($row->cate == 'all')
  4738. {
  4739. $arr1[$i]['id'] = $ims;
  4740. $arr1[$i]['name'] = $name;
  4741. $arr1[$i]['tp'] = $tp; $i++;
  4742. }
  4743. else
  4744. {
  4745. $se = "select * from ".$wpdb->prefix."project_user_custom_relations where custid='$ims'";
  4746. $re = $wpdb->get_results($se);
  4747. if(count($re) > 0)
  4748. foreach($re as $rowe) // = mysql_fetch_object($re))
  4749. {
  4750. if(count($catid) > 0)
  4751. foreach($catid as $id_of_cat)
  4752. {
  4753. if($rowe->catid == $id_of_cat)
  4754. {
  4755. $flag_me = 1;
  4756. for($k=0;$k<count($arr1);$k++)
  4757. {
  4758. if( $arr1[$k]['id'] == $ims ) { $flag_me = 0; break; }
  4759. }
  4760. if($flag_me == 1)
  4761. {
  4762. $arr1[$i]['id'] = $ims;
  4763. $arr1[$i]['name'] = $name;
  4764. $arr1[$i]['tp'] = $tp;
  4765. $i++;
  4766. }
  4767. }
  4768. }
  4769. }
  4770. }
  4771. }
  4772. $arr = array();
  4773. $i = 0;
  4774. for($j=0;$j<count($arr1);$j++)
  4775. {
  4776. $ids = $arr1[$j]['id'];
  4777. $tp = $arr1[$j]['tp'];
  4778. $arr[$i]['field_name'] = $arr1[$j]['name'];
  4779. $arr[$i]['id'] = '<input type="hidden" value="'.$ids.'" name="custom_field_id[]" />';
  4780. if($tp == 1)
  4781. {
  4782. $teka = !empty($pid) ? get_user_meta($pid, 'custom_field_ID_'.$ids, true) : "" ;
  4783. $arr[$i]['value'] = '<input class="do_input" type="text" size="30" name="custom_field_value_'.$ids.'"
  4784. value="'.(isset($_POST['custom_field_value_'.$ids]) ? $_POST['custom_field_value_'.$ids] : $teka ).'" />';
  4785. }
  4786. if($tp == 5)
  4787. {
  4788. $teka = !empty($pid) ? get_user_meta($pid, 'custom_field_ID_'.$ids, true) : "" ;
  4789. $value = isset($_POST['custom_field_value_'.$ids]) ? $_POST['custom_field_value_'.$ids] : $teka;
  4790. $arr[$i]['value'] = '<textarea class="do_input" rows="5" cols="40" name="custom_field_value_'.$ids.'">'.$value.'</textarea>';
  4791. }
  4792. if($tp == 3) //radio
  4793. {
  4794. $arr[$i]['value'] = '';
  4795. $s2 = "select * from ".$wpdb->prefix."project_user_custom_options where custid='$ids' order by ordr ASC ";
  4796. $r2 = $wpdb->get_results($s2);
  4797. if(count($r2) > 0)
  4798. foreach($r2 as $row2) // = mysql_fetch_object($r2))
  4799. {
  4800. $teka = !empty($pid) ? get_user_meta($pid, 'custom_field_ID_'.$ids, true) : "" ;
  4801. if(isset($_POST['custom_field_value_'.$ids]))
  4802. {
  4803. if($_POST['custom_field_value_'.$ids] == $row2->valval) $value = 'checked="checked"';
  4804. else $value = '';
  4805. }
  4806. elseif(!empty($pid))
  4807. {
  4808. $v = get_user_meta($pid, 'custom_field_ID_'.$ids, true);
  4809. if($v == $row2->valval) $value = 'checked="checked"';
  4810. else $value = '';
  4811. }
  4812. else $value = '';
  4813. $arr[$i]['value'] .= '<input class="do_input" type="radio" '.$value.' value="'.$row2->valval.'" name="custom_field_value_'.$ids.'"> '.$row2->valval.'<br/>';
  4814. }
  4815. }
  4816. if($tp == 4) //checkbox
  4817. {
  4818. $arr[$i]['value'] = '';
  4819. $s2 = "select * from ".$wpdb->prefix."project_user_custom_options where custid='$ids' order by ordr ASC ";
  4820. $r2 = $wpdb->get_results($s2);
  4821. if(count($r2) > 0)
  4822. foreach($r2 as $row2) // = mysql_fetch_object($r2))
  4823. {
  4824. $teka = !empty($pid) ? get_user_meta($pid, 'custom_field_ID_'.$ids) : "" ;
  4825. $ty = 0;
  4826. if(!empty($teka))
  4827. {
  4828. $ty = 1;
  4829. foreach($teka as $te)
  4830. {
  4831. if($te == $row2->valval) { $ty = 2; $tekao = "checked='checked'"; break; }
  4832. }
  4833. }
  4834. else $tekao = '';
  4835. if($ty == 1) $tekao = '';
  4836. $value = isset($_POST['custom_field_value_'.$ids]) ? "checked='checked'" : $tekao;
  4837. $arr[$i]['value'] .= '<input class="do_input" '.$value.' type="checkbox" value="'.$row2->valval.'" name="custom_field_value_'.$ids.'[]"> '.$row2->valval.'<br/>';
  4838. }
  4839. }
  4840. if($tp == 2) //select
  4841. {
  4842. $arr[$i]['value'] = '<select class="do_input" name="custom_field_value_'.$ids.'" />';
  4843. $s2 = "select * from ".$wpdb->prefix."project_user_custom_options where custid='$ids' order by ordr ASC ";
  4844. $r2 = $wpdb->get_results($s2);
  4845. $teka = !empty($pid) ? get_user_meta($pid, 'custom_field_ID_'.$ids, true) : "" ;
  4846. if(count($r2) > 0)
  4847. foreach($r2 as $row2) // = mysql_fetch_object($r2))
  4848. {
  4849. if($teka == $row2->valval) { $tekak = "selected='selected'"; }
  4850. else $tekak = '';
  4851. $arr[$i]['value'] .= '<option '.$tekak.' value="'.$row2->valval.'">'.$row2->valval.'</option>';
  4852. }
  4853. $arr[$i]['value'] .= '</select>';
  4854. }
  4855. $i++;
  4856. }
  4857. return $arr;
  4858. }
  4859. /*************************************************************
  4860. *
  4861. * ProjectTheme (c) sitemile.com - function
  4862. *
  4863. **************************************************************/
  4864. function ProjectTheme_get_categories_slug($taxo, $selected = "", $include_empty_option = "", $ccc = "")
  4865. {
  4866. $args = "orderby=name&order=ASC&hide_empty=0&parent=0";
  4867. $terms = get_terms( $taxo, $args );
  4868. $ret = '<select name="'.$taxo.'_cat" class="'.$ccc.'" id="'.$ccc.'">';
  4869. if(!empty($include_empty_option)){
  4870. if($include_empty_option == "1") $include_empty_option = "Select";
  4871. $ret .= "<option value=''>".$include_empty_option."</option>";
  4872. }
  4873. if(empty($selected)) $selected = -1;
  4874. foreach ( $terms as $term )
  4875. {
  4876. $id = $term->slug;
  4877. $ide = $term->term_id;
  4878. $ret .= '<option '.($selected == $id ? "selected='selected'" : " " ).' value="'.$id.'">'.$term->name.'</option>';
  4879. $args = "orderby=name&order=ASC&hide_empty=0&parent=".$ide;
  4880. $sub_terms = get_terms( $taxo, $args );
  4881. foreach ( $sub_terms as $sub_term )
  4882. {
  4883. $sub_id = $sub_term->slug;
  4884. $ret .= '<option '.($selected == $sub_id ? "selected='selected'" : " " ).' value="'.$sub_id.'">&nbsp; &nbsp;|&nbsp; '.$sub_term->name.'</option>';
  4885. $args2 = "orderby=name&order=ASC&hide_empty=0&parent=".$sub_id;
  4886. $sub_terms2 = get_terms( $taxo, $args2 );
  4887. foreach ( $sub_terms2 as $sub_term2 )
  4888. {
  4889. $sub_id2 = $sub_term2->term_id;
  4890. $ret .= '<option '.($selected == $sub_id2 ? "selected='selected'" : " " ).' value="'.$sub_id2.'">&nbsp; &nbsp; &nbsp; &nbsp;|&nbsp;
  4891. '.$sub_term2->name.'</option>';
  4892. }
  4893. }
  4894. }
  4895. $ret .= '</select>';
  4896. return $ret;
  4897. }
  4898. /*************************************************************
  4899. *
  4900. * ProjectTheme (c) sitemile.com - function
  4901. *
  4902. **************************************************************/
  4903. function ProjectTheme_get_categories($taxo, $selected = "", $include_empty_option = "", $ccc = "")
  4904. {
  4905. $args = "orderby=name&order=ASC&hide_empty=0&parent=0";
  4906. $terms = get_terms( $taxo, $args );
  4907. $ret = '<select name="'.$taxo.'_cat" class="'.$ccc.'" id="'.$ccc.'">';
  4908. if(!empty($include_empty_option)) $ret .= "<option value=''>".$include_empty_option."</option>";
  4909. if(empty($selected)) $selected = -1;
  4910. foreach ( $terms as $term )
  4911. {
  4912. $id = $term->term_id;
  4913. $ret .= '<option '.($selected == $id ? "selected='selected'" : " " ).' value="'.$id.'">'.$term->name.'</option>';
  4914. $args = "orderby=name&order=ASC&hide_empty=0&parent=".$id;
  4915. $sub_terms = get_terms( $taxo, $args );
  4916. foreach ( $sub_terms as $sub_term )
  4917. {
  4918. $sub_id = $sub_term->term_id;
  4919. $ret .= '<option '.($selected == $sub_id ? "selected='selected'" : " " ).' value="'.$sub_id.'">&nbsp; &nbsp;|&nbsp; '.$sub_term->name.'</option>';
  4920. $args2 = "orderby=name&order=ASC&hide_empty=0&parent=".$sub_id;
  4921. $sub_terms2 = get_terms( $taxo, $args2 );
  4922. foreach ( $sub_terms2 as $sub_term2 )
  4923. {
  4924. $sub_id2 = $sub_term2->term_id;
  4925. $ret .= '<option '.($selected == $sub_id2 ? "selected='selected'" : " " ).' value="'.$sub_id2.'">&nbsp; &nbsp; &nbsp; &nbsp;|&nbsp;
  4926. '.$sub_term2->name.'</option>';
  4927. }
  4928. }
  4929. }
  4930. $ret .= '</select>';
  4931. return $ret;
  4932. }
  4933. /*************************************************************
  4934. *
  4935. * ProjectTheme (c) sitemile.com - function
  4936. *
  4937. **************************************************************/
  4938. function ProjectTheme_framework_init_widgets()
  4939. {
  4940. register_sidebar( array(
  4941. 'name' => __( 'Single Page Sidebar', 'ProjectTheme' ),
  4942. 'id' => 'single-widget-area',
  4943. 'description' => __( 'The sidebar area of the single blog post', 'ProjectTheme' ),
  4944. 'before_widget' => '<li id="%1$s" class="widget-container %2$s">',
  4945. 'after_widget' => '</li>',
  4946. 'before_title' => '<h3 class="widget-title">',
  4947. 'after_title' => '</h3>',
  4948. ) );
  4949. register_sidebar( array(
  4950. 'name' => __( 'Other Page Sidebar', 'ProjectTheme' ),
  4951. 'id' => 'other-page-area',
  4952. 'description' => __( 'The sidebar area of any other page than the defined ones', 'ProjectTheme' ),
  4953. 'before_widget' => '<li id="%1$s" class="widget-container %2$s">',
  4954. 'after_widget' => '</li>',
  4955. 'before_title' => '<h3 class="widget-title">',
  4956. 'after_title' => '</h3>',
  4957. ) );
  4958. register_sidebar( array(
  4959. 'name' => __( 'Home Page Sidebar - Right', 'ProjectTheme' ),
  4960. 'id' => 'home-right-widget-area',
  4961. 'description' => __( 'The right sidebar area of the homepage', 'ProjectTheme' ),
  4962. 'before_widget' => '<li id="%1$s" class="widget-container %2$s">',
  4963. 'after_widget' => '</li>',
  4964. 'before_title' => '<h3 class="widget-title">',
  4965. 'after_title' => '</h3>',
  4966. ) );
  4967. register_sidebar( array(
  4968. 'name' => __( 'Home Page Sidebar - Left', 'ProjectTheme' ),
  4969. 'id' => 'home-left-widget-area',
  4970. 'description' => __( 'The left sidebar area of the homepage', 'ProjectTheme' ),
  4971. 'before_widget' => '<li id="%1$s" class="widget-container %2$s">',
  4972. 'after_widget' => '</li>',
  4973. 'before_title' => '<h3 class="widget-title">',
  4974. 'after_title' => '</h3>',
  4975. ) );
  4976. register_sidebar( array(
  4977. 'name' => __( 'First Footer Widget Area', 'ProjectTheme' ),
  4978. 'id' => 'first-footer-widget-area',
  4979. 'description' => __( 'The first footer widget area', 'ProjectTheme' ),
  4980. 'before_widget' => '<li id="%1$s" class="widget-container %2$s">',
  4981. 'after_widget' => '</li>',
  4982. 'before_title' => '<h3 class="widget-title">',
  4983. 'after_title' => '</h3>',
  4984. ) );
  4985. // Area 2, located in the footer. Empty by default.
  4986. register_sidebar( array(
  4987. 'name' => __( 'Second Footer Widget Area', 'ProjectTheme' ),
  4988. 'id' => 'second-footer-widget-area',
  4989. 'description' => __( 'The second footer widget area', 'ProjectTheme' ),
  4990. 'before_widget' => '<li id="%1$s" class="widget-container %2$s">',
  4991. 'after_widget' => '</li>',
  4992. 'before_title' => '<h3 class="widget-title">',
  4993. 'after_title' => '</h3>',
  4994. ) );
  4995. // Area 3, located in the footer. Empty by default.
  4996. register_sidebar( array(
  4997. 'name' => __( 'Third Footer Widget Area', 'ProjectTheme' ),
  4998. 'id' => 'third-footer-widget-area',
  4999. 'description' => __( 'The third footer widget area', 'ProjectTheme' ),
  5000. 'before_widget' => '<li id="%1$s" class="widget-container %2$s">',
  5001. 'after_widget' => '</li>',
  5002. 'before_title' => '<h3 class="widget-title">',
  5003. 'after_title' => '</h3>',
  5004. ) );
  5005. // Area 4, located in the footer. Empty by default.
  5006. register_sidebar( array(
  5007. 'name' => __( 'Fourth Footer Widget Area', 'ProjectTheme' ),
  5008. 'id' => 'fourth-footer-widget-area',
  5009. 'description' => __( 'The fourth footer widget area', 'ProjectTheme' ),
  5010. 'before_widget' => '<li id="%1$s" class="widget-container %2$s">',
  5011. 'after_widget' => '</li>',
  5012. 'before_title' => '<h3 class="widget-title">',
  5013. 'after_title' => '</h3>',
  5014. ) );
  5015. register_sidebar( array(
  5016. 'name' => __( 'ProjectTheme - Project Single Sidebar', 'ProjectTheme' ),
  5017. 'id' => 'project-widget-area',
  5018. 'description' => __( 'The sidebar of the single project page', 'ProjectTheme' ),
  5019. 'before_widget' => '<li id="%1$s" class="widget-container %2$s">',
  5020. 'after_widget' => '</li>',
  5021. 'before_title' => '<h3 class="widget-title">',
  5022. 'after_title' => '</h3>',
  5023. ) );
  5024. register_sidebar( array(
  5025. 'name' => __( 'ProjectTheme - HomePage Area','ProjectTheme' ),
  5026. 'id' => 'main-page-widget-area',
  5027. 'description' => __( 'The sidebar for the main page, just under the slider.', 'ProjectTheme' ),
  5028. 'before_widget' => '<li id="%1$s" class="widget-container %2$s">',
  5029. 'after_widget' => '</li>',
  5030. 'before_title' => '<h3 class="widget-title">',
  5031. 'after_title' => '</h3>',
  5032. ) );
  5033. register_sidebar( array(
  5034. 'name' => __( 'ProjectTheme - Stretch Wide Sidebar','ProjectTheme' ),
  5035. 'id' => 'main-stretch-area',
  5036. 'description' => __( 'The sidebar sidewide stretched, just under the slider.', 'ProjectTheme' ),
  5037. 'before_widget' => '<li id="%1$s" class="widget-container %2$s">',
  5038. 'after_widget' => '</li>',
  5039. 'before_title' => '<h3 class="widget-title">',
  5040. 'after_title' => '</h3>',
  5041. ) );
  5042. }
  5043. /*************************************************************
  5044. *
  5045. * ProjectTheme (c) sitemile.com - function
  5046. *
  5047. **************************************************************/
  5048. function ProjectTheme_insert_pic_media_lib($author, $pid, $uri, $path, $post_title, $another_reserved1 = '')
  5049. {
  5050. require_once(ABSPATH . '/wp-admin/includes/image.php');
  5051. $wp_filetype = wp_check_filetype(basename($path), null );
  5052. $attachment = array(
  5053. 'post_mime_type' => $wp_filetype['type'],
  5054. 'post_author' => $author,
  5055. 'guid' => $uri,
  5056. 'post_parent' => $pid,
  5057. 'post_type' => 'attachment',
  5058. 'post_title' => $post_title
  5059. );
  5060. $id = wp_insert_attachment($attachment, $path, $pid);
  5061. if(!empty($another_reserved1))
  5062. {
  5063. update_post_meta($id, 'another_reserved1', '1');
  5064. }
  5065. $dt = wp_generate_attachment_metadata($id, $path);
  5066. wp_update_attachment_metadata($id, $dt);
  5067. return $id;
  5068. }
  5069. include('lib/my-upload.php');
  5070. //*********************** AJAX STUFF **************************
  5071. add_action('wp_ajax_new_package_action', 'ProjectTheme_new_package_action');
  5072. add_action('wp_ajax_delete_package', 'ProjectTheme_delete_package');
  5073. add_action('wp_ajax_update_package', 'ProjectTheme_update_package');
  5074. /*************************************************************
  5075. *
  5076. * ProjectTheme (c) sitemile.com - function
  5077. *
  5078. **************************************************************/
  5079. function ProjectTheme_update_package()
  5080. {
  5081. if($_POST['action'] == "update_package")
  5082. {
  5083. $bidding_interval_name_cell = trim($_POST['bidding_interval_name_cell']);
  5084. $high_limit_cell = trim($_POST['high_limit_cell']);
  5085. $low_limit_cell = trim($_POST['low_limit_cell']);
  5086. $id = $_POST['id'];
  5087. global $wpdb;
  5088. $s = "update ".$wpdb->prefix."project_bidding_intervals set bidding_interval_name='$bidding_interval_name_cell',
  5089. low_limit='$low_limit_cell' , high_limit='$high_limit_cell' where id='$id'";
  5090. $wpdb->query($s);
  5091. }
  5092. }
  5093. /*************************************************************
  5094. *
  5095. * ProjectTheme (c) sitemile.com - function
  5096. *
  5097. **************************************************************/
  5098. function ProjectTheme_delete_package()
  5099. {
  5100. if($_POST['action'] == "delete_package")
  5101. {
  5102. $id = trim($_POST['id']);
  5103. global $wpdb;
  5104. $s = "delete from ".$wpdb->prefix."project_bidding_intervals where id='$id'";
  5105. $wpdb->query($s);
  5106. }
  5107. }
  5108. /*************************************************************
  5109. *
  5110. * ProjectTheme (c) sitemile.com - function
  5111. *
  5112. **************************************************************/
  5113. function ProjectTheme_new_package_action()
  5114. {
  5115. if($_POST['action'] == "new_package_action")
  5116. {
  5117. $bidding_interval_name_new = trim($_POST['bidding_interval_name_new']);
  5118. $low_limit_new = trim($_POST['low_limit_new']);
  5119. $high_limit_new = trim($_POST['high_limit_new']);
  5120. global $wpdb;
  5121. $s = "insert into ".$wpdb->prefix."project_bidding_intervals (bidding_interval_name, low_limit, high_limit)
  5122. values('$bidding_interval_name_new', '$low_limit_new', '$high_limit_new')";
  5123. $wpdb->query($s);
  5124. $s = "select id from ".$wpdb->prefix."project_bidding_intervals where
  5125. bidding_interval_name='$bidding_interval_name_new' and low_limit='$low_limit_new' and high_limit='$high_limit_new'";
  5126. $r = $wpdb->get_results($s);
  5127. $row = $r[0];
  5128. $arr = array();
  5129. $arr['bidding_interval_name'] = $bidding_interval_name_new;
  5130. $arr['low_limit'] = $low_limit_new;
  5131. $arr['high_limit'] = $high_limit_new;
  5132. $arr['id'] = $row->id;
  5133. echo json_encode($arr);
  5134. }
  5135. }
  5136. /*************************************************************
  5137. *
  5138. * ProjectTheme (c) sitemile.com - function
  5139. *
  5140. **************************************************************/
  5141. function ProjectTheme_send_email_posted_project_not_approved_admin($pid)
  5142. {
  5143. $enable = get_option('ProjectTheme_new_project_email_not_approve_admin_enable');
  5144. $subject = get_option('ProjectTheme_new_project_email_not_approve_admin_subject');
  5145. $message = get_option('ProjectTheme_new_project_email_not_approve_admin_message');
  5146. $opt = get_post_meta($pid, 'ProjectTheme_send_email_posted_project_not_approved_admin', true);
  5147. if($enable != "no" and empty($opt)):
  5148. update_post_meta($pid, 'ProjectTheme_send_email_posted_project_not_approved_admin', '1');
  5149. $post = get_post($pid);
  5150. $user = get_userdata($post->post_author);
  5151. $site_login_url = ProjectTheme_login_url();
  5152. $site_name = get_bloginfo('name');
  5153. $account_url = get_permalink(get_option('ProjectTheme_my_account_page_id'));
  5154. $find = array('##username##', '##username_email##', '##site_login_url##', '##your_site_name##', '##your_site_url##' , '##my_account_url##', '##project_name##', '##project_link##');
  5155. $replace = array($user->user_login, $user->user_email, $site_login_url, $site_name, get_bloginfo('siteurl'), $account_url, $post->post_title, get_permalink($pid));
  5156. $tag = 'ProjectTheme_send_email_posted_project_not_approved_admin';
  5157. $find = apply_filters( $tag . '_find', $find );
  5158. $replace = apply_filters( $tag . '_replace', $replace );
  5159. $message = ProjectTheme_replace_stuff_for_me($find, $replace, $message);
  5160. $subject = ProjectTheme_replace_stuff_for_me($find, $replace, $subject);
  5161. //---------------------------------------------
  5162. $email = get_bloginfo('admin_email');
  5163. ProjectTheme_send_email($email, $subject, $message);
  5164. endif;
  5165. }
  5166. /*************************************************************
  5167. *
  5168. * ProjectTheme (c) sitemile.com - function
  5169. *
  5170. **************************************************************/
  5171. function ProjectTheme_send_email_on_completed_project_to_bidder($pid, $bidder_id)
  5172. {
  5173. $enable = get_option('ProjectTheme_completed_project_bidder_email_enable');
  5174. $subject = get_option('ProjectTheme_completed_project_bidder_email_subject');
  5175. $message = get_option('ProjectTheme_completed_project_bidder_email_message');
  5176. if($enable != "no"):
  5177. $post = get_post($pid);
  5178. $user = get_userdata($bidder_id);
  5179. $site_login_url = ProjectTheme_login_url();
  5180. $site_name = get_bloginfo('name');
  5181. $account_url = get_permalink(get_option('ProjectTheme_my_account_page_id'));
  5182. $find = array('##username##', '##site_login_url##', '##your_site_name##', '##your_site_url##' , '##my_account_url##', '##project_name##', '##project_link##');
  5183. $replace = array($user->user_login, $site_login_url, $site_name, get_bloginfo('siteurl'), $account_url, $post->post_title, get_permalink($pid));
  5184. $tag = 'ProjectTheme_send_email_on_completed_project_to_bidder';
  5185. $find = apply_filters( $tag . '_find', $find );
  5186. $replace = apply_filters( $tag . '_replace', $replace );
  5187. $message = ProjectTheme_replace_stuff_for_me($find, $replace, $message);
  5188. $subject = ProjectTheme_replace_stuff_for_me($find, $replace, $subject);
  5189. //---------------------------------------------
  5190. ProjectTheme_send_email($user->user_email, $subject, $message);
  5191. endif;
  5192. }
  5193. /*************************************************************
  5194. *
  5195. * ProjectTheme (c) sitemile.com - function
  5196. *
  5197. **************************************************************/
  5198. function ProjectTheme_send_email_on_completed_project_to_owner($pid) // owner = post->post_author
  5199. {
  5200. $enable = get_option('ProjectTheme_completed_project_owner_email_enable');
  5201. $subject = get_option('ProjectTheme_completed_project_owner_email_subject');
  5202. $message = get_option('ProjectTheme_completed_project_owner_email_message');
  5203. if($enable != "no"):
  5204. $post = get_post($pid);
  5205. $user = get_userdata($post->post_author);
  5206. $site_login_url = ProjectTheme_login_url();
  5207. $site_name = get_bloginfo('name');
  5208. $account_url = get_permalink(get_option('ProjectTheme_my_account_page_id'));
  5209. $find = array('##username##', '##site_login_url##', '##your_site_name##', '##your_site_url##' , '##my_account_url##', '##project_name##', '##project_link##');
  5210. $replace = array($user->user_login, $site_login_url, $site_name, get_bloginfo('siteurl'), $account_url, $post->post_title, get_permalink($pid));
  5211. $tag = 'ProjectTheme_send_email_on_completed_project_to_owner';
  5212. $find = apply_filters( $tag . '_find', $find );
  5213. $replace = apply_filters( $tag . '_replace', $replace );
  5214. $message = ProjectTheme_replace_stuff_for_me($find, $replace, $message);
  5215. $subject = ProjectTheme_replace_stuff_for_me($find, $replace, $subject);
  5216. //---------------------------------------------
  5217. ProjectTheme_send_email($user->user_email, $subject, $message);
  5218. endif;
  5219. }
  5220. //-----
  5221. /*************************************************************
  5222. *
  5223. * ProjectTheme (c) sitemile.com - function
  5224. *
  5225. **************************************************************/
  5226. function ProjectTheme_send_email_on_delivered_project_to_bidder($pid, $bidder_id)
  5227. {
  5228. $enable = get_option('ProjectTheme_delivered_project_bidder_email_enable');
  5229. $subject = get_option('ProjectTheme_delivered_project_bidder_email_subject');
  5230. $message = get_option('ProjectTheme_delivered_project_bidder_email_message');
  5231. if($enable != "no"):
  5232. $post = get_post($pid);
  5233. $user = get_userdata($bidder_id);
  5234. $site_login_url = ProjectTheme_login_url();
  5235. $site_name = get_bloginfo('name');
  5236. $account_url = get_permalink(get_option('ProjectTheme_my_account_page_id'));
  5237. $find = array('##username##', '##site_login_url##', '##your_site_name##', '##your_site_url##' , '##my_account_url##', '##project_name##', '##project_link##');
  5238. $replace = array($user->user_login, $site_login_url, $site_name, get_bloginfo('siteurl'), $account_url, $post->post_title, get_permalink($pid));
  5239. $tag = 'ProjectTheme_send_email_on_delivered_project_to_bidder';
  5240. $find = apply_filters( $tag . '_find', $find );
  5241. $replace = apply_filters( $tag . '_replace', $replace );
  5242. $message = ProjectTheme_replace_stuff_for_me($find, $replace, $message);
  5243. $subject = ProjectTheme_replace_stuff_for_me($find, $replace, $subject);
  5244. //---------------------------------------------
  5245. $email = get_bloginfo('admin_email');
  5246. ProjectTheme_send_email($user->user_email, $subject, $message);
  5247. endif;
  5248. }
  5249. /*************************************************************
  5250. *
  5251. * ProjectTheme (c) sitemile.com - function
  5252. *
  5253. **************************************************************/
  5254. function ProjectTheme_send_email_on_delivered_project_to_owner($pid) // owner = post->post_author
  5255. {
  5256. $enable = get_option('ProjectTheme_delivered_project_owner_email_enable');
  5257. $subject = get_option('ProjectTheme_delivered_project_owner_email_subject');
  5258. $message = get_option('ProjectTheme_delivered_project_owner_email_message');
  5259. if($enable != "no"):
  5260. $post = get_post($pid);
  5261. $user = get_userdata($post->post_author);
  5262. $site_login_url = ProjectTheme_login_url();
  5263. $site_name = get_bloginfo('name');
  5264. $account_url = get_permalink(get_option('ProjectTheme_my_account_page_id'));
  5265. $find = array('##username##', '##site_login_url##', '##your_site_name##', '##your_site_url##' , '##my_account_url##', '##project_name##', '##project_link##');
  5266. $replace = array($user->user_login, $site_login_url, $site_name, get_bloginfo('siteurl'), $account_url, $post->post_title, get_permalink($pid));
  5267. $tag = 'ProjectTheme_send_email_on_completed_project_to_owner';
  5268. $find = apply_filters( $tag . '_find', $find );
  5269. $replace = apply_filters( $tag . '_replace', $replace );
  5270. $message = ProjectTheme_replace_stuff_for_me($find, $replace, $message);
  5271. $subject = ProjectTheme_replace_stuff_for_me($find, $replace, $subject);
  5272. //---------------------------------------------
  5273. ProjectTheme_send_email($user->user_email, $subject, $message);
  5274. endif;
  5275. }
  5276. /*************************************************************
  5277. *
  5278. * ProjectTheme (c) sitemile.com - function
  5279. *
  5280. **************************************************************/
  5281. function ProjectTheme_send_email_on_message_board_owner($pid, $owner_id, $sender_id)
  5282. {
  5283. $enable = get_option('ProjectTheme_message_board_owner_email_enable');
  5284. $subject = get_option('ProjectTheme_message_board_owner_email_subject');
  5285. $message = get_option('ProjectTheme_message_board_owner_email_message');
  5286. if($enable != "no"):
  5287. $owner_id = get_userdata($owner_id);
  5288. $sender_id = get_userdata($sender_id);
  5289. $site_login_url = ProjectTheme_login_url();
  5290. $site_name = get_bloginfo('name');
  5291. $account_url = get_permalink(get_option('ProjectTheme_my_account_page_id'));
  5292. $project = get_post($pid);
  5293. $find = array('##username##', '##message_owner_username##', '##site_login_url##', '##your_site_name##', '##your_site_url##' , '##my_account_url##','##project_name##','##project_link##');
  5294. $replace = array($owner_id->user_login, $sender_id->user_login, $site_login_url, $site_name, get_bloginfo('siteurl'), $account_url, $project->post_title, get_permalink($pid));
  5295. $tag = 'ProjectTheme_send_email_on_message_board_owner';
  5296. $find = apply_filters( $tag . '_find', $find );
  5297. $replace = apply_filters( $tag . '_replace', $replace );
  5298. $message = ProjectTheme_replace_stuff_for_me($find, $replace, $message);
  5299. $subject = ProjectTheme_replace_stuff_for_me($find, $replace, $subject);
  5300. //---------------------------------------------
  5301. ProjectTheme_send_email($owner_id->user_email, $subject, $message);
  5302. endif;
  5303. }
  5304. function ProjectTheme_send_email_on_message_board_bidder($pid, $owner_id, $sender_id)
  5305. {
  5306. $enable = get_option('ProjectTheme_message_board_bidder_email_enable');
  5307. $subject = get_option('ProjectTheme_message_board_bidder_email_subject');
  5308. $message = get_option('ProjectTheme_message_board_bidder_email_message');
  5309. if($enable != "no"):
  5310. $owner_id = get_userdata($owner_id);
  5311. $sender_id = get_userdata($sender_id);
  5312. $site_login_url = ProjectTheme_login_url();
  5313. $site_name = get_bloginfo('name');
  5314. $account_url = get_permalink(get_option('ProjectTheme_my_account_page_id'));
  5315. $project = get_post($pid);
  5316. $find = array('##project_username##', '##username##', '##site_login_url##', '##your_site_name##', '##your_site_url##' , '##my_account_url##','##project_name##','##project_link##');
  5317. $replace = array($owner_id->user_login, $sender_id->user_login, $site_login_url, $site_name, get_bloginfo('siteurl'), $account_url, $project->post_title, get_permalink($pid));
  5318. $tag = 'ProjectTheme_send_email_on_message_board_bidder';
  5319. $find = apply_filters( $tag . '_find', $find );
  5320. $replace = apply_filters( $tag . '_replace', $replace );
  5321. $message = ProjectTheme_replace_stuff_for_me($find, $replace, $message);
  5322. $subject = ProjectTheme_replace_stuff_for_me($find, $replace, $subject);
  5323. //---------------------------------------------
  5324. ProjectTheme_send_email($sender_id->user_email, $subject, $message);
  5325. endif;
  5326. }
  5327. /*************************************************************
  5328. *
  5329. * ProjectTheme (c) sitemile.com - function
  5330. *
  5331. **************************************************************/
  5332. function ProjectTheme_send_email_on_priv_mess_received($sender_uid, $receiver_uid)
  5333. {
  5334. $enable = get_option('ProjectTheme_priv_mess_received_email_enable');
  5335. $subject = get_option('ProjectTheme_priv_mess_received_email_subject');
  5336. $message = get_option('ProjectTheme_priv_mess_received_email_message');
  5337. if($enable != "no"):
  5338. $user = get_userdata($receiver_uid);
  5339. $site_login_url = ProjectTheme_login_url();
  5340. $site_name = get_bloginfo('name');
  5341. $account_url = get_permalink(get_option('ProjectTheme_my_account_page_id'));
  5342. $sndr = get_userdata($sender_uid);
  5343. $find = array('##sender_username##', '##receiver_username##', '##site_login_url##', '##your_site_name##', '##your_site_url##' , '##my_account_url##');
  5344. $replace = array($sndr->user_login, $user->user_login, $site_login_url, $site_name, get_bloginfo('siteurl'), $account_url);
  5345. $tag = 'ProjectTheme_send_email_on_priv_mess_received';
  5346. $find = apply_filters( $tag . '_find', $find );
  5347. $replace = apply_filters( $tag . '_replace', $replace );
  5348. $message = ProjectTheme_replace_stuff_for_me($find, $replace, $message);
  5349. $subject = ProjectTheme_replace_stuff_for_me($find, $replace, $subject);
  5350. //---------------------------------------------
  5351. ProjectTheme_send_email($user->user_email, $subject, $message);
  5352. endif;
  5353. }
  5354. /*************************************************************
  5355. *
  5356. * ProjectTheme (c) sitemile.com - function
  5357. *
  5358. **************************************************************/
  5359. function ProjectTheme_send_email_on_rated_user($pid, $rated_user_id)
  5360. {
  5361. $enable = get_option('ProjectTheme_rated_user_email_enable');
  5362. $subject = get_option('ProjectTheme_rated_user_email_subject');
  5363. $message = get_option('ProjectTheme_rated_user_email_message');
  5364. if($enable != "no"):
  5365. $post = get_post($pid);
  5366. $user = get_userdata($rated_user_id);
  5367. $site_login_url = ProjectTheme_login_url();
  5368. $site_name = get_bloginfo('name');
  5369. $account_url = get_permalink(get_option('ProjectTheme_my_account_page_id'));
  5370. global $wpdb;
  5371. $s = "select * from ".$wpdb->prefix."project_ratings where pid='$pid' AND touser='$rated_user_id'";
  5372. $r = $wpdb->get_results($s);
  5373. $row = $r[0];
  5374. $rating = ceil($row->grade/2);
  5375. $comment = $row->comment;
  5376. $find = array('##username##', '##site_login_url##', '##your_site_name##', '##your_site_url##' , '##my_account_url##', '##project_name##', '##project_link##','##rating##','##comment##');
  5377. $replace = array($user->user_login, $site_login_url, $site_name, get_bloginfo('siteurl'), $account_url, $post->post_title, get_permalink($pid),
  5378. $rating, $comment);
  5379. $tag = 'ProjectTheme_send_email_on_rated_user';
  5380. $find = apply_filters( $tag . '_find', $find );
  5381. $replace = apply_filters( $tag . '_replace', $replace );
  5382. $message = ProjectTheme_replace_stuff_for_me($find, $replace, $message);
  5383. $subject = ProjectTheme_replace_stuff_for_me($find, $replace, $subject);
  5384. //---------------------------------------------
  5385. ProjectTheme_send_email($user->user_email, $subject, $message);
  5386. endif;
  5387. }
  5388. /*************************************************************
  5389. *
  5390. * ProjectTheme (c) sitemile.com - function
  5391. *
  5392. **************************************************************/
  5393. function ProjectTheme_send_email_on_win_to_loser($pid, $loser_uid)
  5394. {
  5395. $enable = get_option('ProjectTheme_won_project_loser_email_enable');
  5396. $subject = get_option('ProjectTheme_won_project_loser_email_subject');
  5397. $message = get_option('ProjectTheme_won_project_loser_email_message');
  5398. if($enable != "no"):
  5399. $post = get_post($pid);
  5400. $user = get_userdata($loser_uid);
  5401. $site_login_url = ProjectTheme_login_url();
  5402. $site_name = get_bloginfo('name');
  5403. $account_url = get_permalink(get_option('ProjectTheme_my_account_page_id'));
  5404. $projectTheme_get_winner_bid = projectTheme_get_winner_bid($pid);
  5405. $usrnm = get_userdata($projectTheme_get_winner_bid->uid);
  5406. $winner_bid_username = $usrnm->user_login;
  5407. $winner_bid_value = projecttheme_get_show_price($projectTheme_get_winner_bid->bid);
  5408. $skk = projectTheme_get_bid_by_uid($pid, $loser_uid);
  5409. $user_bid_value = projecttheme_get_show_price($skk->bid);
  5410. $find = array('##username##', '##site_login_url##', '##your_site_name##', '##your_site_url##' , '##my_account_url##', '##project_name##', '##project_link##',
  5411. '##user_bid_value##','##winner_bid_username##','##winner_bid_value##');
  5412. $replace = array($user->user_login, $site_login_url, $site_name, get_bloginfo('siteurl'), $account_url, $post->post_title, get_permalink($pid),
  5413. $user_bid_value,$winner_bid_username,$winner_bid_value);
  5414. $tag = 'ProjectTheme_send_email_on_win_to_loser';
  5415. $find = apply_filters( $tag . '_find', $find );
  5416. $replace = apply_filters( $tag . '_replace', $replace );
  5417. $message = ProjectTheme_replace_stuff_for_me($find, $replace, $message);
  5418. $subject = ProjectTheme_replace_stuff_for_me($find, $replace, $subject);
  5419. //---------------------------------------------
  5420. ProjectTheme_send_email($user->user_email, $subject, $message);
  5421. endif;
  5422. }
  5423. /*************************************************************
  5424. *
  5425. * ProjectTheme (c) sitemile.com - function
  5426. *
  5427. **************************************************************/
  5428. function ProjectTheme_send_email_on_win_to_owner($pid, $winner_uid)
  5429. {
  5430. $enable = get_option('ProjectTheme_won_project_owner_email_enable');
  5431. $subject = get_option('ProjectTheme_won_project_owner_email_subject');
  5432. $message = get_option('ProjectTheme_won_project_owner_email_message');
  5433. if($enable != "no"):
  5434. $post = get_post($pid);
  5435. $user = get_userdata($post->post_author);
  5436. $site_login_url = ProjectTheme_login_url();
  5437. $site_name = get_bloginfo('name');
  5438. $account_url = get_permalink(get_option('ProjectTheme_my_account_page_id'));
  5439. $projectTheme_get_winner_bid = projectTheme_get_winner_bid($pid);
  5440. $usrnm = get_userdata($winner_uid);
  5441. $winner_bid_username = $usrnm->user_login;
  5442. $winner_bid_value = projecttheme_get_show_price($projectTheme_get_winner_bid->bid);
  5443. //--------------------------------------------------------------------------
  5444. $find = array('##username##', '##site_login_url##', '##your_site_name##', '##your_site_url##' , '##my_account_url##', '##project_name##', '##project_link##','##winner_bid_value##','##winner_bid_username##');
  5445. $replace = array($user->user_login, $site_login_url, $site_name, get_bloginfo('siteurl'), $account_url, $post->post_title, get_permalink($pid),
  5446. $winner_bid_value,$winner_bid_username );
  5447. $tag = 'ProjectTheme_send_email_on_win_to_owner';
  5448. $find = apply_filters( $tag . '_find', $find );
  5449. $replace = apply_filters( $tag . '_replace', $replace );
  5450. $message = ProjectTheme_replace_stuff_for_me($find, $replace, $message);
  5451. $subject = ProjectTheme_replace_stuff_for_me($find, $replace, $subject);
  5452. //---------------------------------------------
  5453. ProjectTheme_send_email($user->user_email, $subject, $message);
  5454. endif;
  5455. }
  5456. /*************************************************************
  5457. *
  5458. * ProjectTheme (c) sitemile.com - function
  5459. *
  5460. **************************************************************/
  5461. function ProjectTheme_send_email_on_win_to_bidder($pid, $winner_uid)
  5462. {
  5463. $enable = get_option('ProjectTheme_won_project_winner_email_enable');
  5464. $subject = get_option('ProjectTheme_won_project_winner_email_subject');
  5465. $message = get_option('ProjectTheme_won_project_winner_email_message');
  5466. if($enable != "no"):
  5467. $post = get_post($pid);
  5468. $user = get_userdata($winner_uid);
  5469. $site_login_url = ProjectTheme_login_url();
  5470. $site_name = get_bloginfo('name');
  5471. $account_url = get_permalink(get_option('ProjectTheme_my_account_page_id'));
  5472. $projectTheme_get_winner_bid = projectTheme_get_winner_bid($pid);
  5473. $usrnm = get_userdata($winner_uid);
  5474. $winner_bid_username = $usrnm->user_login;
  5475. $winner_bid_value = projecttheme_get_show_price($projectTheme_get_winner_bid->bid);
  5476. $find = array('##username##', '##username_email##', '##site_login_url##', '##your_site_name##', '##your_site_url##' , '##my_account_url##', '##project_name##', '##project_link##','##winner_bid_value##');
  5477. $replace = array($user->user_login, $user->user_email, $site_login_url, $site_name, get_bloginfo('siteurl'), $account_url, $post->post_title, get_permalink($pid), $winner_bid_value);
  5478. $tag = 'ProjectTheme_send_email_on_win_to_bidder';
  5479. $find = apply_filters( $tag . '_find', $find );
  5480. $replace = apply_filters( $tag . '_replace', $replace );
  5481. $message = ProjectTheme_replace_stuff_for_me($find, $replace, $message);
  5482. $subject = ProjectTheme_replace_stuff_for_me($find, $replace, $subject);
  5483. //--------------------------------------
  5484. ProjectTheme_send_email($user->user_email, $subject, $message);
  5485. endif;
  5486. }
  5487. /*************************************************************
  5488. *
  5489. * ProjectTheme (c) sitemile.com - function
  5490. *
  5491. **************************************************************/
  5492. function ProjectTheme_send_email_when_bid_project_bidder($pid, $uid, $bid)
  5493. {
  5494. $enable = get_option('ProjectTheme_bid_project_bidder_email_enable');
  5495. $subject = get_option('ProjectTheme_bid_project_bidder_email_subject');
  5496. $message = get_option('ProjectTheme_bid_project_bidder_email_message');
  5497. if($enable != "no"):
  5498. $post = get_post($pid);
  5499. $user = get_userdata($uid);
  5500. $site_login_url = ProjectTheme_login_url();
  5501. $site_name = get_bloginfo('name');
  5502. $account_url = get_permalink(get_option('ProjectTheme_my_account_page_id'));
  5503. $bid_val = ProjectTheme_get_show_price($bid);
  5504. $find = array('##username##', '##site_login_url##', '##your_site_name##', '##your_site_url##' , '##my_account_url##', '##project_name##', '##project_link##', '##bid_value##');
  5505. $replace = array($user->user_login, $site_login_url, $site_name, get_bloginfo('siteurl'), $account_url, $post->post_title, get_permalink($pid), $bid_val );
  5506. //---------------------------------------------
  5507. $tag = 'ProjectTheme_send_email_when_bid_project_bidder';
  5508. $find = apply_filters( $tag . '_find', $find );
  5509. $replace = apply_filters( $tag . '_replace', $replace );
  5510. $message = ProjectTheme_replace_stuff_for_me($find, $replace, $message);
  5511. $subject = ProjectTheme_replace_stuff_for_me($find, $replace, $subject);
  5512. ProjectTheme_send_email($user->user_email, $subject, $message);
  5513. endif;
  5514. }
  5515. /*************************************************************
  5516. *
  5517. * ProjectTheme (c) sitemile.com - function
  5518. *
  5519. **************************************************************/
  5520. function ProjectTheme_send_email_when_bid_project_owner($pid, $uid, $bid)
  5521. {
  5522. $enable = get_option('ProjectTheme_bid_project_owner_email_enable');
  5523. $subject = get_option('ProjectTheme_bid_project_owner_email_subject');
  5524. $message = get_option('ProjectTheme_bid_project_owner_email_message');
  5525. if($enable != "no"):
  5526. $bidder = get_userdata($uid);
  5527. $post = get_post($pid);
  5528. $user = get_userdata($post->post_author);
  5529. $site_login_url = ProjectTheme_login_url();
  5530. $site_name = get_bloginfo('name');
  5531. $account_url = get_permalink(get_option('ProjectTheme_my_account_page_id'));
  5532. $bid_val = ProjectTheme_get_show_price($bid);
  5533. $bidder_username = $bidder->user_login;
  5534. $author = get_userdata($post->post_author);
  5535. $find = array('##username##', '##bid_value##', '##site_login_url##', '##your_site_name##', '##your_site_url##' , '##my_account_url##', '##project_name##', '##project_link##', '##bidder_username##');
  5536. $replace = array($user->user_login, $bid_val, $site_login_url, $site_name, get_bloginfo('siteurl'), $account_url, $post->post_title, get_permalink($pid), $bidder_username);
  5537. $tag = 'ProjectTheme_send_email_when_bid_project_owner';
  5538. $find = apply_filters( $tag . '_find', $find );
  5539. $replace = apply_filters( $tag . '_replace', $replace );
  5540. $message = ProjectTheme_replace_stuff_for_me($find, $replace, $message);
  5541. $subject = ProjectTheme_replace_stuff_for_me($find, $replace, $subject);
  5542. //---------------------------------------------
  5543. ProjectTheme_send_email($author->user_email, $subject, $message);
  5544. endif;
  5545. }
  5546. function ProjectTheme_send_email_when_on_completed_project($pid, $uid, $bid)
  5547. {
  5548. $enable = get_option('ProjectTheme_payment_on_completed_project_enable');
  5549. $subject = get_option('ProjectTheme_payment_on_completed_project_subject');
  5550. $message = get_option('ProjectTheme_payment_on_completed_project_message');
  5551. if($enable != "no"):
  5552. $bidder = get_userdata($uid);
  5553. $post = get_post($pid);
  5554. $user = get_userdata($post->post_author);
  5555. $site_login_url = ProjectTheme_login_url();
  5556. $site_name = get_bloginfo('name');
  5557. $account_url = get_permalink(get_option('ProjectTheme_my_account_page_id'));
  5558. $bid_val = ProjectTheme_get_show_price($bid);
  5559. $bidder_username = $bidder->user_login;
  5560. $author = get_userdata($post->post_author);
  5561. $find = array('##username##', '##bid_value##', '##site_login_url##', '##your_site_name##', '##your_site_url##' , '##my_account_url##', '##project_name##', '##project_link##', '##bidder_username##');
  5562. $replace = array($user->user_login, $bid_val, $site_login_url, $site_name, get_bloginfo('siteurl'), $account_url, $post->post_title, get_permalink($pid), $bidder_username);
  5563. $tag = 'ProjectTheme_send_email_when_on_completed_project';
  5564. $find = apply_filters( $tag . '_find', $find );
  5565. $replace = apply_filters( $tag . '_replace', $replace );
  5566. $message = ProjectTheme_replace_stuff_for_me($find, $replace, $message);
  5567. $subject = ProjectTheme_replace_stuff_for_me($find, $replace, $subject);
  5568. //---------------------------------------------
  5569. ProjectTheme_send_email($author->user_email, $subject, $message);
  5570. endif;
  5571. }
  5572. /*************************************************************
  5573. *
  5574. * ProjectTheme (c) sitemile.com - function
  5575. *
  5576. **************************************************************/
  5577. function ProjectTheme_send_email_posted_project_approved_admin($pid)
  5578. {
  5579. $enable = get_option('ProjectTheme_new_project_email_approve_admin_enable');
  5580. $subject = get_option('ProjectTheme_new_project_email_approve_admin_subject');
  5581. $message = get_option('ProjectTheme_new_project_email_approve_admin_message');
  5582. $opt = get_post_meta($pid,'ProjectTheme_send_email_posted_project_approved_admin', true);
  5583. if($enable != "no" and empty($opt)):
  5584. update_post_meta($pid,'ProjectTheme_send_email_posted_project_approved_admin', '1');
  5585. $post = get_post($pid);
  5586. $user = get_userdata($post->post_author);
  5587. $site_login_url = ProjectTheme_login_url();
  5588. $site_name = get_bloginfo('name');
  5589. $account_url = get_permalink(get_option('ProjectTheme_my_account_page_id'));
  5590. $find = array('##username##', '##username_email##', '##site_login_url##', '##your_site_name##', '##your_site_url##' , '##my_account_url##', '##project_name##', '##project_link##');
  5591. $replace = array($user->user_login, $user->user_email, $site_login_url, $site_name, get_bloginfo('siteurl'), $account_url, $post->post_title, get_permalink($pid));
  5592. $tag = 'ProjectTheme_send_email_posted_project_approved_admin';
  5593. $find = apply_filters( $tag . '_find', $find );
  5594. $replace = apply_filters( $tag . '_replace', $replace );
  5595. $message = ProjectTheme_replace_stuff_for_me($find, $replace, $message);
  5596. $subject = ProjectTheme_replace_stuff_for_me($find, $replace, $subject);
  5597. //---------------------------------------------
  5598. $email = get_bloginfo('admin_email');
  5599. ProjectTheme_send_email($email, $subject, $message);
  5600. endif;
  5601. }
  5602. /*************************************************************
  5603. *
  5604. * ProjectTheme (c) sitemile.com - function
  5605. *
  5606. **************************************************************/
  5607. function ProjectTheme_send_email_posted_project_not_approved($pid)
  5608. {
  5609. $enable = get_option('ProjectTheme_new_project_email_not_approved_enable');
  5610. $subject = get_option('ProjectTheme_new_project_email_not_approved_subject');
  5611. $message = get_option('ProjectTheme_new_project_email_not_approved_message');
  5612. $opt = get_post_meta($pid,'ProjectTheme_send_email_posted_project_not_approved', true);
  5613. if($enable != "no" and empty($opt)):
  5614. update_post_meta($pid,'ProjectTheme_send_email_posted_project_not_approved', '1');
  5615. $post = get_post($pid);
  5616. $user = get_userdata($post->post_author);
  5617. $site_login_url = ProjectTheme_login_url();
  5618. $site_name = get_bloginfo('name');
  5619. $account_url = get_permalink(get_option('ProjectTheme_my_account_page_id'));
  5620. $project_name = $post->post_title;
  5621. $find = array('##username##', '##username_email##', '##site_login_url##', '##your_site_name##', '##your_site_url##' , '##my_account_url##', '##project_name##', '##project_link##');
  5622. $replace = array($user->user_login, $user->user_email, $site_login_url, $site_name, get_bloginfo('siteurl'), $account_url, $project_name, get_permalink($pid));
  5623. $tag = 'ProjectTheme_send_email_posted_project_not_approved';
  5624. $find = apply_filters( $tag . '_find', $find );
  5625. $replace = apply_filters( $tag . '_replace', $replace );
  5626. $message = ProjectTheme_replace_stuff_for_me($find, $replace, $message);
  5627. $subject = ProjectTheme_replace_stuff_for_me($find, $replace, $subject);
  5628. //---------------------------------------------
  5629. $email = $user->user_email;
  5630. ProjectTheme_send_email($email, $subject, $message);
  5631. endif;
  5632. }
  5633. /*************************************************************
  5634. *
  5635. * ProjectTheme (c) sitemile.com - function
  5636. *
  5637. **************************************************************/
  5638. function ProjectTheme_send_email_posted_project_approved($pid)
  5639. {
  5640. $enable = get_option('ProjectTheme_new_project_email_approved_enable');
  5641. $subject = get_option('ProjectTheme_new_project_email_approved_subject');
  5642. $message = get_option('ProjectTheme_new_project_email_approved_message');
  5643. $opt = get_post_meta($pid,'ProjectTheme_send_email_posted_project_approved', true);
  5644. if($enable != "no" and empty($opt)):
  5645. update_post_meta($pid,'ProjectTheme_send_email_posted_project_approved', '1');
  5646. $post = get_post($pid);
  5647. $user = get_userdata($post->post_author);
  5648. $site_login_url = ProjectTheme_login_url();
  5649. $site_name = get_bloginfo('name');
  5650. $account_url = get_permalink(get_option('ProjectTheme_my_account_page_id'));
  5651. $post = get_post($pid);
  5652. $project_name = $post->post_title;
  5653. $project_link = get_permalink($pid);
  5654. $find = array('##username##', '##username_email##', '##site_login_url##', '##your_site_name##', '##your_site_url##' , '##my_account_url##', '##project_name##', '##project_link##');
  5655. $replace = array($user->user_login, $user->user_email, $site_login_url, $site_name, get_bloginfo('siteurl'), $account_url, $project_name, $project_link);
  5656. $tag = 'ProjectTheme_send_email_posted_project_approved';
  5657. $find = apply_filters( $tag . '_find', $find );
  5658. $replace = apply_filters( $tag . '_replace', $replace );
  5659. $message = ProjectTheme_replace_stuff_for_me($find, $replace, $message);
  5660. $subject = ProjectTheme_replace_stuff_for_me($find, $replace, $subject);
  5661. //---------------------------------------------
  5662. $email = $user->user_email;
  5663. ProjectTheme_send_email($email, $subject, $message);
  5664. endif;
  5665. }
  5666. function Walleto_send_email_on_priv_mess_received($sender_uid, $receiver_uid)
  5667. {
  5668. $enable = get_option('Walleto_priv_mess_received_email_enable');
  5669. $subject = get_option('Walleto_priv_mess_received_email_subject');
  5670. $message = get_option('Walleto_priv_mess_received_email_message');
  5671. if($enable != "no"):
  5672. $user = get_userdata($receiver_uid);
  5673. $site_login_url = Walleto_login_url();
  5674. $site_name = get_bloginfo('name');
  5675. $account_url = get_permalink(get_option('Walleto_my_account_page_id'));
  5676. $sndr = get_userdata($sender_uid);
  5677. $find = array('##sender_username##', '##receiver_username##', '##site_login_url##', '##your_site_name##', '##your_site_url##' , '##my_account_url##');
  5678. $replace = array($sndr->user_login, $user->user_login, $site_login_url, $site_name, get_bloginfo('siteurl'), $account_url);
  5679. $tag = 'Walleto_send_email_on_priv_mess_received';
  5680. $find = apply_filters( $tag . '_find', $find );
  5681. $replace = apply_filters( $tag . '_replace', $replace );
  5682. $message = Walleto_replace_stuff_for_me($find, $replace, $message);
  5683. $subject = Walleto_replace_stuff_for_me($find, $replace, $subject);
  5684. //---------------------------------------------
  5685. Walleto_send_email($user->user_email, $subject, $message);
  5686. endif;
  5687. }
  5688. function Walleto_send_email_posted_item_not_approved_admin($pid)
  5689. {
  5690. $enable = get_option('Walleto_new_item_email_not_approve_admin_enable');
  5691. $subject = get_option('Walleto_new_item_email_not_approve_admin_subject');
  5692. $message = get_option('Walleto_new_item_email_not_approve_admin_message');
  5693. if($enable != "no"):
  5694. $post = get_post($pid);
  5695. $user = get_userdata($post->post_author);
  5696. $site_login_url = Walleto_login_url();
  5697. $site_name = get_bloginfo('name');
  5698. $account_url = get_permalink(get_option('Walleto_my_account_page_id'));
  5699. $find = array('##username##', '##username_email##', '##site_login_url##', '##your_site_name##', '##your_site_url##' , '##my_account_url##', '##item_name##', '##item_link##');
  5700. $replace = array($user->user_login, $user->user_email, $site_login_url, $site_name, get_bloginfo('siteurl'), $account_url, $post->post_title, get_permalink($pid));
  5701. $tag = 'Walleto_send_email_posted_item_not_approved_admin';
  5702. $find = apply_filters( $tag . '_find', $find );
  5703. $replace = apply_filters( $tag . '_replace', $replace );
  5704. $message = Walleto_replace_stuff_for_me($find, $replace, $message);
  5705. $subject = Walleto_replace_stuff_for_me($find, $replace, $subject);
  5706. //---------------------------------------------
  5707. $email = get_bloginfo('admin_email');
  5708. Walleto_send_email($email, $subject, $message);
  5709. endif;
  5710. }
  5711. /*************************************************************
  5712. *
  5713. * ProjectTheme (c) sitemile.com - function
  5714. *
  5715. **************************************************************/
  5716. function projectTheme_rewrite_rules( $wp_rewrite )
  5717. {
  5718. global $category_url_link, $location_url_link;
  5719. $new_rules = array(
  5720. $category_url_link.'/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$' => 'index.php?project_cat='.$wp_rewrite->preg_index(1)."&feed=".$wp_rewrite->preg_index(2),
  5721. $category_url_link.'/([^/]+)/(feed|rdf|rss|rss2|atom)/?$' => 'index.php?project_cat='.$wp_rewrite->preg_index(1)."&feed=".$wp_rewrite->preg_index(2),
  5722. $category_url_link.'/([^/]+)/page/?([0-9]{1,})/?$' => 'index.php?project_cat='.$wp_rewrite->preg_index(1)."&paged=".$wp_rewrite->preg_index(2),
  5723. $category_url_link.'/([^/]+)/?$' => 'index.php?project_cat='.$wp_rewrite->preg_index(1)
  5724. );
  5725. $wp_rewrite->rules = $new_rules + $wp_rewrite->rules;
  5726. }
  5727. /*************************************************************
  5728. *
  5729. * ProjectTheme (c) sitemile.com - function
  5730. *
  5731. **************************************************************/
  5732. add_filter('term_link', 'ProjectTheme_post_tax_link_filter_function', 1, 3);
  5733. function ProjectTheme_post_tax_link_filter_function( $post_link, $id = 0, $leavename = FALSE ) {
  5734. global $category_url_link;
  5735. return str_replace("project_cat",$category_url_link ,$post_link);
  5736. }
  5737. /*************************************************************
  5738. *
  5739. * ProjectTheme (c) sitemile.com - function
  5740. *
  5741. **************************************************************/
  5742. function ProjectTheme_get_total_nr_of_projects()
  5743. {
  5744. $query = new WP_Query( "post_type=project&order=DESC&orderby=id&posts_per_page=1&paged=1" );
  5745. return $query->found_posts;
  5746. }
  5747. function ProjectTheme_get_total_nr_of_open_projects()
  5748. {
  5749. $args = array('paged' => '1' , 'posts_per_page' => '1', 'post_type' => 'project',
  5750. 'meta_query' => array(array(
  5751. 'key' => 'closed',
  5752. 'value' => '0',
  5753. 'compare' => '=')));
  5754. $query1 = new WP_Query($args);
  5755. return $query1->found_posts;
  5756. }
  5757. function ProjectTheme_get_total_nr_of_closed_projects()
  5758. {
  5759. $args = array('paged' => '1' , 'posts_per_page' => '1', 'post_type' => 'project',
  5760. 'meta_query' => array(array(
  5761. 'key' => 'closed',
  5762. 'value' => '1',
  5763. 'compare' => '=')));
  5764. $query = new WP_Query( $args);
  5765. return $query->found_posts;
  5766. }
  5767. /*************************************************************
  5768. *
  5769. * ProjectTheme (c) sitemile.com - function
  5770. *
  5771. **************************************************************/
  5772. function projectTheme_send_email_to_project_payer($pid, $payer_user_id, $receiver_user_id, $amount, $pay_by_credits = '0')
  5773. {
  5774. $paid_user = get_post_meta($pid, 'paid_user',true);
  5775. if($paid_user == "0") :
  5776. $post = get_post($pid);
  5777. $payer_user = get_userdata($payer_user_id);
  5778. $datemade = current_time('timestamp',0);
  5779. $perm = get_permalink($pid);
  5780. $receiver_user = get_userdata($receiver_user_id);
  5781. //-----------
  5782. update_post_meta($pid, 'paid_user',"1");
  5783. update_post_meta($pid, "paid_user_date", $datemade);
  5784. $receiver_user_id = get_post_meta($pid, 'winner', true);
  5785. //-----------
  5786. $subject = sprintf(__("Your payment was completed for the project: %s",'ProjectTheme'), $post->post_title);
  5787. $message = sprintf(__('You have paid for the project <a href="%s">%s</a> the amount of: %s %s to user:
  5788. <b>%s</b>',"ProjectTheme"),$perm,$post->post_title,$amount,$cure,$receiver_user->user_login) ;
  5789. //sitemile_send_email($receiver_user->user_email, $subject , $message); // send email for the payment received
  5790. $subject = sprintf(__("Details for closed Project: %s",'ProjectTheme'), $post->post_title);
  5791. $message = sprintf(__('The project <a href="%s">%s</a> was just closed. Here is the user email for the other party: %s',"ProjectTheme"),
  5792. $perm,$post->post_title,$payer_user->user_email) ;
  5793. //sitemile_send_email($receiver_user->user_email, $subject , $message); // send email for the details
  5794. //------------
  5795. $subject = sprintf(__("Your have received payment for the project: %s",'ProjectTheme'), $post->post_title);
  5796. $message = sprintf(__('You have been just paid for the project <a href="%s">%s</a> the amount of: %s %s from user:
  5797. <b>%s</b>',"ProjectTheme"),$perm,$post->post_title,$amount,$cure, $payer_user->user_login) ;
  5798. //sitemile_send_email($payer_user->user_email, $subject , $message); // send email for the payment received
  5799. $subject = sprintf(__("Details for closed Project: %s",'ProjectTheme'), $post->post_title);
  5800. $message = sprintf(__('The project <a href="%s">%s</a> was just closed. Here is the user email for the other party: %s',"ProjectTheme"),
  5801. $perm,$post->post_title,$receiver_user->user_email) ;
  5802. //sitemile_send_email($payer_user->user_email, $subject , $message); // send email for the details
  5803. //------------
  5804. if($pay_by_credits == '1'):
  5805. $cr = projectTheme_get_credits($payer_user_id);
  5806. projectTheme_update_credits($payer_user_id, $cr - $amount);
  5807. $uprof = ProjectTheme_get_user_profile_link($receiver_user->ID); //get_bloginfo('siteurl')."/user-profile/".$receiver_user->user_login;
  5808. $reason = sprintf(__('Payment sent to <a href="%s">%s</a> for project <a href="%s">%s</a>','ProjectTheme'),$uprof, $receiver_user->user_login , $perm,
  5809. $post->post_title);
  5810. projectTheme_add_history_log('0', $reason, $amount, $payer_user_id, $receiver_user_id);
  5811. //=========================
  5812. $projectTheme_fee_after_paid = get_option('projectTheme_fee_after_paid');
  5813. if(!empty($projectTheme_fee_after_paid)):
  5814. $deducted = $amount*($projectTheme_fee_after_paid * 0.01);
  5815. else:
  5816. $deducted = 0;
  5817. endif;
  5818. $cr = projectTheme_get_credits($receiver_user_id);
  5819. projectTheme_update_credits($receiver_user_id, $cr + $amount - $deducted);
  5820. $uprof = ProjectTheme_get_user_profile_link($payer_user_id->ID);
  5821. $reason = sprintf(__('Payment received from <a href="%s">%s</a> for project <a href="%s">%s</a>','ProjectTheme'),$uprof, $payer_user_id->user_login , $perm,
  5822. $post->post_title);
  5823. projectTheme_add_history_log('1', $reason, $amount , $receiver_user_id, $payer_user_id);
  5824. //--------
  5825. $reason = sprintf(__('Payment fee for project <a href="%s">%s</a>','ProjectTheme'), $perm, $post->post_title);
  5826. projectTheme_add_history_log('0', $reason, $deducted, $receiver_user_id);
  5827. endif;endif;
  5828. //------------
  5829. }
  5830. /*************************************************************
  5831. *
  5832. * ProjectTheme (c) sitemile.com - function
  5833. *
  5834. **************************************************************/
  5835. function projectTheme_prepare_rating($pid, $fromuser, $touser)
  5836. {
  5837. global $wpdb;
  5838. $s = "insert into ".$wpdb->prefix."project_ratings (pid, fromuser, touser) values('$pid','$fromuser','$touser')";
  5839. $wpdb->query($s);
  5840. //mysql_query($s) or die(mysql_error());
  5841. }
  5842. /*************************************************************
  5843. *
  5844. * ProjectTheme (c) sitemile.com - function
  5845. *
  5846. **************************************************************/
  5847. function projectTheme_get_bid_by_id($id)
  5848. {
  5849. global $wpdb;
  5850. $s = "select * from ".$wpdb->prefix."project_bids where id='$id'";
  5851. $r = $wpdb->get_results($s);
  5852. return $r[0];
  5853. }
  5854. /*************************************************************
  5855. *
  5856. * ProjectTheme (c) sitemile.com - function
  5857. *
  5858. **************************************************************/
  5859. function ProjectTheme_get_images_cost_extra($pid)
  5860. {
  5861. $ProjectTheme_charge_fees_for_images = get_option('ProjectTheme_charge_fees_for_images');
  5862. $projectTheme_extra_image_charge = get_option('projectTheme_extra_image_charge');
  5863. //---------------------------
  5864. $image_fee_paid = get_post_meta($pid, 'image_fee_paid', true);
  5865. if(empty($image_fee_paid)) { $image_fee_paid = 0; update_post_meta($pid, 'image_fee_paid', 0); }
  5866. if($ProjectTheme_charge_fees_for_images == "yes")
  5867. {
  5868. $projectTheme_nr_of_free_images = get_option('projectTheme_nr_of_free_images');
  5869. if(empty($projectTheme_nr_of_free_images)) $projectTheme_nr_of_free_images = 1;
  5870. $ProjectTheme_get_post_nr_of_images = ProjectTheme_get_post_nr_of_images($pid);
  5871. $nr_imgs = $ProjectTheme_get_post_nr_of_images - $projectTheme_nr_of_free_images - $image_fee_paid;
  5872. if($nr_imgs > 0)
  5873. {
  5874. return $nr_imgs* $projectTheme_extra_image_charge;
  5875. }
  5876. }
  5877. return 0;
  5878. }
  5879. function ProjectTheme_get_custom_taxonomy_count2($post_type, $tax_term, $taxonomy_name)
  5880. {
  5881. $taxonomy = 'my_taxonomy'; // this is the name of the taxonomy
  5882. $args = array(
  5883. 'post_type' => $post_type, 'posts_per_page' => '1',
  5884. 'meta_query' => array(
  5885. array(
  5886. 'key' => 'closed',
  5887. 'value' => '0',
  5888. 'compare' => '='
  5889. )
  5890. ),
  5891. 'tax_query' => array(
  5892. array(
  5893. 'taxonomy' => $taxonomy_name,
  5894. 'field' => 'slug',
  5895. 'terms' => $tax_term)
  5896. )
  5897. );
  5898. $my_query = new WP_Query( $args );
  5899. return $my_query->found_posts;
  5900. }
  5901. function ProjectTheme_get_images_extra_nr_pictures($pid)
  5902. {
  5903. $ProjectTheme_charge_fees_for_images = get_option('ProjectTheme_charge_fees_for_images');
  5904. $projectTheme_extra_image_charge = get_option('projectTheme_extra_image_charge');
  5905. $image_fee_paid = get_post_meta($pid, 'image_fee_paid', true);
  5906. if(empty($image_fee_paid)) { $image_fee_paid = 0; update_post_meta($pid, 'image_fee_paid', 0); }
  5907. if($ProjectTheme_charge_fees_for_images == "yes")
  5908. {
  5909. $projectTheme_nr_of_free_images = get_option('projectTheme_nr_of_free_images');
  5910. if(empty($projectTheme_nr_of_free_images)) $projectTheme_nr_of_free_images = 1;
  5911. $ProjectTheme_get_post_nr_of_images = ProjectTheme_get_post_nr_of_images($pid);
  5912. $nr_imgs = $ProjectTheme_get_post_nr_of_images - $projectTheme_nr_of_free_images - $image_fee_paid;
  5913. if($nr_imgs > 0)
  5914. {
  5915. return $nr_imgs;
  5916. }
  5917. }
  5918. return 0;
  5919. }
  5920. function ProjectTheme_mark_images_cost_extra($pid)
  5921. {
  5922. $ProjectTheme_charge_fees_for_images = get_option('ProjectTheme_charge_fees_for_images');
  5923. $projectTheme_extra_image_charge = get_option('projectTheme_extra_image_charge');
  5924. $image_fee_paid = get_post_meta($pid, 'image_fee_paid', true);
  5925. if(empty($image_fee_paid)) { $image_fee_paid = 0; update_post_meta($pid, 'image_fee_paid', 0); }
  5926. if($ProjectTheme_charge_fees_for_images == "yes")
  5927. {
  5928. $projectTheme_nr_of_free_images = get_option('projectTheme_nr_of_free_images');
  5929. if(empty($projectTheme_nr_of_free_images)) $projectTheme_nr_of_free_images = 1;
  5930. $ProjectTheme_get_post_nr_of_images = ProjectTheme_get_post_nr_of_images($pid);
  5931. $nr_imgs = $ProjectTheme_get_post_nr_of_images - $projectTheme_nr_of_free_images - $image_fee_paid;
  5932. if($nr_imgs > 0)
  5933. {
  5934. update_post_meta($pid, 'image_fee_paid', ($nr_imgs + $image_fee_paid));
  5935. }
  5936. }
  5937. }
  5938. /*************************************************************
  5939. *
  5940. * ProjectTheme (c) sitemile.com - function
  5941. *
  5942. **************************************************************/
  5943. function ProjectTheme_get_project_primary_cat($pid)
  5944. {
  5945. $project_terms = wp_get_object_terms($pid, 'project_cat');
  5946. if(is_array($project_terms))
  5947. {
  5948. return $project_terms[0]->term_id;
  5949. }
  5950. return 0;
  5951. }
  5952. /*************************************************************
  5953. *
  5954. * ProjectTheme (c) sitemile.com - function
  5955. *
  5956. **************************************************************/
  5957. function ProjectTheme_project_clear_table($colspan = '')
  5958. {
  5959. return ' <tr>
  5960. <td colspan="'.$colspan.'">&nbsp;</td>
  5961. </tr>';
  5962. }
  5963. function projectTheme_admin_notices(){
  5964. if(!function_exists('wp_pagenavi')) {
  5965. echo '<div class="updated">
  5966. <p>For the <strong>Project Theme</strong> you need to install the wp pagenavi plugin.
  5967. Install it from <a href="http://wordpress.org/extend/plugins/wp-pagenavi"><strong>here</strong></a>.</p>
  5968. </div>';
  5969. }
  5970. if(!function_exists('bcn_display')) {
  5971. echo '<div class="updated">
  5972. <p>For the <strong>Project Theme</strong> you need to install the Breadcrumb NavXT plugin.
  5973. Install it from <a href="http://wordpress.org/extend/plugins/breadcrumb-navxt/"><strong>here</strong></a>.</p>
  5974. </div>';
  5975. }
  5976. }
  5977. /*************************************************************
  5978. *
  5979. * ProjectTheme (c) sitemile.com - function
  5980. *
  5981. **************************************************************/
  5982. include 'my-upload.php';
  5983. //-=================== delete PMs ============================
  5984. global $wpdb;
  5985. if(isset($_GET['confirm_message_deletion']))
  5986. {
  5987. $return = $_GET['return'];
  5988. $messid = $_GET['id'];
  5989. global $wpdb, $current_user;
  5990. get_currentuserinfo();
  5991. $uid = $current_user->ID;
  5992. if(empty($messid))
  5993. {
  5994. foreach($_GET['message_id'] as $messid)
  5995. {
  5996. $s = "select * from ".$wpdb->prefix."project_pm where id='$messid' AND (user='$uid' OR initiator='$uid')";
  5997. $r = $wpdb->get_results($s);
  5998. if(count($r) > 0)
  5999. {
  6000. $row = $r[0];
  6001. if($row->initiator == $uid)
  6002. {
  6003. $s = "update ".$wpdb->prefix."project_pm set show_to_source='0' where id='$messid'";
  6004. $wpdb->query($s);
  6005. }
  6006. else
  6007. {
  6008. $s = "update ".$wpdb->prefix."project_pm set show_to_destination='0' where id='$messid'";
  6009. $wpdb->query($s);
  6010. }
  6011. $using_perm = ProjectTheme_using_permalinks();
  6012. if($using_perm) $privurl_m = get_permalink(get_option('ProjectTheme_my_account_private_messages_id')). "/?";
  6013. else $privurl_m = get_bloginfo('siteurl'). "/?page_id=". get_option('ProjectTheme_my_account_private_messages_id'). "&";
  6014. }
  6015. else if(!empty($_GET['rdr'])) wp_redirect($_GET['rdr']);
  6016. else wp_redirect(get_permalink(get_option('ProjectTheme_my_account_page_id')));
  6017. }
  6018. if($return == "inbox") wp_redirect($privurl_m . "pg=inbox");
  6019. else if($return == "outbox") wp_redirect($privurl_m . "pg=sent-items");
  6020. else if($return == "home") wp_redirect($privurl_m);
  6021. else if(!empty($_GET['rdr'])) wp_redirect($_GET['rdr']);
  6022. else wp_redirect(get_permalink(get_option('ProjectTheme_my_account_page_id')));
  6023. }
  6024. else
  6025. {
  6026. $s = "select * from ".$wpdb->prefix."project_pm where id='$messid' AND (user='$uid' OR initiator='$uid')";
  6027. $r = $wpdb->get_results($s);
  6028. if(count($r) > 0)
  6029. {
  6030. $row = $r[0];
  6031. if($row->initiator == $uid)
  6032. {
  6033. $s = "update ".$wpdb->prefix."project_pm set show_to_source='0' where id='$messid'";
  6034. $wpdb->query($s);
  6035. }
  6036. else
  6037. {
  6038. $s = "update ".$wpdb->prefix."project_pm set show_to_destination='0' where id='$messid'";
  6039. $wpdb->query($s);
  6040. }
  6041. $using_perm = ProjectTheme_using_permalinks();
  6042. if($using_perm) $privurl_m = get_permalink(get_option('ProjectTheme_my_account_private_messages_id')). "/?";
  6043. else $privurl_m = get_bloginfo('siteurl'). "/?page_id=". get_option('ProjectTheme_my_account_private_messages_id'). "&";
  6044. if($return == "inbox") wp_redirect($privurl_m . "pg=inbox");
  6045. else if($return == "outbox") wp_redirect($privurl_m . "pg=sent-items");
  6046. else if($return == "home") wp_redirect($privurl_m);
  6047. else if(!empty($_GET['rdr'])) wp_redirect($_GET['rdr']);
  6048. else wp_redirect(get_permalink(get_option('ProjectTheme_my_account_page_id')));
  6049. }
  6050. else if(!empty($_GET['rdr'])) wp_redirect($_GET['rdr']);
  6051. else wp_redirect(get_permalink(get_option('ProjectTheme_my_account_page_id')));
  6052. }
  6053. }
  6054. ?>