root/ip/tags/release_1_3_0_53/adm/admin_profile_fields.php

111163
31
$no_page_header = false;
31
$no_page_header = false;
32
require('./pagestart.' . PHP_EXT);
32
require('./pagestart.' . PHP_EXT);
33
include_once(IP_ROOT_PATH . 'includes/functions_profile.' . PHP_EXT);
33
include_once(IP_ROOT_PATH . 'includes/functions_profile.' . PHP_EXT);
34
$db->clear_cache('profile_fields_');
34
35
35
if(!isset($_GET['mode']) || !isset($_GET['pfid']))
36
if(!isset($_GET['mode']) || !isset($_GET['pfid']))
36
{
37
{
...
...
58
		'L_ADD_FIELD_TITLE' => $lang['add_field_title'],
59
		'L_ADD_FIELD_TITLE' => $lang['add_field_title'],
59
		'L_ADD_FIELD_EXPLAIN' => $lang['add_field_explain'],
60
		'L_ADD_FIELD_EXPLAIN' => $lang['add_field_explain'],
60
61
61
		'S_ADD_FIELD_ACTION' => append_sid("$filename?mode=update&pfid=x")
62
		'S_ADD_FIELD_ACTION' => append_sid($filename . '?mode=update&pfid=x')
62
		));
63
		)
64
	);
63
}
65
}
64
elseif($mode == 'update')
66
elseif($mode == 'update')
65
{
67
{
...
...
67
69
68
	$name = htmlspecialchars($_POST['field_name']);
70
	$name = htmlspecialchars($_POST['field_name']);
69
	if(empty($name))
71
	if(empty($name))
72
	{
70
		message_die(GENERAL_ERROR,$lang['enter_a_name']);
73
		message_die(GENERAL_ERROR,$lang['enter_a_name']);
74
	}
71
75
72
	$description = htmlspecialchars($_POST['field_descrition']);
76
	$description = htmlspecialchars($_POST['field_descrition']);
73
77
...
...
83
	$radio_default_value = htmlspecialchars($_POST['radio_default_value']);
87
	$radio_default_value = htmlspecialchars($_POST['radio_default_value']);
84
	$radio_values = explode("\n",str_replace("\r",'',$radio_values));
88
	$radio_values = explode("\n",str_replace("\r",'',$radio_values));
85
	if(empty($radio_default_value))
89
	if(empty($radio_default_value))
90
	{
86
		$radio_default_value = $radio_values[0];
91
		$radio_default_value = $radio_values[0];
92
	}
87
	$temp = '';
93
	$temp = '';
88
	foreach($radio_values as $val)
94
	foreach($radio_values as $val)
95
	{
89
		$temp .= $val . ',';
96
		$temp .= $val . ',';
97
	}
90
	$radio_values = substr($temp,0,strlen($temp)-1);
98
	$radio_values = substr($temp,0,strlen($temp)-1);
91
99
92
	$checkbox_values = htmlspecialchars($_POST['checkbox_values']);
100
	$checkbox_values = htmlspecialchars($_POST['checkbox_values']);
...
...
97
		$check_default_values = explode("\n",str_replace("\r",'',$check_default_values));
105
		$check_default_values = explode("\n",str_replace("\r",'',$check_default_values));
98
		$temp = '';
106
		$temp = '';
99
		foreach($check_default_values as $val)
107
		foreach($check_default_values as $val)
108
		{
100
			$temp .= $val . ',';
109
			$temp .= $val . ',';
110
		}
101
		$check_default_values = substr($temp,0,strlen($temp)-1);
111
		$check_default_values = substr($temp,0,strlen($temp)-1);
102
	}
112
	}
103
	$temp = '';
113
	$temp = '';
104
	foreach($checkbox_values as $val)
114
	foreach($checkbox_values as $val)
115
	{
105
		$temp .= $val . ',';
116
		$temp .= $val . ',';
117
	}
106
	$checkbox_values = substr($temp,0,strlen($temp)-1);
118
	$checkbox_values = substr($temp,0,strlen($temp)-1);
107
119
108
	$required = intval($_POST['required']);
120
	$required = intval($_POST['required']);
...
...
118
		$sql = "SELECT field_name FROM " . PROFILE_FIELDS_TABLE . "
130
		$sql = "SELECT field_name FROM " . PROFILE_FIELDS_TABLE . "
119
			WHERE field_name='$name'";
131
			WHERE field_name='$name'";
120
		if(!($result = $db->sql_query($sql)))
132
		if(!($result = $db->sql_query($sql)))
133
		{
121
			message_die(GENERAL_ERROR,'Could not query database for field name information','',__LINE__,__FILE__,$sql);
134
			message_die(GENERAL_ERROR,'Could not query database for field name information','',__LINE__,__FILE__,$sql);
135
		}
122
		$temp = $db->sql_fetchrowset($result);
136
		$temp = $db->sql_fetchrowset($result);
123
		if(!empty($temp))
137
		if(!empty($temp))
138
		{
124
			message_die(GENERAL_ERROR,$lang['field_exists']);
139
			message_die(GENERAL_ERROR,$lang['field_exists']);
125
	}
140
	}
141
	}
126
142
127
	if($pfid == 'x')
143
	if($pfid == 'x')
144
	{
128
		$die_message = 'Could not insert new profile field';
145
		$die_message = 'Could not insert new profile field';
146
	}
129
	else
147
	else
148
	{
130
		$die_message = 'Could not update profile information';
149
		$die_message = 'Could not update profile information';
150
	}
131
151
132
	if($pfid != 'x')
152
	if($pfid != 'x')
133
	{
153
	{
134
		$sql = "SELECT field_name FROM " . PROFILE_FIELDS_TABLE . "
154
		$sql = "SELECT field_name FROM " . PROFILE_FIELDS_TABLE . "
135
			WHERE field_id = $pfid";
155
			WHERE field_id = $pfid";
136
		if(!($result = $db->sql_query($sql)))
156
		if(!($result = $db->sql_query($sql)))
157
		{
137
			message_die(GENERAL_ERROR,'Could not find old name','',__LINE__,__FILE__,$sql);
158
			message_die(GENERAL_ERROR,'Could not find old name','',__LINE__,__FILE__,$sql);
159
		}
138
		$old_name = $db->sql_fetchrow($result);
160
		$old_name = $db->sql_fetchrow($result);
139
		$old_name = text_to_column($old_name['field_name']);
161
		$old_name = text_to_column($old_name['field_name']);
140
	}
162
	}
...
...
185
	}
207
	}
186
208
187
	if(!$db->sql_query($sql))
209
	if(!$db->sql_query($sql))
210
	{
188
		message_die(GENERAL_ERROR, $die_message, '', __LINE__, __FILE__, $sql);
211
		message_die(GENERAL_ERROR, $die_message, '', __LINE__, __FILE__, $sql);
212
	}
189
213
190
	if($pfid != 'x')
214
	if($pfid != 'x')
191
	{
215
	{
...
...
211
		}
235
		}
212
	}
236
	}
213
237
214
	$sql = "ALTER TABLE " . USERS_TABLE . "
238
	$sql = "ALTER TABLE " . USERS_TABLE . " ADD $name";
215
		ADD $name";
216
	switch($type)
239
	switch($type)
217
	{
240
	{
218
		case TEXT_FIELD:
241
		case TEXT_FIELD:
...
...
228
	}
251
	}
229
252
230
	if($pfid == 'x' && !$db->sql_query($sql))
253
	if($pfid == 'x' && !$db->sql_query($sql))
254
	{
231
		message_die(GENERAL_ERROR,'Could not expand users table for new profile field.','',__LINE__,__FILE__,$sql);
255
		message_die(GENERAL_ERROR,'Could not expand users table for new profile field.','',__LINE__,__FILE__,$sql);
256
	}
232
257
233
	$sql = "SELECT user_id FROM " . USERS_TABLE;
258
	$sql = "SELECT user_id FROM " . USERS_TABLE;
234
	if(!($result = $db->sql_query($sql)))
259
	if(!($result = $db->sql_query($sql)))
260
	{
235
		message_die(GENERAL_ERROR,'Could not retrieve use and profile information','',__LINE__,__FILE__,$sql);
261
		message_die(GENERAL_ERROR,'Could not retrieve use and profile information','',__LINE__,__FILE__,$sql);
262
	}
236
263
237
	$user_id_array = array();
264
	$user_id_array = array();
238
	while($temp = $db->sql_fetchrow($result))$user_id_array[] = $temp['user_id'];
265
	while($temp = $db->sql_fetchrow($result))
266
	{
267
		$user_id_array[] = $temp['user_id'];
268
	}
239
269
240
	if($pfid == 'x')
270
	if($pfid == 'x')
