PluginProbe
Taskbuilder – Project Management & Task Management Tool With Kanban Board / 6.0.6
Taskbuilder – Project Management & Task Management Tool With Kanban Board v6.0.6
6.0.6 6.0.5 6.0.2 6.0.3 6.0.4 6.0.1 6.0.0 5.0.8 5.0.9 4.0.9 5.0.0 5.0.1 5.0.2 5.0.3 5.0.4 5.0.5 5.0.6 5.0.7 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 All 58 releases
← All changes | includes/admin/projects/wppm_add_new_project.php +267 -251 5.0.06.0.6 View file →
@@ -1,252 +1,268 @@
1 -<?php
2 -if ( ! defined( 'ABSPATH' ) ) {
3 - exit; // Exit if accessed directly
4 -}
5 -global $wpdb,$wppmfunction,$current_user;
6 -$wppm_users_role = get_option('wppm_user_role');
7 -$wppm_project_time = get_option('wppm_project_time');
8 -$wppm_default_project_date = get_option('wppm_default_project_date');
9 -$wppm_public_projects_permission = get_option('wppm_public_projects_permission');
10 -$orderby_sql = sanitize_sql_orderby("name");
11 -$categories = $wpdb->get_results( "SELECT * FROM {$wpdb->prefix}wppm_project_categories ORDER BY $orderby_sql" );
12 -$wppm_current_user_capability = get_user_meta( $current_user->ID, 'wppm_capability', true );
13 -$wppm_rich_text_editor = get_option('wppm_rich_text_editor');
14 -$wppm_toolbar_actions = get_option('wppm_toolbar_actions');
15 -if (!($current_user->ID && $current_user->has_cap('wppm_admin') || $current_user->has_cap('manage_options') || $current_user->ID && $current_user->has_cap('wppm_manager'))) {
16 - exit;
17 -}
18 -?>
19 -<form class='wppm_add_new_project wppm_bootstrap' onsubmit="return wppm_create_project();" id="wppm_add_new_project" method="post">
20 - <div class="wppm_headers row">
21 - <div class="col-sm-12">
22 - <span class="wppm-heading-inline" style="margin-left:15px;">
23 - <?php echo esc_html_e('Create Project','taskbuilder');?>
24 - </span>
25 - <?php if($current_user->has_cap('manage_options') || $wppm_current_user_capability == 'wppm_manager'|| $wppm_current_user_capability == 'wppm_admin' ){ ?>
26 - <span class="wppm-add-new-btn btn-primary" id="wppm_add_new_proj" onclick="wppm_add_new_project()" ><span style="margin-right:5px;"></span><span><?php echo esc_html_e('+Create Project','taskbuilder');?></span></span>
27 - <?php } ?>
28 - <span class="wppm-add-new-btn btn-primary" id="wppm_project_list" onclick="wppm_get_project_list()" ><span style="margin-right:5px;"><img src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/list-symbol.svg'); ?>" alt="list-symbol"></span><span><?php echo esc_html_e('Project List','taskbuilder');?></span></span>
29 - </div>
30 - </div>
31 - <div id='wppm_frm_field_container'>
32 - <div class="row">
33 - <div class="wppm_project_frm_fields col-sm-12">
34 - <span class="wppm_form_field_label"><b><?php echo esc_html_e('Name','taskbuilder'); ?></b></span>
35 - <span style="color:#ff0000;">*</span>
36 - <br>
37 - <input name="name" class="form-control" id="wppm_project_name" type="text" size="40" aria-required="true"><br>
38 - </div>
39 - </div>
40 - <?php if($wppm_default_project_date==1){ ?>
41 - <div class="row">
42 - <div class="wppm_project_frm_fields col-sm-6">
43 - <span class="wppm_form_field_label"><b>
44 - <?php echo esc_html_e('Start date','taskbuilder'); ?>
45 - </b>
46 - </span><br>
47 - <input name="wppm_start_date" class="form-control" id="wppm_start_date" type="text" value="" size="40" aria-required="true"><br>
48 - </div>
49 - <div class="wppm_project_frm_fields col-sm-6">
50 - <span class="wppm_form_field_label"><b>
51 - <?php echo esc_html_e('End date','taskbuilder'); ?>
52 - </b>
53 - </span><br>
54 - <input name="wppm_end_date" id="wppm_end_date" class="form-control" type="text" value="" size="40" aria-required="true"><br>
55 - </div>
56 - </div>
57 - <?php } ?>
58 - <div class="row">
59 - <div class="wppm_project_frm_fields col-sm-12">
60 - <span class="wppm_form_field_label"><b>
61 - <b>
62 - <?php echo esc_html_e('Description','taskbuilder'); ?>
63 - </b>
64 - </span><br>
65 - <textarea id="wppm_proj_description" name="wppm_proj_description">
66 - </textarea>
67 - <br>
68 - </div>
69 - </div>
70 - <div class="row">
71 - <div class="wppm_project_frm_fields col-sm-12">
72 - <span class="wppm_form_field_label"><b>
73 - <b>
74 - <?php echo esc_html_e('Category','taskbuilder'); ?>
75 - </b>
76 - </span><br>
77 - <select id="wppm_create_project_category" name="wppm_create_project_category" class="form-control">
78 - <option value=""></option><?php
79 - if(!empty($categories)){
80 - foreach ($categories as $category){
81 - echo '<option value="'.esc_attr($category->id).'">'.esc_html(stripcslashes($category->name)).'</option>';
82 - }
83 - }
84 - ?>
85 - </select><br><br>
86 - </div>
87 - </div>
88 - <div class="row">
89 - <div class="wppm_project_frm_fields col-sm-12">
90 - <span class="wppm_form_field_label"><b>
91 - <b>
92 - <?php echo esc_html_e('Assign User','taskbuilder'); ?>
93 - </b>
94 - </span><br>
95 - <input class="form-control wppm_assign_users ui-autocomplete-input" name="wppm_assigned_user" type="text" autocomplete="off" placeholder= "<?php echo esc_attr__('Search User...','taskbuilder');?>">
96 - <br>
97 - </div>
98 - <div id="wppm_display_users" class="row">
99 - <div class="col-sm-12">
100 - <ui class="wppm_filter_display_users_container"></ui>
101 - </div>
102 - </div>
103 - <?php if( $wppm_public_projects_permission==1) { ?>
104 - <div id="wppm_public_projects_permission" class="row">
105 - <div class="col-sm-12">
106 - <span class="wppm_form_field_label"><b>
107 - <input type="checkbox" name="wppm_public_project"" />
108 - <label id="wppm_public_project_label"><?php echo esc_html_e('Make Project Public','taskbuilder'); ?></label>
109 - </b>
110 - </span><br>
111 - </div>
112 - </div>
113 - <?php } ?>
114 - <div class="row">
115 - <div class="wppm_frm_submit col-sm-12">
116 - <button type="submit" class="wppm-submit-btn" id="wppm-submit-proj-btn"><?php echo esc_html_e('Add Project','taskbuilder'); ?></button>
117 - <button type="button" class="wppm_reset_btn" id="wppm_submit_proj_reset_btn" onclick="wppm_add_new_project()"><?php echo esc_html_e('Reset Form','taskbuilder') ?></button>
118 - <input type="hidden" name="action" value="wppm_create_project" />
119 - <input type="hidden" name="_ajax_nonce" value="<?php echo esc_attr( wp_create_nonce( 'wppm_create_project' ) ); ?>">
120 - </div>
121 - </div>
122 - </div>
123 -</form>
124 -<script>
125 -jQuery( document ).ready( function( jQuery ) {
126 - jQuery("#wppm_start_date").flatpickr({
127 - enableTime: <?php echo ($wppm_project_time == 1) ? 'true' : 'false' ?>,
128 - dateFormat: "Y-m-d <?php echo ($wppm_project_time == 1) ? 'H:i': '' ?>"
129 - });
130 - jQuery("#wppm_end_date").flatpickr({
131 - enableTime: <?php echo ($wppm_project_time==1) ? 'true' : 'false' ?>,
132 - dateFormat: "Y-m-d <?php echo ($wppm_project_time==1) ? 'H:i': '' ?>"
133 - });<?php
134 - if((!empty($wppm_rich_text_editor)) && ($wppm_rich_text_editor == 1)){
135 - $bold = (isset($wppm_toolbar_actions['bold']) && $wppm_toolbar_actions['bold']==1)? 'bold' :"";
136 - $italic = (isset($wppm_toolbar_actions['italic']) && $wppm_toolbar_actions['italic']==1)? 'italic' :"";
137 - $underline = (isset($wppm_toolbar_actions['underline']) && $wppm_toolbar_actions['underline']==1)?'underline' :"";
138 - $blockquote = (isset($wppm_toolbar_actions['blockquote']) && $wppm_toolbar_actions['blockquote']==1)? 'blockquote' :"";
139 - $align = (isset($wppm_toolbar_actions['align']) && $wppm_toolbar_actions['align']==1)? ' alignleft aligncenter alignright ' :"";
140 - $bullist = (isset($wppm_toolbar_actions['bullist']) && $wppm_toolbar_actions['bullist']==1)? $bullist = 'bullist' :"";
141 - $numlist = (isset($wppm_toolbar_actions['numlist']) && $wppm_toolbar_actions['numlist']==1)? $numlist = 'numlist' :"";
142 - $rtl = (isset($wppm_toolbar_actions['rtl']) && $wppm_toolbar_actions['rtl']==1)? $rtl = 'rtl' :"";
143 - $link = (isset($wppm_toolbar_actions['link']) && $wppm_toolbar_actions['link']==1)? $link = 'link' :"";
144 - $image = (isset($wppm_toolbar_actions['wppm_insert_editor_img']) && $wppm_toolbar_actions['wppm_insert_editor_img']==1)? $image = 'image' :"";
145 - $forecolor = (isset($wppm_toolbar_actions['forecolor']) && $wppm_toolbar_actions['forecolor']==1)? $forecolor = 'forecolor' :"";
146 - $backcolor = (isset($wppm_toolbar_actions['backcolor']) && $wppm_toolbar_actions['backcolor']==1)? $backcolor = 'backcolor' :"";
147 - $strikethrough = (isset($wppm_toolbar_actions['strikethrough']) && $wppm_toolbar_actions['strikethrough']==1)? $strikethrough = 'strikethrough' :""; ?>
148 - tinymce.remove();
149 - tinymce.init({
150 - selector:'#wppm_proj_description',
151 - body_id: 'wppm_proj_description',
152 - directionality : '<?php //echo 'rtl'; ?>',
153 - menubar: false,
154 - statusbar: false,
155 - height : '200',
156 - width : '100%',
157 - plugins: [
158 - 'lists link image directionality paste textcolor'
159 - ],
160 - image_advtab: true,
161 - toolbar: '<?php echo $bold ?> <?php echo $italic ?> <?php echo $underline ?> <?php echo $blockquote?> | <?php echo $align ?> | <?php echo $bullist ?> <?php echo $numlist ?> | <?php echo $rtl ?> | <?php echo $link ?> <?php echo $image ?> | <?php echo $forecolor?> <?php echo $backcolor?> <?php echo $strikethrough ?>',
162 - branding: false,
163 - autoresize_bottom_margin: 20,
164 - browser_spellcheck : true,
165 - relative_urls : false,
166 - paste_as_text: true,
167 - remove_script_host : false,
168 - convert_urls : true,
169 - setup: function (editor) {
170 - }
171 - });
172 - <?php } ?>
173 - jQuery("input[name='wppm_assigned_user']").keypress(function(e) {
174 - //Enter key
175 - if (e.which == 13) {
176 - return false;
177 - }
178 - });
179 - jQuery( ".wppm_assign_users" ).autocomplete({
180 - minLength: 1,
181 - appendTo: jQuery('.wppm_assign_users').parent(),
182 - source: function( request, response ) {
183 - var term = request.term;
184 - request = {
185 - action: 'wppm_filter_autocomplete',
186 - term : term,
187 - field : 'users_name',
188 - }
189 - jQuery.getJSON( wppm_admin.ajax_url, request, function( data, status, xhr ) {
190 - response(data);
191 - });
192 - },
193 - select: function (event, ui) {
194 - var html_str = '<div id="wppm_user_container_'+ui.item.user_id+'" class="row wppm_user_display_container">'
195 - +'<div class="flex-container col-sm-3">'
196 - +'<span class="wppm_filter_display_text">'
197 - +ui.item.label
198 - +'<input type="hidden" name="user_names[]" value="'+ui.item.user_id+'">'
199 - +'</span>'
200 - +'</div>'
201 - +'<div class="col-sm-3 wppm_user_role">'
202 - +'<select size="sm" class="form-control" id="wppm_select_user_role_'+ui.item.user_id+'" name="wppm_select_user_role_'+ui.item.user_id+'">'+
203 - <?php
204 - if(!empty($wppm_users_role)){
205 - foreach($wppm_users_role as $key=>$role){
206 - foreach($role as $k=>$val){
207 - ?>'<option value="<?php echo esc_attr($key) ?>"><?php echo esc_html($role['label']) ?></option>'+<?php
208 - }
209 - }
210 - }
211 - ?>
212 - '</select>'
213 - +'</div>'
214 - +'<div class="col-sm-3 wppm_delete_user_icon">'
215 - +'<span onclick="wppm_remove_user_from_project('+ui.item.user_id+');"><img src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/trash.svg'); ?>" alt="delete"></span>'
216 - +'</div>'
217 - +'</div>';
218 - jQuery('#wppm_display_users .wppm_filter_display_users_container').append(html_str);
219 - jQuery(this).val(''); return false;
220 - }
221 - }).focus(function() {
222 - jQuery(this).autocomplete("search", "");
223 - });
224 -});
225 -
226 -function wppm_remove_user(e){
227 - jQuery(e).parent().parent().remove();
228 -}
229 -
230 -function wppm_create_project(){
231 - if(!jQuery('#wppm_project_name').val()){
232 - alert("<?php _e('Project title is required','taskbuilder')?>");
233 - return false;
234 - }
235 - var dataform = new FormData(jQuery('#wppm_add_new_project')[0]);
236 - var is_tinymce = (typeof tinyMCE != "undefined") && tinyMCE.activeEditor && !tinyMCE.activeEditor.isHidden();
237 - var description = is_tinymce && tinymce.get('wppm_proj_description') ? tinyMCE.get('wppm_proj_description').getContent() : jQuery('#wppm_proj_description').val().trim();
238 - dataform.append('wppm_proj_description', description);
239 - jQuery('#wppm_project_container').html(wppm_admin.loading_html);
240 - <?php echo do_action('wppm_create_project_dataform');?>
241 - jQuery.ajax({
242 - url: wppm_admin.ajax_url,
243 - type: 'POST',
244 - data: dataform,
245 - processData: false,
246 - contentType: false
247 - })
248 - .done(function (response_str) {
249 - wppm_get_project_list();
250 - });
251 -}
1 +<?php
2 +if ( ! defined( 'ABSPATH' ) ) {
3 + exit; // Exit if accessed directly
4 +}
5 +global $wpdb,$wppmfunction,$current_user;
6 +$wppm_users_role = get_option('wppm_user_role');
7 +$wppm_project_time = get_option('wppm_project_time');
8 +$wppm_default_project_date = get_option('wppm_default_project_date');
9 +$wppm_public_projects_permission = get_option('wppm_public_projects_permission');
10 +$orderby_sql = sanitize_sql_orderby("name");
11 +$sql = "SELECT * FROM {$wpdb->prefix}wppm_project_categories ORDER BY {$orderby_sql}";
12 +$categories = $wpdb->get_results($sql);
13 +$wppm_current_user_capability = get_user_meta( $current_user->ID, 'wppm_capability', true );
14 +$wppm_rich_text_editor = get_option('wppm_rich_text_editor');
15 +$wppm_toolbar_actions = get_option('wppm_toolbar_actions');
16 +if (!($current_user->ID && $current_user->has_cap('wppm_admin') || $current_user->has_cap('manage_options') || $current_user->ID && $current_user->has_cap('wppm_manager'))) {
17 + exit;
18 +}
19 +?>
20 +<form class='wppm_add_new_project wppm_bootstrap' id="wppm_add_new_project" method="post">
21 + <div class="wppm_headers row">
22 + <div class="col-sm-12">
23 + <span class="wppm-heading-inline" style="margin-left:15px;">
24 + <?php echo esc_html_e('Create Project','taskbuilder');?>
25 + </span>
26 + <?php if($current_user->has_cap('manage_options') || $wppm_current_user_capability == 'wppm_manager'|| $wppm_current_user_capability == 'wppm_admin' ){ ?>
27 + <span class="wppm-add-new-btn btn-primary" id="wppm_add_new_proj" onclick="wppm_add_new_project()" ><span style="margin-right:5px;"></span><span><?php echo esc_html_e('+Create Project','taskbuilder');?></span></span>
28 + <?php } ?>
29 + <span class="wppm-add-new-btn btn-primary" id="wppm_project_list" onclick="wppm_get_project_list()" ><span style="margin-right:5px;"><img src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/list-symbol.svg'); ?>" alt="list-symbol"></span><span><?php echo esc_html_e('Project List','taskbuilder');?></span></span>
30 + </div>
31 + </div>
32 + <div id='wppm_frm_field_container'>
33 + <div class="row">
34 + <div class="wppm_project_frm_fields col-sm-12">
35 + <span class="wppm_form_field_label"><b><?php echo esc_html_e('Name','taskbuilder'); ?></b></span>
36 + <span style="color:#ff0000;">*</span>
37 + <br>
38 + <input name="name" class="form-control" id="wppm_project_name" type="text" size="40" aria-required="true"><br>
39 + </div>
40 + </div>
41 + <?php if($wppm_default_project_date==1){ ?>
42 + <div class="row">
43 + <div class="wppm_project_frm_fields col-sm-6">
44 + <span class="wppm_form_field_label"><b>
45 + <?php echo esc_html_e('Start date','taskbuilder'); ?>
46 + </b>
47 + </span><br>
48 + <input name="wppm_start_date" class="form-control" id="wppm_start_date" type="text" value="" size="40" aria-required="true"><br>
49 + </div>
50 + <div class="wppm_project_frm_fields col-sm-6">
51 + <span class="wppm_form_field_label"><b>
52 + <?php echo esc_html_e('End date','taskbuilder'); ?>
53 + </b>
54 + </span><br>
55 + <input name="wppm_end_date" id="wppm_end_date" class="form-control" type="text" value="" size="40" aria-required="true"><br>
56 + </div>
57 + </div>
58 + <?php } ?>
59 + <div class="row">
60 + <div class="wppm_project_frm_fields col-sm-12">
61 + <span class="wppm_form_field_label"><b>
62 + <b>
63 + <?php echo esc_html_e('Description','taskbuilder'); ?>
64 + </b>
65 + </span><br>
66 + <textarea id="wppm_proj_description" name="wppm_proj_description">
67 + </textarea>
68 + <br>
69 + </div>
70 + </div>
71 + <div class="row">
72 + <div class="wppm_project_frm_fields col-sm-12">
73 + <span class="wppm_form_field_label"><b>
74 + <b>
75 + <?php echo esc_html_e('Category','taskbuilder'); ?>
76 + </b>
77 + </span><br>
78 + <select id="wppm_create_project_category" name="wppm_create_project_category" class="form-control">
79 + <option value=""></option><?php
80 + if(!empty($categories)){
81 + foreach ($categories as $category){
82 + echo '<option value="'.esc_attr($category->id).'">'.esc_html(stripcslashes($category->name)).'</option>';
83 + }
84 + }
85 + ?>
86 + </select><br><br>
87 + </div>
88 + </div>
89 + <div class="row">
90 + <div class="wppm_project_frm_fields col-sm-12">
91 + <span class="wppm_form_field_label"><b>
92 + <b>
93 + <?php echo esc_html_e('Assign User','taskbuilder'); ?>
94 + </b>
95 + </span><br>
96 + <input class="form-control wppm_assign_users ui-autocomplete-input" name="wppm_assigned_user" type="text" autocomplete="off" placeholder= "<?php echo esc_attr__('Search User...','taskbuilder');?>">
97 + <br>
98 + </div>
99 + <div id="wppm_display_users" class="row">
100 + <div class="col-sm-12">
101 + <ui class="wppm_filter_display_users_container"></ui>
102 + </div>
103 + </div>
104 + <?php do_action('wppm_after_project_fields_in_new_project_form');?>
105 + <?php if( $wppm_public_projects_permission==1) { ?>
106 + <div id="wppm_public_projects_permission" class="row">
107 + <div class="col-sm-12">
108 + <span class="wppm_form_field_label"><b>
109 + <input type="checkbox" name="wppm_public_project"" />
110 + <label id="wppm_public_project_label"><?php echo esc_html_e('Make Project Public','taskbuilder'); ?></label>
111 + </b>
112 + </span><br>
113 + </div>
114 + </div>
115 + <?php } ?>
116 + <div class="row">
117 + <div class="wppm_frm_submit col-sm-12">
118 + <button type="submit" class="wppm-submit-btn" id="wppm-submit-proj-btn" onclick="wppm_create_project(event)"><?php echo esc_html_e('Add Project','taskbuilder'); ?></button>
119 + <button type="button" class="wppm_reset_btn" id="wppm_submit_proj_reset_btn" onclick="wppm_add_new_project()"><?php echo esc_html_e('Reset Form','taskbuilder') ?></button>
120 + <input type="hidden" name="action" value="wppm_create_project" />
121 + <input type="hidden" name="_ajax_nonce" value="<?php echo esc_attr( wp_create_nonce( 'wppm_create_project' ) ); ?>">
122 + </div>
123 + </div>
124 + </div>
125 +</form>
126 +<script>
127 +jQuery( document ).ready( function( jQuery ) {
128 + jQuery("#wppm_start_date").flatpickr({
129 + enableTime: <?php echo ($wppm_project_time == 1) ? 'true' : 'false' ?>,
130 + dateFormat: "Y-m-d <?php echo ($wppm_project_time == 1) ? 'H:i': '' ?>"
131 + });
132 + jQuery("#wppm_end_date").flatpickr({
133 + enableTime: <?php echo ($wppm_project_time==1) ? 'true' : 'false' ?>,
134 + dateFormat: "Y-m-d <?php echo ($wppm_project_time==1) ? 'H:i': '' ?>"
135 + });<?php
136 + if((!empty($wppm_rich_text_editor)) && ($wppm_rich_text_editor == 1)){
137 + $bold = (isset($wppm_toolbar_actions['bold']) && $wppm_toolbar_actions['bold']==1)? 'bold' :"";
138 + $italic = (isset($wppm_toolbar_actions['italic']) && $wppm_toolbar_actions['italic']==1)? 'italic' :"";
139 + $underline = (isset($wppm_toolbar_actions['underline']) && $wppm_toolbar_actions['underline']==1)?'underline' :"";
140 + $blockquote = (isset($wppm_toolbar_actions['blockquote']) && $wppm_toolbar_actions['blockquote']==1)? 'blockquote' :"";
141 + $align = (isset($wppm_toolbar_actions['align']) && $wppm_toolbar_actions['align']==1)? ' alignleft aligncenter alignright ' :"";
142 + $bullist = (isset($wppm_toolbar_actions['bullist']) && $wppm_toolbar_actions['bullist']==1)? $bullist = 'bullist' :"";
143 + $numlist = (isset($wppm_toolbar_actions['numlist']) && $wppm_toolbar_actions['numlist']==1)? $numlist = 'numlist' :"";
144 + $rtl = (isset($wppm_toolbar_actions['rtl']) && $wppm_toolbar_actions['rtl']==1)? $rtl = 'rtl' :"";
145 + $link = (isset($wppm_toolbar_actions['link']) && $wppm_toolbar_actions['link']==1)? $link = 'link' :"";
146 + $image = (isset($wppm_toolbar_actions['wppm_insert_editor_img']) && $wppm_toolbar_actions['wppm_insert_editor_img']==1)? $image = 'image' :"";
147 + $forecolor = (isset($wppm_toolbar_actions['forecolor']) && $wppm_toolbar_actions['forecolor']==1)? $forecolor = 'forecolor' :"";
148 + $backcolor = (isset($wppm_toolbar_actions['backcolor']) && $wppm_toolbar_actions['backcolor']==1)? $backcolor = 'backcolor' :"";
149 + $strikethrough = (isset($wppm_toolbar_actions['strikethrough']) && $wppm_toolbar_actions['strikethrough']==1)? $strikethrough = 'strikethrough' :"";
150 + $toolbar = trim("$bold $italic $underline $blockquote | $align | $bullist $numlist | $rtl | $link $image | $forecolor $backcolor $strikethrough");?>
151 + tinymce.remove();
152 + tinymce.init({
153 + selector:'#wppm_proj_description',
154 + body_id: 'wppm_proj_description',
155 + directionality : '<?php //echo 'rtl'; ?>',
156 + menubar: false,
157 + statusbar: false,
158 + height : '200',
159 + width : '100%',
160 + plugins: [
161 + 'lists link image directionality paste textcolor'
162 + ],
163 + image_advtab: true,
164 + toolbar: '<?php echo esc_js( $toolbar ); ?>',
165 + branding: false,
166 + autoresize_bottom_margin: 20,
167 + browser_spellcheck : true,
168 + relative_urls : false,
169 + paste_as_text: true,
170 + remove_script_host : false,
171 + convert_urls : true,
172 + setup: function (editor) {
173 + }
174 + });
175 + <?php } ?>
176 + jQuery("input[name='wppm_assigned_user']").keypress(function(e) {
177 + //Enter key
178 + if (e.which == 13) {
179 + return false;
180 + }
181 + });
182 + jQuery( ".wppm_assign_users" ).autocomplete({
183 + minLength: 1,
184 + appendTo: jQuery('.wppm_assign_users').parent(),
185 + source: function( request, response ) {
186 + var term = request.term;
187 + request = {
188 + action: 'wppm_filter_autocomplete',
189 + term : term,
190 + field : 'users_name',
191 + }
192 + jQuery.getJSON( wppm_admin.ajax_url, request, function( data, status, xhr ) {
193 + response(data);
194 + });
195 + },
196 + select: function (event, ui) {
197 + var html_str = '<div id="wppm_user_container_'+ui.item.user_id+'" class="row wppm_user_display_container">'
198 + +'<div class="flex-container col-sm-3">'
199 + +'<span class="wppm_filter_display_text">'
200 + +ui.item.label
201 + +'<input type="hidden" name="user_names[]" value="'+ui.item.user_id+'">'
202 + +'</span>'
203 + +'</div>'
204 + +'<div class="col-sm-3 wppm_user_role">'
205 + +'<select size="sm" class="form-control" id="wppm_select_user_role_'+ui.item.user_id+'" name="wppm_select_user_role_'+ui.item.user_id+'">'+
206 + <?php
207 + if(!empty($wppm_users_role)){
208 + foreach($wppm_users_role as $key=>$role){
209 + foreach($role as $k=>$val){
210 + ?>'<option value="<?php echo esc_attr($key) ?>"><?php echo esc_html($role['label']) ?></option>'+<?php
211 + }
212 + }
213 + }
214 + ?>
215 + '</select>'
216 + +'</div>'
217 + +'<div class="col-sm-3 wppm_delete_user_icon">'
218 + +'<span onclick="wppm_remove_user_from_project('+ui.item.user_id+');"><img src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/trash.svg'); ?>" alt="delete"></span>'
219 + +'</div>'
220 + +'</div>';
221 + jQuery('#wppm_display_users .wppm_filter_display_users_container').append(html_str);
222 + jQuery(this).val(''); return false;
223 + }
224 + }).focus(function() {
225 + jQuery(this).autocomplete("search", "");
226 + });
227 +});
228 +
229 +function wppm_remove_user(e){
230 + jQuery(e).parent().parent().remove();
231 +}
232 +
233 +function wppm_create_project(e){
234 + e.preventDefault(); // Always prevent default
235 +
236 + if (!jQuery('#wppm_project_name').val()) {
237 + alert('Project title is required');
238 + return false;
239 + }
240 + var dataform = new FormData(jQuery('#wppm_add_new_project')[0]);
241 + var is_tinymce = (typeof tinyMCE != "undefined") && tinyMCE.activeEditor && !tinyMCE.activeEditor.isHidden();
242 + var description = is_tinymce && tinymce.get('wppm_proj_description') ? tinyMCE.get('wppm_proj_description').getContent() : jQuery('#wppm_proj_description').val().trim();
243 + dataform.append('wppm_proj_description', description);
244 + var validation = {
245 + isValid: true
246 + };
247 + jQuery(document).trigger('wppm_create_project_js_function', [
248 + dataform,
249 + validation
250 + ]);
251 + if(!validation.isValid){
252 + return false;
253 + }
254 + jQuery(document).trigger('wppm_create_project_dataform', [dataform]);
255 + jQuery('#wppm_project_container').html(wppm_admin.loading_html);
256 + <?php //echo do_action('wppm_create_project_dataform');?>
257 + jQuery.ajax({
258 + url: wppm_admin.ajax_url,
259 + type: 'POST',
260 + data: dataform,
261 + processData: false,
262 + contentType: false
263 + })
264 + .done(function (response_str) {
265 + wppm_get_project_list();
266 + });
267 +}
252 268 </script>