Диплом: Автоматизация процесса взаимоотношения с клиентами в компании по производству одежды, на примере ООО "Р.О.М."

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
92
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
<div>
<label for="username">Логин сотрудника
<strong>*</strong></label>
<input type="text" name="username" value="' . ( isset(
$_POST['username'] ) ? $username : null ) . '">
</div>
<div>
<label for="email">Email регистрации
<strong>*</strong></label>
<input type="text" name="email" value="' . ( isset(
$_POST['email']) ? $email : null ) . '">
</div>
<div>
<label for="group">Нов.рабочий проект
</label>
<input type="text" name="group" value="' . ( isset(
$_POST['group']) ? $group : null ) . '">
</div>
<div>
<label for="first_name">Фамилия сотрудника
</label>
<input type="text" name="fname" value="' . ( isset(
$_POST['fname']) ? $first_name : null ) . '">
</div>
<div>
<label for="last_name">Имя нов.сотрудника
</label>
<input type="text" name="lname" value="' . ( isset(
$_POST['lname']) ? $last_name : null ) . '">
</div>
<input type="submit" name="submit" value="Зарегистрировать"/>
</form>
';
//Отправка введенных данных для подтверждения
}
//===Проверка введенных данных для регистрации
function study_registration_validation( $username, $password, $email,
$group, $first_name, $last_name) {
global $study_regy_errors;
$study_regy_errors = new WP_Error;
93
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
if ( empty( $username ) || empty( $email )) { //Не
заполнены поля 'Логин' (номер регистрации) и (или) 'Адрес
//электронной почты'
$study_regy_errors>add('field', 'Не все поля формы заполнены');
}
if ( 6 > strlen( $username ) ) {
//Проверка корректности заполнения поля 'Логин' (логин сорудника)
$study_regy_errors>add( 'username_length', 'Логин регистрации
короткий, менее 6 символов' );
}
if ( username_exists( $username ) )
//Проверка, на то, что пользователь с введенным номером регистрации уже
//существует
$study_regy_errors>add('user_name', 'Извините, такой пользователь
с таким номером регистрации уже зарегистрирован в системе');
if ( ! validate_username( $username ) ) { //Проверка
наличия недопустимых символов в поле 'Логин' (номер регистрации)
$study_regy_errors>add( 'username_invalid', 'Извините, введенный
номер регистрации некорректен' );
}
if ( !is_email( $email ) ) {
//Проверка наличия недопустимых символов в поле 'Адрес электронной
почты'
$study_regy_errors>add('email_invalid', 'Email не корректен,
проверьте введенные данные' );
}
if ( is_wp_error( $study_regy_errors ) ) { //Найдены
ошибки при заполнении формы ?
foreach ( $study_regy_errors>get_error_messages() as $error
) {
//Для
каждой из ошибок выдать соответствующее
//уведомление
echo '<div>';
echo '<strong>Ошибка</strong>:';
echo $error . '<br/>';
echo '</div>';
}
}
}
//===Функция подтверждения успешной регистрации
function complete_registration() {
global $study_regy_errors, $username, $password,
$email, $group, $first_name, $last_name;
if ( 1 > count( $study_regy_errors>get_error_messages() ) ) {
//Если нет ошибок
$userdata = array
(
//Запись нового пользователя в базу данных
'user_login' => $username,
94
'user_pass' => $password,
'user_email' => $email,
'user_group' => $group,
'first_name' => $first_name,
'last_name' => $last_name,
);
$user = wp_insert_user( $userdata );
echo
'Регистрация завершена. Для авторизации перейдите по ссылке
<a href="' . get_site_url() . '/wplogin.php">login page</a>.';
//Все. Регистрация успешно
//завершена
}
}
// Регистрация шорткода (короткой записи) нового пользователя:
[cr_student_registration]
add_shortcode( 'cr_student_registration',
'student_registration_shortcode' );
// Функция обратного вызова по шоткоду [book]
function student_registration_shortcode() {
ob_start();
student_registration_function();
return ob_get_clean();
}
?>
95
Файл: manager-group.php
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
<?php
/**
* Plugin Name: Manager Group
* Version: 1.1
* Author: Petrik Ivanov
* Description: The plugin regulates access to specific entries and
comments, pages
*
* manager-group.php
*
* PHP versions 5
*
*/
//Paths
load_plugin_textdomain('managergroup', false, 'managergroup');
define('MG_URLPATH', WP_PLUGIN_URL.'/managergroup/');
if (defined('MG_LOCAL_DEBUG')) {
define('MG_REALPATH', plugin_basename(dirname(__FILE__)).'/');
//ONLY FOR MY LOCAL DEBUG
} else {
define('MG_REALPATH',
WP_PLUGIN_DIR.'/'.plugin_basename(dirname(__FILE__)).'/');
}
//Defines
require_once 'includes/database.define.php';
//Check requirements
$blStop = false;
//Classes
require_once 'class/ManagerGroup.class.php';
require_once 'class/MGGroupStud.class.php';
require_once 'class/MGRedefiningPermission.class.php';
if (class_exists("ManagerGroup")) {
$oManagerGroup = new ManagerGroup();
}
//Работа с панелью управления
96
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
if (!function_exists("ManagerGroupAP")) {
/**
* Настройка админ панели
*
* @return null;
*/
function ManagerGroupAP()
{
global $oManagerGroup;
$oCurrentUser = $oManagerGroup>getCurrentUser();
if (!isset($oManagerGroup)) {
return;
}
$oManagerGroup>setAtAdminPanel();
$aMGOptions = $oManagerGroup>getAdminOptions();
if ($oManagerGroup>isDatabaseUpdateNecessary()) {
$sLink = 'admin.php?page=mg_setup';
add_action(
'admin_notices',
create_function(
'',
'echo \'<div id="message"
class="error"><p><strong>'.
sprintf(TXT_MG_NEED_DATABASE_UPDATE, $sLink).
'</strong></p></div>\';'
)
);
}
get_currentuserinfo();
$oCurUserData = get_userdata($oCurrentUser>ID);
$oMGRedefiningPermission = $oManagerGroup
>getRedefiningPermission();
if ($oMGRedefiningPermission>checkUserAccess()
|| $aGMOptions['authors_can_add_posts_to_groups'] == 'true'
) {
//Admin actions
if (function_exists('add_action')) {
add_action('admin_print_styles', array($oManagerGroup,
'addStyles'));
add_action('wp_print_scripts', array($oManagerGroup,
'addScripts'));
add_action('manage_posts_custom_column',
array($oManagerGroup, 'addPostColumn'), 10, 2);
97
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
add_action('manage_pages_custom_column',
array($oManagerGroup, 'addPostColumn'), 10, 2);
add_action('save_post', array($oManagerGroup,
'savePostData'));
add_action('manage_media_custom_column',
array($oManagerGroup, 'addPostColumn'), 10, 2);
//Actions are only called when the attachment content
is modified so we can't use it.
//add_action('add_attachment',
array($oUserAccessManager, 'savePostData'));
//add_action('edit_attachment',
array($oUserAccessManager, 'savePostData'));
add_action('edit_user_profile', array($oManagerGroup,
'showUserProfile'));
add_action('profile_update', array($oManagerGroup,
'saveUserData'));
add_action('edit_category_form', array($oManagerGroup,
'showCategoryEditForm'));
add_action('create_category', array($oManagerGroup,
'saveCategoryData'));
add_action('edit_category', array($oManagerGroup,
'saveCategoryData'));
}
//Admin filters
if (function_exists('add_filter')) {
//The filter we use instead of add|edit_attachment
action, reason see top
add_filter('attachment_fields_to_save',
array($oManagerGroup, 'saveAttachmentData'));
add_filter('manage_posts_columns',
array($oManagerGroup, 'addPostColumnsHeader'));
add_filter('manage_pages_columns',
array($oManagerGroup, 'addPostColumnsHeader'));
add_filter('manage_users_columns',
array($oManagerGroup, 'addUserColumnsHeader'), 10);
add_filter('manage_users_custom_column',
array($oManagerGroup, 'addUserColumn'), 10, 3);
add_filter('manage_editcategory_columns',
array($oManagerGroup, 'addCategoryColumnsHeader'));
add_filter('manage_category_custom_column',
array($oManagerGroup, 'addCategoryColumn'), 10, 3);
}
98
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
if ($aMGOptions['lock_file'] == 'true') {
add_action('media_meta', array($oManagerGroup,
'showMediaFile'), 10, 2);
add_filter('manage_media_columns',
array($oManagerGroup, 'addPostColumnsHeader'));
}
}
//Clean up at deleting should be always done.
if (function_exists('add_action')) {
add_action('update_option_permalink_structure',
array($oManagerGroup, 'updatePermalink'));
add_action('wp_dashboard_setup', array($oManagerGroup,
'setupAdminDashboard'));
add_action('delete_post', array($oManagerGroup,
'removePostData'));
add_action('delete_attachment', array($oManagerGroup,
'removePostData'));
add_action('delete_user', array($oManagerGroup,
'removeUserData'));
add_action('delete_category', array($oManagerGroup,
'removeCategoryData'), 10, 2);
}
$oManagerGroup>noRightsToEditContent();
}
}
if (!function_exists("ManagerGroupAPMenu")) {
/**
* Создание панели управления
*
* @return null;
*/
function ManagerGroupAPMenu()
{
global $oManagerGroup;
$oCurrentUser = $oManagerGroup>getCurrentUser();
if (!isset($oManagerGroup)) {
return;
}
$aMGOptions = $oManagerGroup>getAdminOptions();
if (ini_get('safe_mode')
&& $aMGOptions['download_type'] == 'fopen'
) {
add_action(
'admin_notices',
create_function(
99
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
'',
'echo \'<div id="message"
class="error"><p><strong>'.
TXT_MG_FOPEN_WITHOUT_SAVEMODE_OFF.
'</strong></p></div>\';'
)
);
}
$oCurUserData = get_userdata($oCurrentUser>ID);
$oMGRedefiningPermission = $oManagerGroup
>getRedefiningPermission();
if ($oMGRedefiningPermission>checkUserAccess()) {
//TODO
/**
* --- BOF ---
* Not the best way to handle full user access capabilities
seems
* to be the right way, but it is way difficult.
*/
//Admin main menu
if (function_exists('add_menu_page')) {
add_menu_page('Manager Group', 'Управление группами',
'read', 'mg_usergroup', array($oManagerGroup, 'printAdminPage'),
'div');
}
//Admin sub menus
if (function_exists('add_submenu_page')) {
add_submenu_page('mg_usergroup', 'Работа с группами',
'Работа с группами', 'read', 'mg_usergroup', array($oManagerGroup,
'printAdminPage'));
add_submenu_page('mg_usergroup', 'Общие настройки',
'Общие настройки', 'read', 'mg_settings', array($oManagerGroup,
'printAdminPage'));
do_action('mg_add_submenu');
}
/**
* --- EOF ---
*/
}
if ($oMGRedefiningPermission>checkUserAccess()
|| $aMGOptions['authors_can_add_posts_to_groups'] == 'true'
) {
//Admin meta boxes
if (function_exists('add_meta_box')) {
100
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
$aPostableTypes = $oMGRedefiningPermission
>getPostableTypes();
foreach ($aPostableTypes as $sPostableType) {
add_meta_box('uma_post_access', 'Access',
array($oManagerGroup, 'editPostContent'), $sPostableType, 'side');
}
/*add_meta_box('uma_post_access', 'Access',
array($oManagerGroup, 'editPostContent'), 'post', 'side');
add_meta_box('uma_post_access', 'Access',
array($oManagerGroup, 'editPostContent'), 'page', 'side');*/
}
}
}
}
if (!function_exists("ManagerGroupUninstall")) {
function ManagerGroupUninstall() {
$oManagerGroup = new ManagerGroup();
$oManagerGroup>uninstall();
}
}
if (isset($oManagerGroup)) {
//install
if (function_exists('register_activation_hook')) {
register_activation_hook(__FILE__, array($oManagerGroup,
'install'));
}
//uninstall
if (function_exists('register_uninstall_hook')) {
register_uninstall_hook(__FILE__, 'ManagerGroupUninstall');
} elseif (function_exists('register_deactivation_hook')) {
//Fallback
register_deactivation_hook(__FILE__, array($oManagerGroup,
'uninstall'));
}
//deactivation
if (function_exists('register_deactivation_hook')) {
register_deactivation_hook(__FILE__, array($oManagerGroup,
'deactivate'));
}
//Redirect
$aMGOptions = $oManagerGroup>getAdminOptions();
if ($aMGOptions['redirect'] != 'false' ||
isset($_GET['mggetfile'])) {
101
add_filter('wp_headers', array($oManagerGroup, 'redirect'), 10
,
2);
}
//Actions
if (function_exists('add_action')) {
add_action('wp_print_scripts', array($oManagerGroup,
'addScripts'));
add_action('wp_print_styles', array($oManagerGroup,
'addStyles'));
add_action('admin_init', 'ManagerGroupAP');
add_action('admin_menu', 'ManagerGroupAPMenu');
}
//Filters
if (function_exists('add_filter')) {
add_filter('wp_get_attachment_thumb_url', array($oManagerGroup
,
'getFileUrl'), 10, 2);
add_filter('wp_get_attachment_url', array($oManagerGroup,
'getFileUrl'), 10, 2);
add_filter('the_posts', array($oManagerGroup, 'showPost'));
add_filter('posts_where_paged', array($oManagerGroup,
'showPostSql'));
add_filter('wp_get_nav_menu_items', array($oManagerGroup,
'showCustomMenu'));
add_filter('comments_array', array($oManagerGroup,
'showComment'));
add_filter('the_comments', array($oManagerGroup,
'showComment'));
add_filter('get_pages', array($oManagerGroup, 'showPage'));
add_filter('get_terms', array($oManagerGroup, 'showTerms'), 10
,
2);
add_filter('get_next_post_where', array($oManagerGroup,
'showNextPreviousPost'));
add_filter('get_previous_post_where', array($oManagerGroup,
'showNextPreviousPost'));
add_filter('post_link', array($oManagerGroup,
'cachePostLinks'), 10, 2);
add_filter('edit_post_link', array($oUserAccessManager,
'showGroupMembership'), 10, 2);
add_filter('parse_query', array($oManagerGroup, 'parseQuery'));
add_filter('getarchives_where', array($oManagerGroup,
'showPostSql'));
}
}

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
IPO - инструмент финансирования деятельности организации. На примере ПАО «Нефтяная компания «Лукойл»
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)