271
	{
241
		foreach($user_id_array as $user_id)
272
		foreach($user_id_array as $user_id)
242
		{
273
		{
243
			$sql = "UPDATE " . USERS_TABLE . "
274
			$sql = "UPDATE " . USERS_TABLE . "
...
...
263
			$sql = sprintf($sql,"'$val'");
294
			$sql = sprintf($sql,"'$val'");
264
295
265
			if(!$db->sql_query($sql))
296
			if(!$db->sql_query($sql))
297
			{
266
				message_die(GENERAL_ERROR,'Could not update users with default values','',__LINE__,__FILE__,$sql);
298
				message_die(GENERAL_ERROR,'Could not update users with default values','',__LINE__,__FILE__,$sql);
267
		}
299
		}
300
		}
301
	}
268
302
269
	$template->assign_vars(array(
303
	$template->assign_vars(array(
270
		'MESSAGE_TITLE' => $pfid == 'x' ? $lang['profile_field_created'] : $lang['profile_field_updated'],
304
		'MESSAGE_TITLE' => $pfid == 'x' ? $lang['profile_field_created'] : $lang['profile_field_updated'],
271
		'MESSAGE_TEXT' => $lang['field_success'] . '<br /><br />' . $create_second_field_link));
305
		'MESSAGE_TEXT' => $lang['field_success'] . '<br /><br />' . $create_second_field_link
306
		)
307
	);
272
}
308
}
273
elseif($mode == 'edit')
309
elseif($mode == 'edit')
274
{
310
{
...
...
284
			'L_ACTION' => $lang['profile_field_action'],
320
			'L_ACTION' => $lang['profile_field_action'],
285
			'L_EDIT' => $lang['Edit'],
321
			'L_EDIT' => $lang['Edit'],
286
			'L_DELETE' => $lang['Delete']
322
			'L_DELETE' => $lang['Delete']
287
			));
323
			)
324
		);
288
325
289
		$profile_rows = get_fields();
326
		$profile_rows = get_fields();
290
327
291
		if(count($profile_rows) == 0)
328
		if(count($profile_rows) == 0)
329
		{
292
			$template->assign_block_vars('switch_no_fields',array('NO_FIELDS_EXIST' => $lang['no_profile_fields_exist']));
330
			$template->assign_block_vars('switch_no_fields',array('NO_FIELDS_EXIST' => $lang['no_profile_fields_exist']));
331
		}
293
		else
332
		else
294
		{
333
		{
295
			$template->assign_block_vars('switch_fields',array());
334
			$template->assign_block_vars('switch_fields',array());
...
...
300
				$id = $val['field_id'];
339
				$id = $val['field_id'];
301
				$name = $val['field_name'];
340
				$name = $val['field_name'];
302
341
303
				$edit_url = append_sid("$filename?mode=edit&pfid=$id");
342
				$edit_url = append_sid($filename . '?mode=edit&amp;pfid=' . $id);
304
				$delete_url = append_sid("$filename?mode=delete&pfid=$id");
343
				$delete_url = append_sid($filename . '?mode=delete&amp;pfid=' . $id);
305
344
306
				$template->assign_block_vars('switch_fields.profile_fields',array(
345
				$template->assign_block_vars('switch_fields.profile_fields',array(
307
					'ROW_CLASS' => $row,
346
					'ROW_CLASS' => $row,
...
...
310
349
311
					'U_PROFILE_FIELD_EDIT' => $edit_url,
350
					'U_PROFILE_FIELD_EDIT' => $edit_url,
312
					'U_PROFILE_FIELD_DELETE' => $delete_url
351
					'U_PROFILE_FIELD_DELETE' => $delete_url
313
					));
352
					)
353
				);
314
			}
354
			}
315
		}
355
		}
316
	}
356
	}
...
...
354
			'L_ADD_FIELD_TITLE' => $lang['edit_field_title'],
394
			'L_ADD_FIELD_TITLE' => $lang['edit_field_title'],
355
			'L_ADD_FIELD_EXPLAIN' => $lang['edit_field_explain'],
395
			'L_ADD_FIELD_EXPLAIN' => $lang['edit_field_explain'],
356
396
357
			'S_ADD_FIELD_ACTION' => append_sid("$filename?mode=update&pfid=$pfid")
397
			'S_ADD_FIELD_ACTION' => append_sid($filename . '?mode=update&amp;pfid=' . $pfid)
358
			));
398
			)
399
		);
359
	}
400
	}
360
}
401
}
361
elseif($mode == 'delete')
402
elseif($mode == 'delete')
...
...
363
	$field_name = get_fields('WHERE field_id = '.$pfid,false,'field_name');
