This repository was archived by the owner on Mar 1, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathmdocs-upload.php
More file actions
159 lines (159 loc) · 7.55 KB
/
mdocs-upload.php
File metadata and controls
159 lines (159 loc) · 7.55 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
<?php
function mdocs_file_upload() {
global $current_user, $wp_filetype;
$mdocs = get_option('mdocs-list');
$mdocs = mdocs_sort_by($mdocs, 0, 'dashboard', false);
$mdocs_cats = get_option('mdocs-cats');
$mdocs_index = $_POST['mdocs-index'];
$mdocs_filename = $_FILES['mdocs']['name'];
$mdocs_name = $_POST['mdocs-name'];
$mdocs_fle_type = substr(strrchr($mdocs_filename, '.'), 1 );
$mdocs_fle_size = $_FILES["mdocs"]["size"];
$mdocs_type = $_POST['mdocs-type'];
$mdocs_cat = $_POST['mdocs-cat'];
$mdocs_desc = $_POST['mdocs-desc'];
$mdocs_version = $_POST['mdocs-version'];
$mdocs_social = $_POST['mdocs-social'];
$mdocs_non_members = @$_POST['mdocs-non-members'];
$mdocs_file_status = $_POST['mdocs-file-status'];
$mdocs_doc_preview = @$_POST['mdocs-doc-preview'];
if(isset($_POST['mdocs-post-status'])) $mdocs_post_status = $_POST['mdocs-post-status'];
else $mdocs_post_status = $_POST['mdocs-post-status-sys'];
$upload_dir = wp_upload_dir();
$mdocs_user = $current_user->display_name;
if($mdocs_file_status == 'hidden') $mdocs_post_status_sys = 'draft';
else $mdocs_post_status_sys = $mdocs_post_status;
$the_post_status = $mdocs_post_status_sys;
$_FILES['mdocs']['name'] = preg_replace('/[^A-Za-z0-9\-._]/', '', $_FILES['mdocs']['name']);
$_FILES['mdocs']['name'] = str_replace(' ','', $_FILES['mdocs']['name']);
$_FILES['mdocs']['post_status'] = $the_post_status;
//MDOCS FILE TYPE VERIFICATION
$mimes = get_allowed_mime_types();
$valid_mime_type = false;
foreach ($mimes as $type => $mime) {
$file_type = wp_check_filetype($_FILES['mdocs']['name']);
$found_ext = strpos($type,$file_type['ext']);
if($found_ext !== false) {
$valid_mime_type = true;
break;
}
}
//MDOCS NONCE VERIFICATION
$post_mdocs_nonce = sanitize_text_field($_REQUEST['mdocs-nonce']);
if ($post_mdocs_nonce == MDOCS_NONCE ) {
if(!empty($mdocs_cats)) {
if($mdocs_type == 'mdocs-add') {
if($valid_mime_type) {
$_FILES['mdocs']['post-status'] = $mdocs_post_status;
$upload = mdocs_process_file($_FILES['mdocs']);
if($mdocs_version == '') $mdocs_version = '1.0';
//elseif(!is_numeric($mdocs_version)) $mdocs_version = '1.0';
if(!isset($upload['error'])) {
array_push($mdocs, array(
'id'=>(string)$upload['attachment_id'],
'parent'=>(string)$upload['parent_id'],
'filename'=>$upload['filename'],
'name'=>$upload['name'],
'desc'=>$upload['desc'],
'type'=>$mdocs_fle_type,
'cat'=>$mdocs_cat,
'owner'=>$mdocs_user,
'size'=>(string)$mdocs_fle_size,
'modified'=>(string)time(),
'version'=>(string)$mdocs_version,
'show_social'=>(string)$mdocs_social,
'non_members'=> (string)$mdocs_non_members,
'file_status'=>(string)$mdocs_file_status,
'post_status'=> (string)$mdocs_post_status,
'post_status_sys'=> (string)$mdocs_post_status_sys,
'doc_preview'=>(string)$mdocs_doc_preview,
'downloads'=>(string)0,
'archived'=>array(),
'ratings'=>array(),
'rating'=>0
));
$mdocs = mdocs_array_sort($mdocs, 'name', SORT_ASC);
mdocs_save_list($mdocs);
} else mdocs_errors(MDOCS_ERROR_5,'error');
} else mdocs_errors(MDOCS_ERROR_2 , 'error');
} elseif($mdocs_type == 'mdocs-update') {
if($_FILES['mdocs']['name'] != '') {
if($valid_mime_type) {
$old_doc = $mdocs[$mdocs_index];
$old_doc_name = $old_doc['filename'].'-v'.preg_replace('/ /', '',$old_doc['version']);
@rename($upload_dir['basedir'].'/mdocs/'.$old_doc['filename'],$upload_dir['basedir'].'/mdocs/'.$old_doc_name);
$name = substr($old_doc['filename'], 0, strrpos($old_doc['filename'], '.') );
$filename = $name.'.'.$mdocs_fle_type;
$_FILES['mdocs']['name'] = $filename;
$_FILES['mdocs']['parent'] = $old_doc['parent'];
$_FILES['mdocs']['id'] = $old_doc['id'];
$_FILES['mdocs']['cat'] = $old_doc['cat'];
$_FILES['mdocs']['post-status'] = $mdocs_post_status;
$upload = mdocs_process_file($_FILES['mdocs']);
if(!isset($upload['error'])) {
//$new_version = floatval($mdocs_version)+floatval($mdocs[$mdocs_index]['version']);
//if(floatval($mdocs_version) == 1) $new_version = number_format($new_version,0);
if($mdocs_version == '' || $mdocs_version == $mdocs[$mdocs_index]['version']) $mdocs_version = $mdocs[$mdocs_index]['version'].'.'.time();
//elseif(!is_numeric($mdocs_version)) $mdocs_version = floatval($mdocs[$mdocs_index]['version'])+0.1;
$mdocs[$mdocs_index]['filename'] = $upload['filename'];
$mdocs[$mdocs_index]['name'] = $upload['name'];
$mdocs[$mdocs_index]['desc'] = $upload['desc'];
$mdocs[$mdocs_index]['version'] = (string)$mdocs_version;
$mdocs[$mdocs_index]['type'] = (string)$mdocs_fle_type;
$mdocs[$mdocs_index]['cat'] = $mdocs_cat;
$mdocs[$mdocs_index]['owner'] = $mdocs_user;
$mdocs[$mdocs_index]['size'] = (string)$mdocs_fle_size;
$mdocs[$mdocs_index]['modified'] = (string)time();
$mdocs[$mdocs_index]['show_social'] =(string)$mdocs_social;
$mdocs[$mdocs_index]['non_members'] =(string)$mdocs_non_members;
$mdocs[$mdocs_index]['file_status'] =(string)$mdocs_file_status;
$mdocs[$mdocs_index]['post_status'] =(string)$mdocs_post_status;
$mdocs[$mdocs_index]['post_status_sys'] =(string)$mdocs_post_status_sys;
$mdocs[$mdocs_index]['doc_preview'] =(string)$mdocs_doc_preview;
array_push($mdocs[$mdocs_index]['archived'], $old_doc_name);
$mdocs = mdocs_array_sort($mdocs, 'name', SORT_ASC);
mdocs_save_list($mdocs);
} else mdocs_errors(MDOCS_ERROR_5,'error');
} else mdocs_errors(MDOCS_ERROR_2 , 'error');
} else {
if($mdocs_desc == '') $desc = MDOCS_DEFAULT_DESC;
else $desc = $mdocs_desc;
if($mdocs_name == '') $mdocs[$mdocs_index]['name'] = $_POST['mdocs-pname'];
else $mdocs[$mdocs_index]['name'] = $mdocs_name;
if($mdocs_version == '') $mdocs_version = $mdocs[$mdocs_index]['version'];
$mdocs[$mdocs_index]['desc'] = $desc;
$mdocs[$mdocs_index]['version'] = (string)$mdocs_version;
$mdocs[$mdocs_index]['cat'] = $mdocs_cat;
$mdocs[$mdocs_index]['owner'] = $mdocs_user;
$mdocs[$mdocs_index]['modified'] = (string)time();
$mdocs[$mdocs_index]['show_social'] =(string)$mdocs_social;
$mdocs[$mdocs_index]['non_members'] =(string)$mdocs_non_members;
$mdocs[$mdocs_index]['file_status'] =(string)$mdocs_file_status;
$mdocs[$mdocs_index]['post_status'] =(string)$mdocs_post_status;
$mdocs[$mdocs_index]['post_status_sys'] =(string)$mdocs_post_status_sys;
$mdocs[$mdocs_index]['doc_preview'] =(string)$mdocs_doc_preview;
$post_content = get_post($mdocs[$mdocs_index]['parent'])->post_content;
$post_content = str_replace('[mdocs_post_page new=true]','[mdocs_post_page]',$post_content);
$mdocs_post = array(
'ID' => $mdocs[$mdocs_index]['parent'],
'post_title' => $mdocs[$mdocs_index]['name'],
'post_content' => $post_content,
'post_status' => $the_post_status,
'post_excerpt' => $desc,
'post_date' => MDOCS_CURRENT_TIME
);
$mdocs_post_id = wp_update_post( $mdocs_post );
wp_set_post_tags( $mdocs_post_id, $mdocs_name.', '.$mdocs_cat.', memphis documents library, '.$wp_filetype['type'] );
$mdocs_attachment = array(
'ID' => $mdocs[$mdocs_index]['id'],
'post_title' => $mdocs_name
);
wp_update_post( $mdocs_attachment );
$mdocs = mdocs_array_sort($mdocs, 'name', SORT_ASC);
mdocs_save_list($mdocs);
}
}
} else mdocs_errors(MDOCS_ERROR_3,'error');
} else mdocs_errors(MDOCS_ERROR_4,'error');
}
?>