本文整理汇总了PHP中Gdn类的典型用法代码示例。如果您正苦于以下问题:PHP Gdn类的具体用法?PHP Gdn怎么用?PHP Gdn使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Gdn类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。
示例1: ToString
public function ToString()
{
$HasPermission = Gdn::Session()->CheckPermission('Vanilla.Discussions.Add', TRUE, 'Category', 'any');
if ($HasPermission) {
echo Anchor(T('Ask a Question'), '/post/discussion?Type=Question', 'Button BigButton NewQuestion');
}
}
开发者ID:mcnasby,项目名称:datto-vanilla,代码行数:7,代码来源:class.newquestionmodule.php
示例2: Edit
public function Edit($MessageID = '')
{
$this->AddJsFile('js/library/jquery.autogrow.js');
$this->AddJsFile('messages.js');
$this->Permission('Garden.Messages.Manage');
$this->AddSideMenu('garden/message');
// Generate some Controller & Asset data arrays
$this->LocationData = $this->_GetLocationData();
$this->AssetData = $this->_GetAssetData();
// Set the model on the form.
$this->Form->SetModel($this->MessageModel);
$this->Message = $this->MessageModel->GetID($MessageID);
// Make sure the form knows which item we are editing.
if (is_numeric($MessageID) && $MessageID > 0) {
$this->Form->AddHidden('MessageID', $MessageID);
}
// If seeing the form for the first time...
if ($this->Form->AuthenticatedPostBack() === FALSE) {
$this->Form->SetData($this->Message);
} else {
if ($MessageID = $this->Form->Save()) {
// Reset the message cache
$this->MessageModel->SetMessageCache();
// Redirect
$this->StatusMessage = Gdn::Translate('Your changes have been saved.');
$this->RedirectUrl = Url('garden/message');
}
}
$this->Render();
}
开发者ID:jeastwood,项目名称:Garden,代码行数:30,代码来源:message.php
示例3: gdn_pluginManager_afterStart_handler
/**
* Register the debug database that captures the queries.
*
* This event happens as early as possible so that all queries can be captured.
*
* @param Gdn_PluginManager $sender The {@link Gdn_PluginManager} firing the event.
*/
public function gdn_pluginManager_afterStart_handler($sender)
{
$tmp = Gdn::factoryOverwrite(true);
Gdn::factoryInstall(Gdn::AliasDatabase, 'Gdn_DatabaseDebug', dirname(__FILE__) . DS . 'class.databasedebug.php', Gdn::FactorySingleton, array('Database'));
Gdn::factoryOverwrite($tmp);
unset($tmp);
}
开发者ID:oMadMartigaNo,项目名称:readjust-forum,代码行数:14,代码来源:default.php
示例4: isRemovable
/**
* Is the application/plugin/theme removable?
*
* @param string $Type self::TYPE_APPLICATION or self::TYPE_PLUGIN or self::TYPE_THEME
* @param string $Name
* @return boolean
*/
public static function isRemovable($Type, $Name)
{
switch ($Type) {
case self::TYPE_APPLICATION:
$ApplicationManager = Gdn::Factory('ApplicationManager');
if ($IsRemovable = !array_key_exists($Name, $ApplicationManager->EnabledApplications())) {
$ApplicationInfo = arrayValue($Name, $ApplicationManager->AvailableApplications(), array());
$ApplicationFolder = arrayValue('Folder', $ApplicationInfo, '');
$IsRemovable = IsWritable(PATH_APPLICATIONS . DS . $ApplicationFolder);
}
break;
case self::TYPE_PLUGIN:
if ($IsRemovable = !array_key_exists($Name, Gdn::pluginManager()->EnabledPlugins())) {
$PluginInfo = arrayValue($Name, Gdn::pluginManager()->AvailablePlugins(), false);
$PluginFolder = arrayValue('Folder', $PluginInfo, false);
$IsRemovable = IsWritable(PATH_PLUGINS . DS . $PluginFolder);
}
break;
case self::TYPE_THEME:
// TODO
$IsRemovable = false;
break;
}
return $IsRemovable;
}
开发者ID:karanjitsingh,项目名称:iecse-forum,代码行数:32,代码来源:class.settingsmodule.php
示例5: Comment
public function Comment()
{
$Session = Gdn::Session();
$this->Form->SetModel($this->ActivityModel);
$NewActivityID = 0;
if ($this->Form->AuthenticatedPostBack()) {
$Body = $this->Form->GetValue('Body', '');
$ActivityID = $this->Form->GetValue('ActivityID', '');
if ($Body != '' && is_numeric($ActivityID) && $ActivityID > 0) {
$NewActivityID = $this->ActivityModel->Add($Session->UserID, 'ActivityComment', $Body, '', $ActivityID, '', TRUE);
}
}
// Redirect back to the sending location if this isn't an ajax request
if ($this->_DeliveryType === DELIVERY_TYPE_ALL) {
Redirect($this->Form->GetValue('Return', Gdn_Url::WebRoot()));
} else {
// Load the newly added comment
$this->Comment = $this->ActivityModel->GetID($NewActivityID);
$this->Comment->ActivityType .= ' Hidden';
// Hide it so jquery can reveal it
// Set it in the appropriate view
$this->View = 'comment';
// And render
$this->Render();
}
}
开发者ID:nbudin,项目名称:Garden,代码行数:26,代码来源:activity.php
示例6: ToString
public function ToString()
{
if (Gdn::Config('Vanilla.Categories.Use') == TRUE) {
return parent::ToString();
}
return '';
}
开发者ID:Beyzie,项目名称:Garden,代码行数:7,代码来源:class.categoriesmodule.php
示例7: smarty_function_searchbox
/**
* Writes the search box to the page.
*
* @param array The parameters passed into the function. This currently takes no parameters.
* @param $smarty The smarty object rendering the template.
* @return The url.
*/
function smarty_function_searchbox($params, &$smarty)
{
$placeholder = array_key_exists('placeholder', $params) ? val('placeholder', $params, '', true) : t('SearchBoxPlaceHolder', 'Search');
$form = Gdn::factory('Form');
$result = $form->open(array('action' => url('/search'), 'method' => 'get')) . $form->textBox('Search', array('placeholder' => $placeholder, 'accesskey' => '/')) . $form->button('Go', array('Name' => '')) . $form->close();
return $result;
}
开发者ID:korelstar,项目名称:vanilla,代码行数:14,代码来源:function.searchbox.php
示例8: pluginController_quoteMention_create
public function pluginController_quoteMention_create($sender, $discussionID, $commentID, $username)
{
$sender->deliveryMethod(DELIVERY_METHOD_JSON);
$user = Gdn::userModel()->getByUsername($username);
$discussionModel = new DiscussionModel();
$discussion = $discussionModel->getID($discussionID);
if (!$user || !$discussion) {
throw notFoundException();
}
// Make sure this endpoint can't be used to snoop around.
$sender->permission('Vanilla.Discussions.View', true, 'Category', $discussion->PermissionCategoryID);
// Find the previous comment of the mentioned user in this discussion.
$item = Gdn::sql()->getWhere('Comment', ['DiscussionID' => $discussion->DiscussionID, 'InsertUserID' => $user->UserID, 'CommentID <' => $commentID], 'CommentID', 'desc', 1)->firstRow();
// The items ID in the DOM used for highlighting.
if ($item) {
$target = '#Comment_' . $item->CommentID;
// The mentioned user might be the discussion creator.
} elseif ($discussion->InsertUserID == $user->UserID) {
$item = $discussion;
$target = '#Discussion_' . $item->DiscussionID;
}
if (!$item) {
// A success response code always means that a comment was found.
$sender->statusCode(404);
}
$sender->renderData($item ? ['html' => nl2br(sliceString(Gdn_Format::plainText($item->Body, $item->Format), c('QuoteMention.MaxLength', 400))), 'target' => $target] : []);
}
开发者ID:bleistivt,项目名称:quotemention,代码行数:27,代码来源:class.quotemention.plugin.php
示例9: SetModuleSort
/**
* Function for quick modify sorting for modules in configuration file.
* See library/core/class.controller.php ~ L: 118
* If $PositionItem is False (default) $ModuleName will be added to the edn of the list.
* If $PositionItem is integer (positive or negative) ...
* If $PositionItem is string ...
*
* @param string $ModuleSortContainer, container name.
* @param string $AssetName, asset name.
* @param string $ModuleName, module name which need to add to config.
* @param mixed $PositionItem.
* @return bool. Return FALSE on failure.
*/
function SetModuleSort($ModuleSortContainer, $AssetName, $ModuleName, $PositionItem = False)
{
$ModuleSort = Gdn::Config('Modules');
$AssetSort = GetValueR("{$ModuleSortContainer}.{$AssetName}", $ModuleSort, array());
if (!is_array($AssetSort)) {
$AssetSort = array();
}
if ($PositionItem !== False) {
if (!is_numeric($PositionItem)) {
$Position = substr($PositionItem, 0, 1);
if (in_array($Position, array('-', '+'))) {
$PositionItem = substr($PositionItem, 1);
}
$PositionItem = array_search($PositionItem, $AssetSort);
if ($Position == '+') {
$PositionItem = (int) $PositionItem + 1;
}
}
$PositionItem = (int) $PositionItem;
array_splice($AssetSort, $PositionItem, 0, array($ModuleName));
} else {
array_push($AssetSort, $ModuleName);
}
$AssetSort = array_unique($AssetSort);
// Make sure that we put in config strings only.
$VarExport = create_function('$Value', 'return var_export(strval($Value), True);');
$ModuleList = implode(', ', array_map($VarExport, $AssetSort));
$PhpArrayCode = "\n\$Configuration['Modules']['{$ModuleSortContainer}']['{$AssetName}'] = array({$ModuleList});";
$ConfigFile = PATH_CONF . '/config.php';
$Result = file_put_contents($ConfigFile, $PhpArrayCode, FILE_APPEND | LOCK_EX);
return $Result !== False;
}
开发者ID:ru4,项目名称:arabbnota,代码行数:45,代码来源:functions.misc.php
示例10: smarty_function_custom_menu
/**
* A placeholder for future menu items.
*
* @param array $Params The parameters passed into the function.
* @param Smarty $Smarty The smarty object rendering the template.
* @return string
*/
function smarty_function_custom_menu($Params, &$Smarty)
{
$Controller = $Smarty->Controller;
if (is_object($Menu = val('Menu', $Controller))) {
$Format = val('format', $Params, wrap('<a href="%url" class="%class">%text</a>', val('wrap', $Params, 'li')));
$Result = '';
foreach ($Menu->Items as $Group) {
foreach ($Group as $Item) {
// Make sure the item is a custom item.
if (valr('Attributes.Standard', $Item)) {
continue;
}
// Make sure the user has permission for the item.
if ($Permission = val('Permission', $Item)) {
if (!Gdn::session()->checkPermission($Permission)) {
continue;
}
}
if (($Url = val('Url', $Item)) && ($Text = val('Text', $Item))) {
$Attributes = val('Attributes', $Item);
$Result .= Gdn_Theme::link($Url, $Text, $Format, $Attributes) . "\r\n";
}
}
}
return $Result;
}
return '';
}
开发者ID:caidongyun,项目名称:vanilla,代码行数:35,代码来源:function.custom_menu.php
示例11: afterImport
/**
* Custom finalization.
*
* @throws Exception
*/
public function afterImport()
{
// Set up the routes to redirect from their older counterparts.
$Router = Gdn::router();
// Categories
$Router->SetRoute('forumdisplay\\.php\\?f=(\\d+)', 'categories/$1', 'Permanent');
$Router->SetRoute('archive\\.php/f-(\\d+)\\.html', 'categories/$1', 'Permanent');
// Discussions & Comments
$Router->SetRoute('showthread\\.php\\?t=(\\d+)', 'discussion/$1', 'Permanent');
//$Router->SetRoute('showthread\.php\?p=(\d+)', 'discussion/comment/$1#Comment_$1', 'Permanent');
//$Router->SetRoute('showpost\.php\?p=(\d+)', 'discussion/comment/$1#Comment_$1', 'Permanent');
$Router->SetRoute('archive\\.php/t-(\\d+)\\.html', 'discussion/$1', 'Permanent');
// Profiles
$Router->SetRoute('member\\.php\\?u=(\\d+)', 'profile/$1/x', 'Permanent');
$Router->SetRoute('usercp\\.php', 'profile', 'Permanent');
$Router->SetRoute('profile\\.php', 'profile', 'Permanent');
// Other
$Router->SetRoute('attachment\\.php\\?attachmentid=(\\d+)', 'discussion/download/$1', 'Permanent');
$Router->SetRoute('search\\.php', 'discussions', 'Permanent');
$Router->SetRoute('private\\.php', 'messages/all', 'Permanent');
$Router->SetRoute('subscription\\.php', 'discussions/bookmarked', 'Permanent');
// Make different sizes of avatars
$this->ProcessAvatars();
// Prep config for ProfileExtender plugin based on imported fields
$this->ProfileExtenderPrep();
// Set guests to System user to prevent security issues
$SystemUserID = Gdn::userModel()->GetSystemUserID();
$this->SQL->update('Discussion')->set('InsertUserID', $SystemUserID)->where('InsertUserID', 0)->put();
$this->SQL->update('Comment')->set('InsertUserID', $SystemUserID)->where('InsertUserID', 0)->put();
}
开发者ID:caidongyun,项目名称:vanilla,代码行数:35,代码来源:class.vbulletinimportmodel.php
示例12: index
/**
* List all update checks.
*
* @param bool|false $Offset
* @param string $SortField
*/
public function index($Offset = false, $SortField = '')
{
$this->permission('Garden.Settings.Manage');
$this->addSideMenu('updates');
$this->addJsFile('jquery.gardenmorepager.js');
$this->title('Remote Updates');
$this->Form->Method = 'get';
$Limit = 30;
$SortField = $SortField == 'CountComments' ? 'c.CountComments' : 'c.DateInserted';
// Input Validation
$Offset = is_numeric($Offset) ? $Offset : 0;
// What the actual model in my controller, guy?
$this->UpdateData = Gdn::sql()->query("\n select s.Location, s.RemoteIp, c.DateInserted, c.CountUsers, c.CountDiscussions, c.CountComments\n from GDN_UpdateCheckSource s\n join (select SourceID, max(UpdateCheckID) as UpdateCheckID from GDN_UpdateCheck group by SourceID) mc\n on s.SourceID = mc.SourceID\n join GDN_UpdateCheck c\n on mc.UpdateCheckID = c.UpdateCheckID\n order by {$SortField} desc\n limit {$Offset}, {$Limit}");
$TotalRecords = Gdn::sql()->select('SourceID', 'count', 'CountSources')->from('UpdateCheckSource')->get()->firstRow()->CountSources;
// Build a pager
$PagerFactory = new Gdn_PagerFactory();
$this->Pager = $PagerFactory->getPager('MorePager', $this);
$this->Pager->MoreCode = 'More';
$this->Pager->LessCode = 'Previous';
$this->Pager->ClientID = 'Pager';
$this->Pager->Wrapper = '<tr %1$s><td colspan="6">%2$s</td></tr>';
$this->Pager->configure($Offset, $Limit, $TotalRecords, 'updates/index/%1$s/' . urlencode($SortField));
// Deliver json data if necessary
if ($this->_DeliveryType != DELIVERY_TYPE_ALL) {
$this->setJson('LessRow', $this->Pager->toString('less'));
$this->setJson('MoreRow', $this->Pager->toString('more'));
}
$this->render();
}
开发者ID:vanilla,项目名称:community,代码行数:35,代码来源:class.updatescontroller.php
示例13: ToString
public function ToString()
{
$String = '';
ob_start();
?>
<div class="Box">
<h4><?php
echo Gdn::Translate('In this Discussion');
?>
</h4>
<ul class="PanelInfo">
<?php
foreach ($this->_UserData->Result() as $User) {
?>
<li>
<strong><?php
echo Anchor($User->Name, '/profile/' . urlencode($User->Name), 'UserLink');
?>
</strong>
<?php
echo Format::Date($User->DateLastActive);
?>
</li>
<?php
}
?>
</ul>
</div>
<?php
$String = ob_get_contents();
@ob_end_clean();
return $String;
}
开发者ID:jhampha,项目名称:Garden,代码行数:33,代码来源:class.inthisdiscussionmodule.php
示例14: Base_Render_Before
public function Base_Render_Before(&$Sender)
{
// Add menu items.
$Session = Gdn::Session();
if ($Sender->Menu) {
$Sender->Menu->AddLink('Dashboard', 'Dashboard', '/garden/settings', array('Garden.Settings.Manage'));
$Sender->Menu->AddLink('Dashboard', 'Users', '/user/browse', array('Garden.Users.Add', 'Garden.Users.Edit', 'Garden.Users.Delete'));
$Sender->Menu->AddLink('Activity', 'Activity', '/activity');
$Authenticator = Gdn::Authenticator();
if ($Session->IsValid()) {
$Sender->Menu->AddLink('SignOut', 'Sign Out', '/entry/leave/{Session_TransientKey}', FALSE, array('class' => 'NonTab'));
$Notifications = Gdn::Translate('Notifications');
$CountNotifications = $Session->User->CountNotifications;
if (is_numeric($CountNotifications) && $CountNotifications > 0) {
$Notifications .= '<span>' . $CountNotifications . '</span>';
}
$Sender->Menu->AddLink('User', '{Username}', '/profile/{Username}', array('Garden.SignIn.Allow'));
$Sender->Menu->AddLink('User', '\\' . $Notifications, 'profile/notifications/{Username}');
} else {
$Sender->Menu->AddLink('Entry', 'Sign In', $Authenticator->SignInUrl());
}
}
// Enable theme previewing
if ($Session->IsValid()) {
$PreviewTheme = $Session->GetPreference('PreviewTheme', '');
if ($PreviewTheme != '') {
$Sender->Theme = $PreviewTheme;
}
}
}
开发者ID:kidmax,项目名称:Garden,代码行数:30,代码来源:hooks.php
示例15: PluginController_SingleSignOn_Create
public function PluginController_SingleSignOn_Create($Sender, $EventArguments)
{
$Sender->Head->Title('Single Sign-on');
$Sender->AddSideMenu('garden/plugin/singlesignon');
$Validation = new Gdn_Validation();
$ConfigurationModel = new Gdn_ConfigurationModel($Validation);
$ConfigurationModel->SetField(array('Garden.Authenticator.Type', 'Garden.Authenticator.Encoding', 'Garden.Authenticator.AuthenticateUrl', 'Garden.Authenticator.SignInUrl', 'Garden.Authenticator.SignOutUrl', 'Garden.Authenticator.RegisterUrl', 'Garden.Cookie.Path'));
// Set the model on the form.
$Sender->Form = new Gdn_Form();
$Sender->Form->SetModel($ConfigurationModel);
// If seeing the form for the first time...
if ($Sender->Form->AuthenticatedPostBack() === FALSE) {
// Apply the config settings to the form.
$Sender->Form->SetData($ConfigurationModel->Data);
$Sender->Form->SetValue('EnableSSO', Gdn::Config('Garden.Authenticator.Type') == 'Handshake' ? 'TRUE' : '');
} else {
// Make sure to force some values
$Sender->Form->SetFormValue('Garden.Authenticator.Type', $Sender->Form->GetFormValue('EnableSSO', '') == 'TRUE' ? 'Handshake' : 'Password');
$Sender->Form->SetFormValue('Garden.Authenticator.Encoding', 'ini');
$Sender->Form->SetFormValue('Garden.Cookie.Path', '/');
// <-- Make sure that Vanilla's cookies don't have a path
if ($Sender->Form->Save() !== FALSE) {
$Sender->StatusMessage = Translate("Your changes have been saved successfully.");
}
}
$Sender->Render(PATH_PLUGINS . DS . 'SingleSignOn' . DS . 'views' . DS . 'index.php');
}
开发者ID:edelbalso,项目名称:Garden,代码行数:27,代码来源:default.php
示例16: smarty_function_signin_link
/**
*/
function smarty_function_signin_link($Params, &$Smarty)
{
if (!Gdn::Session()->IsValid()) {
$Wrap = GetValue('wrap', $Params, 'li');
return Gdn_Theme::Link('signinout', GetValue('text', $Params, ''), GetValue('format', $Params, Wrap('<a href="%url" rel="nofollow" class="%class">%text</a>', $Wrap)), $Params);
}
}
开发者ID:karanjitsingh,项目名称:iecse-forum,代码行数:9,代码来源:function.signin_link.php
示例17: DiscussionController_AfterDiscussionBody_Handler
/**
* Show buttons after OP message body.
*/
public function DiscussionController_AfterDiscussionBody_Handler($Sender)
{
$PublisherNumber = C('Plugin.ShareThis.PublisherNumber', 'Publisher Number');
$ViaHandle = C('Plugin.ShareThis.ViaHandle', '');
$CopyNShare = C('Plugin.ShareThis.CopyNShare', false);
$doNotHash = $CopyNShare ? 'false' : 'true';
$doNotCopy = $CopyNShare ? 'false' : 'true';
$Domain = Gdn::Request()->Scheme() == 'https' ? 'https://ws.sharethis.com' : 'http://w.sharethis.com';
echo <<<SHARETHIS
<script type="text/javascript">var switchTo5x=true;</script>
<script type="text/javascript" src="{$Domain}/button/buttons.js"></script>
<script type="text/javascript">stLight.options({
publisher: "{$PublisherNumber}",
doNotHash: {$doNotHash},
doNotCopy: {$doNotCopy},
hashAddressBar: false
});</script>
<div class="ShareThisButtonWrapper Right">
<span class="st_twitter_hcount ShareThisButton" st_via="{$ViaHandle}" displayText="Tweet"></span>
<span class="st_facebook_hcount ShareThisButton" displayText="Facebook"></span>
<span class="st_linkedin_hcount ShareThisButton Hidden" displayText="LinkedIn"></span>
<span class="st_googleplus_hcount ShareThisButton Hidden" displayText="Google +"></span>
<span class="st_reddit_hcount ShareThisButton Hidden" displayText="Reddit"></span>
<span class="st_pinterest_hcount ShareThisButton Hidden" displayText="Pinterest"></span>
<span class="st_email_hcount ShareThisButton" displayText="Email"></span>
<span class="st_sharethis_hcountShareThisButton" displayText="ShareThis"></span>
</div>
SHARETHIS;
}
开发者ID:nilsen,项目名称:addons,代码行数:32,代码来源:class.sharethis.plugin.php
示例18: ToString
public function ToString()
{
if (!Gdn::Session()->IsValid()) {
return parent::ToString();
}
return '';
}
开发者ID:edward-tsai,项目名称:vanilla4china,代码行数:7,代码来源:class.guestmodule.php
示例19: smarty_function_searchbox
/**
* Writes the search box to the page.
*
* @param array The parameters passed into the function. This currently takes no parameters.
* @param Smarty The smarty object rendering the template.
* @return The url.
*/
function smarty_function_searchbox($Params, &$Smarty)
{
$Form = Gdn::Factory('Form');
$Form->InputPrefix = '';
$Result = $Form->Open(array('action' => Url('/search'), 'method' => 'get')) . $Form->TextBox('Search', array('placeholder' => T('Search'))) . $Form->Button('Go', array('Name' => '')) . $Form->Close();
return $Result;
}
开发者ID:seedbank,项目名称:old-repo,代码行数:14,代码来源:function.searchbox.php
示例20: delete
/**
* Delete a single draft.
*
* Redirects user back to Index unless DeliveryType is set.
*
* @since 2.0.0
* @access public
*
* @param int $DraftID Unique ID of draft to be deleted.
* @param string $TransientKey Single-use hash to prove intent.
*/
public function delete($DraftID = '', $TransientKey = '')
{
$Form = Gdn::factory('Form');
$Session = Gdn::session();
if (is_numeric($DraftID) && $DraftID > 0) {
$Draft = $this->DraftModel->getID($DraftID);
}
if ($Draft) {
if ($Session->validateTransientKey($TransientKey) && (val('InsertUserID', $Draft) == $Session->UserID || checkPermission('Garden.Community.Manage'))) {
// Delete the draft
if (!$this->DraftModel->deleteID($DraftID)) {
$Form->addError('Failed to delete draft');
}
} else {
throw permissionException('Garden.Community.Manage');
}
} else {
throw notFoundException('Draft');
}
// Redirect
if ($this->_DeliveryType === DELIVERY_TYPE_ALL) {
$Target = GetIncomingValue('Target', '/drafts');
redirect($Target);
}
// Return any errors
if ($Form->errorCount() > 0) {
$this->setJson('ErrorMessage', $Form->errors());
}
// Render default view
$this->render();
}
开发者ID:vanilla,项目名称:vanilla,代码行数:42,代码来源:class.draftscontroller.php
注:本文中的Gdn类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论