404
	$field_name = get_fields('WHERE field_id = '.$pfid,false,'field_name');
364
	$name = text_to_column($field_name['field_name']);
405
	$name = text_to_column($field_name['field_name']);
365
406
366
	$del_link = '<a href="' . append_sid("$filename?mode=confirmdelete&pfid=$pfid&name=$name") . '">' . $lang['Yes'] . '</a>';
407
	$del_link = '<a href="' . append_sid($filename . '?mode=confirmdelete&amp;pfid=' . $pfid . '&amp;name=' . $name) . '">' . $lang['Yes'] . '</a>';
367
	$nodel_link = sprintf($lang['index_link'],$lang['No']);
408
	$nodel_link = sprintf($lang['index_link'],$lang['No']);
368
409
369
	$template->set_filenames(array('body' => ADM_TPL . 'admin_message_body.tpl'));
410
	$template->set_filenames(array('body' => ADM_TPL . 'admin_message_body.tpl'));
370
	$template->assign_vars(array(
411
	$template->assign_vars(array(
371
		'MESSAGE_TITLE' => sprintf($lang['double_check_delete'],$field_name['field_name']),
412
		'MESSAGE_TITLE' => sprintf($lang['double_check_delete'],$field_name['field_name']),
372
		'MESSAGE_TEXT' => $del_link . ' &nbsp; ' . $nodel_link
413
		'MESSAGE_TEXT' => $del_link . ' &nbsp; ' . $nodel_link
373
		));
414
		)
415
	);
374
}
416
}
375
elseif($mode == 'confirmdelete')
417
elseif($mode == 'confirmdelete')
376
{
418
{
377
	$sql = "DELETE FROM " . PROFILE_FIELDS_TABLE . "
419
	$sql = "DELETE FROM " . PROFILE_FIELDS_TABLE . "
378
		WHERE field_id = $pfid";
420
		WHERE field_id = $pfid";
379
	if(!$db->sql_query($sql))
421
	if(!$db->sql_query($sql))
422
	{
380
		message_die(GENERAL_ERROR,'Could not delete profile form database','',__LINE__,__FILE__,$sql);
423
		message_die(GENERAL_ERROR,'Could not delete profile form database','',__LINE__,__FILE__,$sql);
424
	}
381
425
382
	$name = $_GET['name'];
426
	$name = $_GET['name'];
383
	$sql = "ALTER TABLE " . USERS_TABLE . "
427
	$sql = "ALTER TABLE " . USERS_TABLE . "
384
		DROP COLUMN $name";
428
		DROP COLUMN $name";
385
	if(!$db->sql_query($sql))
429
	if(!$db->sql_query($sql))
430
	{
386
		message_die(GENERAL_ERROR,'Could not remove column from '.USERS_TABLE,'',__LINE__,__FILE__,$sql);
431
		message_die(GENERAL_ERROR,'Could not remove column from '.USERS_TABLE,'',__LINE__,__FILE__,$sql);
432
	}
387
433
388
	$template->set_filenames(array('body' => ADM_TPL . 'admin_message_body.tpl'));
434
	$template->set_filenames(array('body' => ADM_TPL . 'admin_message_body.tpl'));
389
	$template->assign_vars(array(
435
	$template->assign_vars(array(
390
		'MESSAGE_TITLE' => $lang['field_deleted'],
436
		'MESSAGE_TITLE' => $lang['field_deleted'],
391
		'MESSAGE_TEXT' => $lang['click_here_here']
437
		'MESSAGE_TEXT' => $lang['click_here_here']
392
		));
438
		)
439
	);
393
}
440
}
394
441
395
$template->assign_vars(array(
442
$template->assign_vars(array(
...
...
462
	'S_AUTHOR' => AUTHOR,
509
	'S_AUTHOR' => AUTHOR,
463
	'S_ABOVE_SIGNATURE' => ABOVE_SIGNATURE,
510
	'S_ABOVE_SIGNATURE' => ABOVE_SIGNATURE,
464
	'S_BELOW_SIGNATURE' => BELOW_SIGNATURE
511
	'S_BELOW_SIGNATURE' => BELOW_SIGNATURE
465
	));
512
	)
513
);
466
514
467
$template->pparse('body');
515
$template->pparse('body');
468
516
517
$db->clear_cache('profile_fields_');
469
include('./page_footer_admin.' . PHP_EXT);
518
include('./page_footer_admin.' . PHP_EXT);
470
?>
519
?>