当前位置: 首页>>代码示例>>PHP>>正文


PHP CTitleBlock类代码示例

本文整理汇总了PHP中CTitleBlock的典型用法代码示例。如果您正苦于以下问题:PHP CTitleBlock类的具体用法?PHP CTitleBlock怎么用?PHP CTitleBlock使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了CTitleBlock类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: elseif

    $AppUI->setMsg('invalidID', UI_MSG_ERROR, true);
    $AppUI->redirect();
} elseif (0 == $link_id && ($project_id || $task_id)) {
    // We are creating a link, so if we have them lets figure out the project
    // and task id
    $link->link_project = $project_id;
    $link->link_task = $task_id;
    if ($task_id) {
        $link_task = new CTask();
        $link_task->load($task_id);
        $link->task_name = $link_task->task_name;
    }
}
// setup the title block
$ttl = $link_id ? 'Edit Link' : 'Add Link';
$titleBlock = new CTitleBlock($AppUI->_($ttl), 'folder5.png', $m, $m . '.' . $a);
$titleBlock->addCrumb('?m=' . $m, 'links list');
$canDelete = $perms->checkModuleItem($m, 'delete', $link_id);
if ($canDelete && $link_id) {
    $titleBlock->addCrumbDelete('delete link', $canDelete, $msg);
}
$titleBlock->show();
$prj = new CProject();
$projects = $prj->getAllowedProjects($AppUI->user_id, false);
foreach ($projects as $project_id => $project_info) {
    $projects[$project_id] = $project_info['project_name'];
}
$projects = arrayMerge(array('0' => $AppUI->_('All', UI_OUTPUT_JS)), $projects);
?>
<script language="javascript" type="text/javascript">
function submitIt() {
开发者ID:eureka2,项目名称:web2project,代码行数:31,代码来源:addedit.php

示例2: die

<?php

if (!defined('DP_BASE_DIR')) {
    die('You should not access this file directly.');
}
$AppUI->savePlace();
require_once $AppUI->getSystemClass('CustomFields');
$titleBlock = new CTitleBlock('Custom field editor', 'customfields.png', 'admin', 'admin.custom_field_editor');
$titleBlock->addCrumb('?m=system', 'system admin');
$edit_field_id = dpGetParam($_POST, 'field_id', NULL);
$titleBlock->show();
$sql = 'SELECT * FROM modules' . ' ORDER BY mod_ui_order';
$q = new DBQuery();
$q->addTable('modules');
$q->addWhere('mod_name IN (\'Companies\', \'Projects\', \'Tasks\', \'Calendar\')');
$modules = $q->loadList();
echo '<table cellpadding="2" summary="module list">';
foreach ($modules as $module) {
    echo '<tr><td colspan="4">';
    echo '<h3>' . $AppUI->_($module['mod_name']) . '</h3>';
    echo '</td></tr>';
    echo '<tr><td colspan="4">';
    echo '<a href="?m=system&amp;a=custom_field_addedit&amp;module=' . $module['mod_name'] . '"><img src="./images/icons/stock_new.png" align="center" width="16" height="16" border="0" alt="" />' . $AppUI->_('Add a new Custom Field to this Module') . '</a><br /><br />';
    echo '</td></tr>';
    $q->clear();
    $q->addTable('custom_fields_struct');
    $q->addWhere('field_module = \'' . mb_strtolower($module['mod_name']) . "'");
    $custom_fields = $q->loadList();
    foreach ($custom_fields as $f) {
        echo '<tr><td class="hilite">';
        echo '<a href="?m=system&amp;a=custom_field_addedit&amp;module=' . $module['mod_name'] . '&amp;field_id=' . $f['field_id'] . '"><img src="./images/icons/stock_edit-16.png" align="center" width="16" height="16" border="0" alt="" />Edit</a>';
开发者ID:222elm,项目名称:dotprojectFrame,代码行数:31,代码来源:custom_field_editor.php

示例3: dPgetSysVal

$q->addWhere('c.company_id = ' . $company_id);
$sql = $q->prepare();
$q->clear();
$obj = null;
if (!db_loadObject($sql, $obj)) {
    $AppUI->setMsg('Company');
    $AppUI->setMsg("invalidID", UI_MSG_ERROR, true);
    $AppUI->redirect();
} else {
    $AppUI->savePlace();
}
// load the list of project statii and company types
$pstatus = dPgetSysVal('ProjectStatus');
$types = dPgetSysVal('CompanyType');
// setup the title block
$titleBlock = new CTitleBlock('Company Information');
if ($canEdit) {
    $titleBlock->addCell();
    $titleBlock->addButton($AppUI->_('new company'), 'index.php?m=companies&a=addedit');
}
$titleBlock->addButton('company list', 'index.php?m=companies');
$titleBlock->show();
?>
<script language="javascript">
<?php 
// security improvement:
// some javascript functions may not appear on client side in case of user not having write permissions
// else users would be able to arbitrarily run 'bad' functions
if ($canDelete) {
    ?>
function delIt() {
开发者ID:n2i,项目名称:xvnkb,代码行数:31,代码来源:view.php

示例4: CProject

 * ("All" is always allowed when basing permission on projects)
 */
$project = new CProject();
$extra = array('from' => 'files', 'where' => 'project_id = file_project');
$projects = $project->getAllowedRecords($AppUI->user_id, 'project_id,project_name', 'project_name', null, $extra);
$projects = arrayMerge(array('0' => $AppUI->_('All', UI_OUTPUT_RAW)), $projects);
// get SQL for allowed projects/tasks and folders
$task = new CTask();
$allowedProjects = $project->getAllowedSQL($AppUI->user_id, 'file_project');
$allowedTasks = $task->getAllowedSQL($AppUI->user_id, 'file_task');
$cfObj = new CFileFolder();
$allowedFolders = $cfObj->getAllowedSQL($AppUI->user_id, 'file_folder');
//get permissions for folder tab
$canAccess_folders = getPermission('file_folders', 'access');
// setup the title block
$titleBlock = new CTitleBlock('Files', 'folder5.png', $m, $m . '.' . $a);
$titleBlock->addCell($AppUI->_('Filter') . ':');
$titleBlock->addCell(arraySelect($projects, 'project_id', 'onchange="javascript:document.pickProject.submit()" size="1" class="text"', $project_id), '', '<form name="pickProject" action="?m=files" method="post">', '</form>');
/*
 * override the file module's $canEdit variable passed from the main index.php 
 * in order to check on file folder permissions
 */
$canAuthor_folders = getPermission('file_folders', 'add');
if ($canAuthor) {
    $titleBlock->addCell('<input type="submit" class="button" value="' . $AppUI->_('new file') . '" />', '', '<form action="?m=files&amp;a=addedit&amp;folder=' . $folder . '" method="post">', '</form>');
}
if ($canAuthor_folders) {
    $titleBlock->addCell('<input type="submit" class="button" value="' . $AppUI->_('new folder') . '" />', '', '<form action="?m=files&amp;a=addedit_folder" method="post">', '</form>');
}
$titleBlock->show();
$file_types = dPgetSysVal('FileType');
开发者ID:srinivasulurao,项目名称:jonel,代码行数:31,代码来源:index.php

示例5: changeIt

<script language="javascript">

function changeIt() {
        var f=document.changeMe;
        f.submit();
}
</script>

<?php 
}
// get the prefered date format
$df = $AppUI->getPref('SHDATEFORMAT');
$reports = $AppUI->readFiles(dPgetConfig('root_dir') . "/modules/projects/reports", "\\.php\$");
// setup the title block
if (!$suppressHeaders) {
    $titleBlock = new CTitleBlock('Project Reports');
    $titleBlock->addButton("projects list", 'index.php?m=projects');
    $titleBlock->show();
}
$report_type_var = dPgetParam($_GET, 'report_type', '');
if (!empty($report_type_var)) {
    $report_type_var = '&report_type=' . $report_type;
}
$title_ext = '';
if ($report_type != '') {
    $rfx = DP_BASE_DIR . "/modules/projects/reports/" . $report_type . '.' . $AppUI->user_locale . '.txt';
    if (file_exists($rfx)) {
        $ds = file($rfx);
        $title_ext = '  -  ' . $ds[0];
    }
}
开发者ID:n2i,项目名称:xvnkb,代码行数:31,代码来源:reports.php

示例6: CTitleBlock

    $q->clear();
    $AppUI->redirect('m=forums&a=configure');
}
// SQL-Query to check if the message should be delivered to all users (forced) (checkbox)
$q->addTable('forum_watch');
$q->addQuery('*');
$q->addWhere('watch_user = 0');
$q->addWhere('watch_forum = 0');
$q->addWhere('watch_topic = 0');
$resAll = $q->exec();
if (db_num_rows($resAll) >= 1) {
    $watchAll = true;
}
$q->clear();
// setup the title block
$titleBlock = new CTitleBlock('Configure Forums Module', 'support.png', $m, "{$m}.{$a}");
$titleBlock->addCrumb("?m=system", "system admin");
$titleBlock->addCrumb("?m=system&a=viewmods", "modules list");
$titleBlock->show();
?>

<script language="javascript">
function submitFrm( frmName ) {

	eval('document.'+frmName+'.submit();');

}
</script>
<form name="frmForceWatch" method="post" action="?m=forums&a=configure">
<input type="hidden" name="forcesubmit" value="true" />
<input type="checkbox" name="forcewatch" value="dod" <?php 
开发者ID:juliogallardo1326,项目名称:proc,代码行数:31,代码来源:configure.php

示例7: die

<?php

/* $Id: index.php 1835 2011-04-30 21:39:23Z caseydk $ $URL: https://web2project.svn.sourceforge.net/svnroot/web2project/tags/version2.4/modules/system/index.php $ */
if (!defined('W2P_BASE_DIR')) {
    die('You should not access this file directly.');
}
$perms =& $AppUI->acl();
if (!canView('system')) {
    // let's see if the user has sys access
    $AppUI->redirect('m=public&a=access_denied');
}
$AppUI->savePlace();
$titleBlock = new CTitleBlock('System Administration', '48_my_computer.png', $m, $m . '.' . $a);
$titleBlock->show();
?>
<table class="std" width="100%" border="0" cellpadding="0" cellspacing="5">
  <tr>
    <td width="42">
      <?php 
echo w2PshowImage('control-center.png', 42, 42, '');
?>
    </td>
    <td align="left" class="subtitle">
      <?php 
echo $AppUI->_('System Status');
?>
    </td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td align="left">
开发者ID:viniciusbudines,项目名称:sisnuss,代码行数:31,代码来源:index.php

示例8: w2p_Utilities_Date

// get current week
$this_week = Date_calc::beginOfWeek($dd, $mm, $yy, FMT_TIMESTAMP_DATE, LOCALE_FIRST_DAY);
// prepare time period for 'events'
$first_time = clone $this_day;
$first_time->setTime(0, 0, 0);
$last_time = clone $this_day;
$last_time->setTime(23, 59, 59);
$prev_day = new w2p_Utilities_Date(Date_calc::prevDay($dd, $mm, $yy, FMT_TIMESTAMP_DATE));
$next_day = new w2p_Utilities_Date(Date_calc::nextDay($dd, $mm, $yy, FMT_TIMESTAMP_DATE));
// get the list of visible companies
$company = new CCompany();
global $companies;
$companies = $company->getAllowedRecords($AppUI->user_id, 'company_id,company_name', 'company_name');
$companies = arrayMerge(array('0' => $AppUI->_('All')), $companies);
// setup the title block
$titleBlock = new CTitleBlock('Day View', 'myevo-appointments.png', $m, $m . '.' . $a);
$titleBlock->addCrumb('?m=calendar&a=year_view&date=' . $this_day->format(FMT_TIMESTAMP_DATE), 'year view');
$titleBlock->addCrumb('?m=calendar&date=' . $this_day->format(FMT_TIMESTAMP_DATE), 'month view');
$titleBlock->addCrumb('?m=calendar&a=week_view&date=' . $this_week, 'week view');
$titleBlock->addCrumb('?m=calendar&a=day_view&date=' . $this_day->format(FMT_TIMESTAMP_DATE), 'day view');
$titleBlock->addCell($AppUI->_('Company') . ':');
$titleBlock->addCell(arraySelect($companies, 'company_id', 'onChange="document.pickCompany.submit()" class="text"', $company_id), '', '<form action="' . $_SERVER['REQUEST_URI'] . '" method="post" name="pickCompany" accept-charset="utf-8">', '</form>');
$titleBlock->addCell('<input type="submit" class="button" value="' . $AppUI->_('new event') . '">', '', '<form action="?m=calendar&a=addedit&date=' . $this_day->format(FMT_TIMESTAMP_DATE) . '" method="post" accept-charset="utf-8">', '</form>');
$titleBlock->show();
?>
<script language="javascript">
function clickDay( idate, fdate ) {
        window.location = './index.php?m=calendar&a=day_view&date='+idate+'&tab=0';
}
</script>
开发者ID:eureka2,项目名称:web2project,代码行数:30,代码来源:day_view.php

示例9: CTitleBlock

    $q->clear();
    $AppUI->redirect('m=forums&a=configure');
}
// SQL-Query to check if the message should be delivered to all users (forced) (checkbox)
$q->addTable('forum_watch');
$q->addQuery('*');
$q->addWhere('watch_user = 0');
$q->addWhere('watch_forum = 0');
$q->addWhere('watch_topic = 0');
$resAll = $q->exec();
if (db_num_rows($resAll) >= 1) {
    $watchAll = true;
}
$q->clear();
// setup the title block
$titleBlock = new CTitleBlock('Configure Forums Module');
$titleBlock->addButton('system admin', '?m=system');
$titleBlock->addButton('modules list', '?m=system&a=viewmods');
$titleBlock->show();
?>

<script language="javascript">
function submitFrm( frmName ) {

	eval('document.'+frmName+'.submit();');

}
</script>
<form name="frmForceWatch" method="post" action="?m=forums&a=configure">
<input type="hidden" name="forcesubmit" value="true" />
<input type="checkbox" name="forcewatch" value="dod" <?php 
开发者ID:n2i,项目名称:xvnkb,代码行数:31,代码来源:configure.php

示例10: dPgetSysVal

$q->addWhere('companies.company_id = ' . $company_id);
$sql = $q->prepare();
$q->clear();
$obj = null;
if (!db_loadObject($sql, $obj)) {
    $AppUI->setMsg('Company');
    $AppUI->setMsg("invalidID", UI_MSG_ERROR, true);
    $AppUI->redirect();
} else {
    $AppUI->savePlace();
}
// load the list of project statii and company types
$pstatus = dPgetSysVal('ProjectStatus');
$types = dPgetSysVal('CompanyType');
// setup the title block
$titleBlock = new CTitleBlock('View Company', 'handshake.png', $m, "{$m}.{$a}");
if ($canEdit) {
    $titleBlock->addCell();
    $titleBlock->addCell('<input type="submit" class="button" value="' . $AppUI->_('new company') . '" />', '', '<form action="?m=companies&a=addedit" method="post">', '</form>');
    $titleBlock->addCell('<input type="submit" class="button" value="' . $AppUI->_('new project') . '" />', '', '<form action="?m=projects&a=addedit&company_id=' . $company_id . '" method="post">', '</form>');
}
$titleBlock->addCrumb("?m=companies", "company list");
if ($canEdit) {
    $titleBlock->addCrumb("?m=companies&a=addedit&company_id={$company_id}", "edit this company");
    $titleBlock->addCrumbDelete('delete company', $canDelete, $msg);
}
$titleBlock->show();
?>


<table border="0" cellpadding="4" cellspacing="0" width="100%" class="std">
开发者ID:Esleelkartea,项目名称:gestion-de-primeras-muestras,代码行数:31,代码来源:view.php

示例11: CTitleBlock

        break;
    case 4:
        $q->addWhere("project_status <> 7 AND project_company = {$AppUI->user_company}");
        break;
    case 5:
        $q->addWhere("project_status = 7");
        break;
    default:
        $q->addWhere("project_status <> 7");
        break;
}
$q->addGroup('forum_id');
$q->addOrder("{$orderby} {$orderdir}");
$forums = $q->loadList();
// setup the title block
$titleBlock = new CTitleBlock('Forums', 'support.png', $m, "{$m}.{$a}");
$titleBlock->addCell(arraySelect($filters, 'f', 'size="1" class="text" onChange="document.forum_filter.submit();"', $f, true), '', '<form name="forum_filter" action="?m=forums" method="post">', '</form>');
if ($canAuthor) {
    $titleBlock->addCell('<input type="submit" class="button" value="' . $AppUI->_('new forum') . '">', '', '<form action="index.php" method="get"><input type="hidden" name="m" value="forums" /><input type="hidden" name="a" value="addedit" />', '</form>');
}
$titleBlock->show();
?>

<table width="100%" cellspacing="1" cellpadding="2" border="0" class="tbl">
<form name="watcher" action="./index.php?m=forums&f=<?php 
echo $f;
?>
" method="post">
<tr>
	<th nowrap="nowrap">&nbsp;</th>
	<th nowrap="nowrap" width="25"><a href="?m=forums&orderby=watch_user" class="hdr"><?php 
开发者ID:klr2003,项目名称:sourceread,代码行数:31,代码来源:index.php

示例12: die

<?php

/* TASKS $Id: tasksperuser.php,v 1.5.6.2 2007/03/06 00:34:45 merlinyoda Exp $ */
if (!defined('DP_BASE_DIR')) {
    die('You should not access this file directly.');
}
$AppUI->savePlace();
if (isset($_POST['company_id'])) {
    $AppUI->setState('CompanyIdxFilter', $_POST['company_id']);
}
$company_id = $AppUI->getState('CompanyIdxFilter') ? $AppUI->getState('CompanyIdxFilter') : 'all';
$log_all_projects = true;
// show tasks for all projects
$df = $AppUI->getPref('SHDATEFORMAT');
// get the prefered date format
// get CCompany() to filter tasks by company
require_once $AppUI->getModuleClass('companies');
$comp = new CCompany();
$companies = $comp->getAllowedRecords($AppUI->user_id, 'company_id,company_name', 'company_name');
$compFilter = arrayMerge(array('all' => $AppUI->_('All Companies')), $companies);
// setup the title block
$titleBlock = new CTitleBlock('Tasks per User', 'applet-48.png', $m, "{$m}.{$a}");
$titleBlock->addCell($AppUI->_('Company') . ':');
$titleBlock->addCell(arraySelect($compFilter, 'company_id', 'size="1" class="text" onChange="document.companyFilter.submit();"', $company_id, false), '', '<form action="?m=tasks&a=tasksperuser" method="post" name="companyFilter">', '</form>');
$titleBlock->addCrumb("?m=tasks", "tasks list");
$titleBlock->addCrumb("?m=tasks&a=todo&user_id={$user_id}", "my todo");
$titleBlock->show();
// include the re-usable sub view
$min_view = false;
include DP_BASE_DIR . '/modules/tasks/tasksperuser_sub.php';
开发者ID:magsilva,项目名称:dotproject,代码行数:30,代码来源:tasksperuser.php

示例13: db_loadResult

    $q->clear();
    $companies[$row->project_company] = db_loadResult($sql);
}
// get critical tasks (criteria: task_end_date)
$criticalTasks = $project_id > 0 ? $row->getCriticalTasks() : NULL;
// get ProjectPriority from sysvals
$projectPriority = dPgetSysVal('ProjectPriority');
// format dates
$df = $AppUI->getPref('SHDATEFORMAT');
$start_date = new CDate($row->project_start_date);
$end_date = intval($row->project_end_date) ? new CDate($row->project_end_date) : null;
$actual_end_date = intval($criticalTasks[0]['task_end_date']) ? new CDate($criticalTasks[0]['task_end_date']) : null;
$style = $actual_end_date > $end_date && !empty($end_date) ? 'style="color:red; font-weight:bold"' : '';
// setup the title block
$ttl = $project_id > 0 ? "Edit Project" : "New Project";
$titleBlock = new CTitleBlock($ttl, 'applet3-48.png', $m, "{$m}.{$a}");
$titleBlock->addCrumb("?m=projects", "projects list");
if ($project_id != 0) {
    $titleBlock->addCrumb("?m=projects&a=view&project_id={$project_id}", "view this project");
    //GT
    $titleBlock->addCrumb("?m=projects&a=edit_tasks&project_id={$project_id}", "organize tasks");
}
$titleBlock->show();
//Build display list for departments
$company_id = $row->project_company;
$selected_departments = array();
if ($project_id) {
    $q =& new DBQuery();
    $q->addTable('project_departments');
    $q->addQuery('department_id');
    $q->addWhere('project_id = ' . $project_id);
开发者ID:kilivan,项目名称:dotproject,代码行数:31,代码来源:addedit.php

示例14: db_loadResult

     $q->clear();
     $total_project_hours = db_loadResult($total_project_days_sql) * $dPconfig['daily_working_hours'] + db_loadResult($total_project_hours_sql);
     //due to the round above, we don't want to print decimals unless they really exist
     //$total_project_hours = rtrim($total_project_hours, "0");
 } else {
     //no tasks in project so "fake" project data
     $worked_hours = $total_hours = $total_project_hours = 0.0;
 }
 // create Date objects from the datetime fields
 $start_date = intval($obj->project_start_date) ? new CDate($obj->project_start_date) : null;
 $end_date = intval($obj->project_end_date) ? new CDate($obj->project_end_date) : null;
 $actual_end_date = intval($criticalTasks[0]['task_end_date']) ? new CDate($criticalTasks[0]['task_end_date']) : null;
 $style = $actual_end_date > $end_date && !empty($end_date) ? 'style="color:red; font-weight:bold"' : '';
 // setup the title block
 $ttl = "ProjectDesigner";
 $titleBlock = new CTitleBlock($ttl, 'projectdesigner.png', $m, "{$m}.{$a}");
 $titleBlock->addCrumb("?m=projects", "projects list");
 $titleBlock->addCrumb("?m={$m}", "select another project");
 $titleBlock->addCrumb("?m=projects&a=view&project_id={$project_id}", "normal view project");
 if ($canAddProject) {
     $titleBlock->addCell();
     $titleBlock->addCell('<input type="submit" class="button" value="' . $AppUI->_('new project') . '">', '', '<form action="?m=projects&a=addedit" method="post">', '</form>');
 }
 if ($canAddTask) {
     $titleBlock->addCell();
     $titleBlock->addCell('<input type="submit" class="button" value="' . $AppUI->_('new task') . '">', '', '<form action="?m=tasks&a=addedit&task_project=' . $project_id . '" method="post">', '</form>');
 }
 if ($canEditProject) {
     $titleBlock->addCell();
     $titleBlock->addCell('<input type="submit" class="button" value="' . $AppUI->_('new event') . '">', '', '<form action="?m=calendar&a=addedit&event_project=' . $project_id . '" method="post">', '</form>');
     $titleBlock->addCell();
开发者ID:slawekmikula,项目名称:dotproject,代码行数:31,代码来源:index.php

示例15: CTitleBlock

// load the record data in case of that this script is used to edit the log qith task_log_id (transmitted via GET)
if (!$obj->load($task_log_id, false) && $task_log_id > 0) {
    // show some error messages using the dPFramework if loadOperation failed
    // these error messages are nicely integrated with the frontend of dP
    // use detailed error messages as often as possible
    $AppUI->setMsg('Timesheet');
    $AppUI->setMsg("invalidID", UI_MSG_ERROR, true);
    $AppUI->redirect();
    // go back to the calling location
}
// check if this record has dependancies to prevent deletion
$msg = '';
// setup the title block
// Fill the title block either with 'Edit' or with 'New' depending on if task_log_id has been transmitted via GET or is empty
$ttl = $task_log_id > 0 ? "Edit Log" : "New Log";
$titleBlock = new CTitleBlock($ttl, 'timesheet.png', $m, "{$m}.{$a}");
// also have a breadcrumb here
// breadcrumbs facilitate the navigation within dP as they did for haensel and gretel in the identically named fairytale
$titleBlock->addCrumb("?m=timesheet", "timesheet home");
$titleBlock->show();
?>
<script language="JavaScript">
var calendarField = '';

function popCalendar( field ){
	calendarField = field;
      idate = eval( 'document.editFrm.task_' + field + '.value' );
  //      idate = eval( 'document.editFrm.' + field + '2.value' );
	window.open( 'index.php?m=public&a=calendar&dialog=1&callback=setCalendar&date=' + idate, 'calwin', 'width=250, height=220, scrollbars=no' );
}
开发者ID:seatecnologia,项目名称:dotproject_timesheet,代码行数:30,代码来源:addedit.php


注:本文中的CTitleBlock类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。