⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tasks.inc.php

📁 Discuz_7.0.0 是一款社区程序源码!! 国内80 的站长使用此程序
💻 PHP
📖 第 1 页 / 共 3 页
字号:
				array('newpost', lang('tasks_add_act_newpost'), array('forumlimit' => '', 'speciallimit' => 'none'))
			)), 'newpost', 'mradio');
			require_once DISCUZ_ROOT.'./include/forum.func.php';
			showtagheader('tbody', 'forumlimit', TRUE);
			showsetting('tasks_add_limit_forumid', '', '', '<SELECT name="forumid"><option value="">'.lang('none').'</option>'.forumselect().'</select>');
			showtagfooter('tbody');
			showtagheader('tbody', 'speciallimit');
			showsetting('tasks_add_limit_threadid', 'threadid', '', 'text');
			showsetting('tasks_add_limit_authorid', 'author', '', 'text');
			showtagfooter('tbody');
			showsetting('tasks_add_limit_num', 'num', '', 'text');
			showsetting('tasks_add_limit_time', 'time', '', 'text');

		} elseif($script == 'mod') {
		} elseif(in_array($script, $custom_scripts)) {

			$haveconditions = FALSE;
			if(is_array($task_conditions) && $task_conditions) {
				foreach($task_conditions as $taskvar) {
					if($taskvar['sort'] == 'complete' && $taskvar['name']) {
						$haveconditions = TRUE;
						if($taskvar['variable']) {
							showsetting($taskvar['name'], $taskvar['variable'], $taskvar['value'], 'text', '', 0, $taskvar['description']);
						} else {
							showsetting($taskvar['name'], $taskvar['variable'], $taskvar['value'], $taskvar['description']);
						}
					}
				}
			}
			if(!$haveconditions) {
				showtablerow('', 'class="td27" colspan="2"', lang('nolimit'));
			}
			if(is_array($task_settings) && $task_settings) {
				$havesettings = FALSE;
				foreach($task_settings as $taskvar) {
					if($taskvar['name']) {
						if(!$havesettings) {
							showtitle('tasks_add_settings');
							$havesettings = TRUE;
						}
						if($taskvar['variable']) {
							showsetting($taskvar['name'], $taskvar['variable'], $taskvar['value'], 'text', '', 0, $taskvar['description']);
						} else {
							showsetting($taskvar['name'], $taskvar['variable'], $taskvar['value'], $taskvar['description']);
						}
					}
				}
			}

		}

		showsubmit('addsubmit', 'submit');
		showtablefooter();
		showformfooter();

	} else {

		$applyperm = $grouplimit == 'special' && is_array($applyperm) ? implode("\t", $applyperm) : $grouplimit;
		$starttime = dmktime($starttime);
		$endtime = dmktime($endtime);
		$prize = ${'prize_'.$reward};
		$bonus = ${'bonus_'.$reward};

		if(!$name || !$description) {
			cpmsg('tasks_basic_invalid', '', 'error');
		} elseif(($endtime && $endtime <= $timestamp) || ($starttime && $endtime && $endtime <= $starttime)) {
			cpmsg('tasks_time_invalid', '', 'error');
		} elseif($reward && (!$prize || ($reward == 'credit' && !$bonus))) {
			cpmsg('tasks_reward_invalid', '', 'error');
		}

		$db->query("INSERT INTO {$tablepre}tasks (relatedtaskid, available, name, description, icon, tasklimits, applyperm, scriptname, starttime, endtime, period, reward, prize, bonus)
			VALUES ('$relatedtaskid', '0', '$name', '$description', '$icon', '$tasklimits', '$applyperm', '$script', '$starttime', '$endtime', '$period', '$reward', '$prize', '$bonus')");
		$taskid = $db->insert_id();

		if(in_array($script, $sys_scripts)) {
			if(!$threadid && $author) {
				$authorid = $db->result_first("SELECT uid FROM {$tablepre}members WHERE username='$author'");
			}
			foreach(${$script.'vars'} as $item) {
				if(in_array($item, array('num', 'time', 'threadid'))) {
					$$item = intval($$item);
				}
				$db->query("INSERT INTO {$tablepre}taskvars (taskid, name, description, variable, value)
					VALUES ('$taskid', '".lang('tasks_add_limit_'.$item)."', '".lang('tasks_add_limit_'.$item.'_comment')."', '$item', '".$$item."')");
			}
		} else {
			if(is_array($task_conditions) && $task_conditions) {
				foreach($task_conditions as $taskvars) {
					if($taskvars['name']) {
						$db->query("INSERT INTO {$tablepre}taskvars (taskid, sort, name, description, variable, value, type, extra)
							VALUES ('$taskid', '$taskvars[sort]', '$taskvars[name]', '$taskvars[description]', '$taskvars[variable]', '${$taskvars[variable]}', '$taskvars[type]', '$taskvars[extra]')");
					}
				}
			}
			if(is_array($task_settings) && $task_settings) {
				foreach($task_settings as $taskvars) {
					if($taskvars['name']) {
						$db->query("INSERT INTO {$tablepre}taskvars (taskid, sort, name, description, variable, value, type, extra)
							VALUES ('$taskid', 'setting', '$taskvars[name]', '$taskvars[description]', '$taskvars[variable]', '${$taskvars[variable]}', '$taskvars[type]', '$taskvars[extra]')");
					}
				}
			}
		}

		cpmsg('tasks_succeed', "$BASESCRIPT?action=tasks", 'succeed');

	}

} elseif($operation == 'edit' && $id) {

	$task = $db->fetch_first("SELECT * FROM {$tablepre}tasks WHERE taskid='$id'");

	if(!submitcheck('editsubmit')) {

		echo '<script type="text/javascript" src="include/js/calendar.js"></script>';
		shownav('extended', 'nav_tasks');
		showsubmenu('nav_tasks', array(
			array('admin', 'tasks', 0),
			array(array('menu' => 'add', 'submenu' => $submenus), '', 0),
			array('nav_task_type', 'tasks&operation=type', 0)
		));

		showformheader('tasks&operation=edit&id='.$id);
		showtableheader('tasks_edit_basic', 'fixpadding');
		showsetting('tasks_add_name', 'name', $task['name'], 'text');
		showsetting('tasks_add_desc', 'description', $task['description'], 'textarea');
		showsetting('tasks_add_icon', 'icon', $task['icon'], 'text');
		showsetting('tasks_add_starttime', 'starttime', $task['starttime'] ? gmdate('y-m-d', $task['starttime'] + $timeoffset * 3600) : '', 'calendar');
		showsetting('tasks_add_endtime', 'endtime', $task['endtime'] ? gmdate('y-m-d', $task['endtime'] + $timeoffset * 3600) : '', 'calendar');
		showsetting('tasks_add_period', 'period', $task['period'], 'text');
		showsetting('tasks_add_reward', array('reward', array(
			array('', lang('none'), array('reward_credit' => 'none', 'reward_magic' => 'none', 'reward_medal' => 'none', 'reward_invite' => 'none', 'reward_group' => 'none')),
			array('credit', lang('credits'), array('reward_credit' => '', 'reward_magic' => 'none', 'reward_medal' => 'none', 'reward_invite'=> 'none', 'reward_group' => 'none')),
			$magicstatus ? array('magic', lang('tasks_reward_magic'), array('reward_credit' => 'none', 'reward_magic' => '', 'reward_medal' => 'none', 'reward_invite' => 'none', 'reward_group' => 'none')) : '',
			$medalstatus ? array('medal', lang('medals'), array('reward_credit' => 'none', 'reward_magic' => 'none', 'reward_medal' => '', 'reward_invite' => 'none', 'reward_group' => 'none')) : '',
			$regstatus > 1 ? array('invite', lang('tasks_reward_invite'), array('reward_credit' => 'none', 'reward_magic' => 'none', 'reward_medal' => 'none', 'reward_invite' => '', 'reward_group' => 'none')) : '',
			array('group', lang('tasks_add_group'), array('reward_credit' => 'none', 'reward_magic' => 'none', 'reward_medal' => 'none', 'reward_invite' => 'none', 'reward_group' => ''))
		)), $task['reward'], 'mradio');

		$extcreditarray = array(array(0, lang('select')));
		foreach($extcredits as $creditid => $extcredit) {
			$extcreditarray[] = array($creditid, $extcredit['title']);
		}

		showtagheader('tbody', 'reward_credit', $task['reward'] == 'credit');
		showsetting('tasks_add_extcredit', array('prize_credit', $extcreditarray), $task['prize'], 'select');
		showsetting('tasks_add_credits', 'bonus_credit', $task['bonus'], 'text');
		showtagfooter('tbody');

		showtagheader('tbody', 'reward_magic', $task['reward'] == 'magic');
		showsetting('tasks_add_magicname', array('prize_magic', fetcharray('magicid', 'name', 'magics', "available='1' ORDER BY displayorder")), $task['prize'], 'select');
		showsetting('tasks_add_magicnum', 'bonus_magic', $task['bonus'], 'text');
		showtagfooter('tbody');

		showtagheader('tbody', 'reward_medal', $task['reward'] == 'medal');
		showsetting('tasks_add_medalname', array('prize_medal', fetcharray('medalid', 'name', 'medals', "available='1' ORDER BY displayorder")), $task['prize'], 'select');
		showsetting('tasks_add_medalexp', 'bonus_medal', $task['bonus'], 'text');
		showtagfooter('tbody');

		showtagheader('tbody', 'reward_invite', $task['reward'] == 'invite');
		showsetting('tasks_add_invitenum', 'prize_invite', $task['prize'], 'text');
		showsetting('tasks_add_inviteexp', 'bonus_invite', $task['bonus'], 'text');
		showtagfooter('tbody');

		showtagheader('tbody', 'reward_group', $task['reward'] == 'group');
		showsetting('tasks_add_group', array('prize_group', fetcharray('groupid', 'grouptitle', 'usergroups', "type='special' AND radminid='0'")), $task['prize'], 'select');
		showsetting('tasks_add_groupexp', 'bonus_group', $task['bonus'], 'text');
		showtagfooter('tbody');

		showtitle('tasks_add_appyperm');
		if(!$task['applyperm']) {
			$task['applyperm'] = 'all';
		}
		$task['grouplimit'] = in_array($task['applyperm'], array('all', 'member', 'admin')) ? $task['applyperm'] : 'special';
		showsetting('tasks_add_groupperm', array('grouplimit', array(
			array('all', lang('tasks_add_group_all'), array('specialgroup' => 'none')),
			array('member', lang('tasks_add_group_member'), array('specialgroup' => 'none')),
			array('admin', lang('tasks_add_group_admin'), array('specialgroup' => 'none')),
			array('special', lang('tasks_add_group_special'), array('specialgroup' => ''))
		)), $task['grouplimit'], 'mradio');
		showtagheader('tbody', 'specialgroup', $task['grouplimit'] == 'special');
		showsetting('tasks_add_usergroup', array('applyperm[]', fetcharray('groupid', 'grouptitle', 'usergroups', '')), explode("\t", $task['applyperm']), 'mselect');
		showtagfooter('tbody');
		showsetting('tasks_add_relatedtask', array('relatedtaskid', fetcharray('taskid', 'name', 'tasks', "available='2' AND taskid!='$task[taskid]'")), $task['relatedtaskid'], 'select');
		showsetting('tasks_add_maxnum', 'tasklimits', $task['tasklimits'], 'text');

		$taskvars = array();
		$query = $db->query("SELECT * FROM {$tablepre}taskvars WHERE taskid='$id'");
		while($taskvar = $db->fetch_array($query)) {
			if($taskvar['sort'] == 'apply') {
				$taskvars['apply'][] = $taskvar;
			} elseif($taskvar['sort'] == 'complete') {
				$taskvars['complete'][$taskvar['variable']] = $taskvar;
			} elseif($taskvar['sort'] == 'setting') {
				$taskvars['setting'][$taskvar['variable']] = $taskvar;
			}
		}

		if($taskvars['apply']) {
			foreach($taskvars['apply'] as $taskvar) {
				if($taskvar['variable']) {
					showsetting($taskvar['name'], $taskvar['variable'], $taskvar['value'], 'text', '', 0, $taskvar['description']);
				} else {
					showsetting($taskvar['name'], $taskvar['variable'], $taskvar['value'], $taskvar['description']);
				}
			}
		}

		showtitle('tasks_add_conditions');

		if($task['scriptname'] == 'member') {

			showsetting('tasks_add_limit_act', array('act', array(
				array('buddy', lang('tasks_add_act_buddy'), array('timelimit' => 'none')),
				array('favorite', lang('tasks_add_act_favorite'), array('timelimit' => 'none')),
				array('magic', lang('tasks_add_act_magic'), array('timelimit' => ''))
			)), $taskvars['complete']['act']['value'], 'mradio');
			showsetting('tasks_add_limit_num', 'num', $taskvars['complete']['num']['value'], 'text');
			showtagheader('tbody', 'timelimit', $taskvars['complete']['act']['value'] == 'magic');
			showsetting('tasks_add_limit_time', 'time', $taskvars['complete']['time']['value'], 'text');
			showtagfooter('tbody');

		} elseif($task['scriptname'] == 'post') {

			showsetting('tasks_add_limit_act', array('act', array(
				array('newthread', lang('tasks_add_act_newthread'), array('forumlimit' => '', 'speciallimit' => 'none')),
				array('newreply', lang('tasks_add_act_newreply'), array('forumlimit' => 'none', 'speciallimit' => '')),
				array('newpost', lang('tasks_add_act_newpost'), array('forumlimit' => '', 'speciallimit' => 'none'))
			)), $taskvars['complete']['act']['value'], 'mradio');
			require_once DISCUZ_ROOT.'./include/forum.func.php';
			showtagheader('tbody', 'forumlimit', $taskvars['complete']['act']['value'] != 'newreply');
			showsetting('tasks_add_limit_forumid', '', '', '<SELECT name="forumid"><option value="">'.lang('nolimit').'</option>'.forumselect(FALSE, 0, $taskvars['complete']['forumid']['value']).'</select>');
			showtagfooter('tbody');
			showtagheader('tbody', 'speciallimit', $taskvars['complete']['act']['value'] == 'newreply');
			showsetting('tasks_add_limit_threadid', 'threadid', $taskvars['complete']['threadid']['value'] ? $taskvars['complete']['threadid']['value'] : '', 'text');
			$author = $taskvars['complete']['authorid']['value'] && ($author = $db->result_first("SELECT username FROM {$tablepre}members WHERE uid='{$taskvars[complete][authorid][value]}'")) ? $author : '';
			showsetting('tasks_add_limit_authorid', 'author', $author, 'text');
			showtagfooter('tbody');
			showsetting('tasks_add_limit_num', 'num', $taskvars['complete']['num']['value'], 'text');
			showsetting('tasks_add_limit_time', 'time', $taskvars['complete']['time']['value'], 'text');

		} else {

			if($taskvars['complete']) {
				foreach($taskvars['complete'] as $taskvar) {
					if($taskvar['variable']) {
						showsetting($taskvar['name'], $taskvar['variable'], $taskvar['value'], 'text', '', 0, $taskvar['description']);
					} else {
						showsetting($taskvar['name'], $taskvar['variable'], $taskvar['value'], $taskvar['description']);
					}
				}
			} else {
				showtablerow('', 'class="td27" colspan="2"', lang('nolimit'));
			}
			if($taskvars['setting']) {
				showtitle('tasks_add_settings');
				foreach($taskvars['setting'] as $taskvar) {
					if($taskvar['variable']) {
						showsetting($taskvar['name'], $taskvar['variable'], $taskvar['value'], 'text', '', 0, $taskvar['description']);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -