本文整理汇总了PHP中Pommo类的典型用法代码示例。如果您正苦于以下问题:PHP Pommo类的具体用法?PHP Pommo怎么用?PHP Pommo使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Pommo类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。
示例1: init
function init($language, $baseDir)
{
if (!is_file($baseDir . 'language/' . $language . '/LC_MESSAGES/pommo.mo')) {
Pommo::kill('Unknown Language (' . $language . ')');
}
// if LC_MESSAGES is not available.. make it (helpful for win32)
if (!defined('LC_MESSAGES')) {
define('LC_MESSAGES', 6);
}
// load gettext emulation layer if PHP is not compiled w/ gettext support
if (!function_exists('gettext')) {
require_once $baseDir . 'lib/gettext/gettext.php';
require_once $baseDir . 'lib/gettext/gettext.inc';
}
// set the locale
if (!Pommo_Helper_L10n::_setLocale(LC_MESSAGES, $language, $baseDir)) {
// *** SYSTEM LOCALE COULD NOT BE USED, USE EMULTATION ****
require_once $baseDir . 'lib/gettext/gettext.php';
require_once $baseDir . 'lib/gettext/gettext.inc';
if (!Pommo_Helper_L10n::_setLocaleEmu(LC_MESSAGES, $language, $baseDir)) {
Pommo::kill('Error setting up language translation!');
}
} else {
// *** SYSTEM LOCALE WAS USED ***
if (!defined('_poMMo_gettext')) {
// set gettext environment
$domain = 'pommo';
bindtextdomain($domain, $baseDir . 'language');
textdomain($domain);
if (function_exists('bind_textdomain_codeset')) {
bind_textdomain_codeset($domain, 'UTF-8');
}
}
}
}
开发者ID:systemfirez,项目名称:poMMo,代码行数:35,代码来源:Pommo_Helper_L10n.php
示例2: memorizeBaseURL
function memorizeBaseURL()
{
if (!($handle = fopen(Pommo::$_workDir . '/maintenance.php', 'w'))) {
Pommo::kill('Unable to prepare maintenance.php for writing');
}
$fileContent = "<?php die(); ?>\n[baseURL] = \"Pommo::{$_baseUrl}\"\n";
if (!fwrite($handle, $fileContent)) {
Pommo::kill('Unable to perform maintenance');
}
fclose($handle);
}
开发者ID:systemfirez,项目名称:poMMo,代码行数:11,代码来源:Pommo_Helper_Maintenance.php
示例3: __construct
function __construct($toggleEscaping = true)
{
if ($toggleEscaping) {
Pommo::logErrors();
// PHP Errors are logged, turns display_errors off.
Pommo::toggleEscaping();
// Wraps _T and logger responses with htmlspecialchars()
}
$this->_output = array('success' => false, 'messages' => array(), 'errors' => array());
$this->_successMsg = $this->_failMsg = false;
}
开发者ID:systemfirez,项目名称:poMMo,代码行数:11,代码来源:Pommo_Json.php
示例4: __construct
function __construct($args = array())
{
$defaults = array('username' => null, 'requiredLevel' => 0);
$p = Pommo_Api::getParams($defaults, $args);
if (empty(Pommo::$_session['username'])) {
Pommo::$_session['username'] = $p['username'];
}
$this->_username =& Pommo::$_session['username'];
$this->_permissionLevel = $this->getPermissionLevel($this->_username);
if ($p['requiredLevel'] > $this->_permissionLevel) {
Pommo::kill(sprintf(Pommo::_T('Denied access. You must %slogin%s to' . ' access this page...'), '<a href="' . Pommo::$_baseUrl . 'index.php?referer=' . $_SERVER['PHP_SELF'] . '">', '</a>'));
}
}
开发者ID:soonick,项目名称:poMMo,代码行数:13,代码来源:Pommo_Auth.php
示例5: validate
function validate(&$in)
{
global $pommo;
$invalid = array();
if (empty($in['name'])) {
$invalid[] = 'name';
}
if (empty($in['body']) && empty($in['altbody'])) {
$invalid[] = Pommo::_T('Both HTML and Text cannot be empty');
}
if (!empty($invalid)) {
Pommo::$_logger->addErr(implode(',', $invalid), 3);
return false;
}
return true;
}
开发者ID:systemfirez,项目名称:poMMo,代码行数:16,代码来源:Pommo_Mailing_Template.php
示例6: PommoGroup
function PommoGroup($groupID = NULL, $status = 1, $filter = FALSE)
{
$this->_status = $status;
if (!is_numeric($groupID)) {
// exception if no group ID was passed -- group assumes "all subscribers".
$GLOBALS['pommo']->requireOnce($GLOBALS['pommo']->_baseDir . 'inc/helpers/subscribers.php');
$this->_group = array('rules' => array(), 'id' => 0);
$this->_id = 0;
$this->_name = Pommo::_T('All Subscribers');
$this->_memberIDs = is_array($filter) ? PommoGroup::getMemberIDs($this->_group, $status, $filter) : null;
$this->_tally = is_array($filter) ? count($this->_memberIDs) : PommoSubscriber::tally($status);
return;
}
$this->_group = current(PommoGroup::get(array('id' => $groupID)));
$this->_id = $groupID;
$this->_name =& $this->_group['name'];
$this->_memberIDs = PommoGroup::getMemberIDs($this->_group, $status, $filter);
$this->_tally = count($this->_memberIDs);
return;
}
开发者ID:BackupTheBerlios,项目名称:oos-svn,代码行数:20,代码来源:groups.php
示例7: __construct
function __construct($groupID = NULL, $status = 1, $filter = FALSE)
{
$this->_status = $status;
if (!is_numeric($groupID)) {
// exception if no group ID was passed -- group assumes "all subscribers".
require_once Pommo::$_baseDir . 'classes/Pommo_Subscribers.php';
$this->_group = array('rules' => array(), 'id' => 0);
$this->_id = 0;
$this->_name = Pommo::_T('All Subscribers');
$this->_memberIDs = is_array($filter) ? Pommo_Groups::getMemberIDs($this->_group, $status, $filter) : null;
$this->_tally = is_array($filter) ? count($this->_memberIDs) : Pommo_Subscribers::tally($status);
return;
}
$this->_group = current(Pommo_Groups::get(array('id' => $groupID)));
$this->_id = $groupID;
$this->_name =& $this->_group['name'];
$this->_memberIDs = Pommo_Groups::getMemberIDs($this->_group, $status, $filter);
$this->_tally = count($this->_memberIDs);
return;
}
开发者ID:soonick,项目名称:poMMo,代码行数:20,代码来源:Pommo_Groups.php
示例8: display
function display($resource_name)
{
// attempt to load the theme's requested template
if (!is_file($this->template_dir . '/' . $resource_name)) {
// template file not existant in theme, fallback to "default" theme
if (!is_file($this->_themeDir . 'default/' . $resource_name)) {
// requested template file does not exist in "default" theme, die.
Pommo::kill(sprintf(Pommo::_T('Template file (%s) not found in
default or current theme'), $resource_name));
} else {
$resource_name = $this->_themeDir . 'default/' . $resource_name;
$this->template_dir = $this->_themeDir . 'default';
}
}
if (Pommo::$_logger->isMsg()) {
$this->assign('messages', Pommo::$_logger->getMsg());
}
if (Pommo::$_logger->isErr()) {
$this->assign('errors', Pommo::$_logger->getErr());
}
return parent::display($resource_name);
}
开发者ID:systemfirez,项目名称:poMMo,代码行数:22,代码来源:Pommo_Template.php
示例9: Pommo_Template
/**********************************
INITIALIZATION METHODS
*********************************/
require 'bootstrap.php';
require_once Pommo::$_baseDir . 'classes/Pommo_Mailing.php';
Pommo::init();
$logger = Pommo::$_logger;
$dbo = Pommo::$_dbo;
/**********************************
SETUP TEMPLATE, PAGE
*********************************/
require_once Pommo::$_baseDir . 'classes/Pommo_Template.php';
$view = new Pommo_Template();
if (Pommo_Mailing::isCurrent()) {
Pommo::kill(sprintf(Pommo::_T('A Mailing is currently processing. Visit the' . ' %sStatus%s page to check its progress.'), '<a href="mailing_status.php">', '</a>'));
}
if (Pommo::$_config['demo_mode'] == 'on') {
$logger->addMsg(sprintf(Pommo::_T('%sDemonstration Mode%s is on -- no Emails' . ' will actually be sent. This is good for testing settings.'), '<a href="' . Pommo::$_baseUrl . 'setup_configure.php#mailings">', '</a>'));
}
require_once Pommo::$_baseDir . 'themes/wysiwyg/editors.php';
$editors = new PommoWYSIWYG();
$editor = $editors->loadEditor();
if (!$editor) {
die('Could not find requested WYSIWYG editor (' . $editor . ') in editors.php');
}
$view->assign('wysiwygJS', $editor);
// translation assignments for dialg titles...
$view->assign('t_personalization', Pommo::_T('Personalization'));
$view->assign('t_testMailing', Pommo::_T('Test Mailing'));
$view->assign('t_saveTemplate', Pommo::_T('Save Template'));
$view->display('admin/mailings/mailings_start');
开发者ID:soonick,项目名称:poMMo,代码行数:31,代码来源:mailings_start.php
示例10: PommoGroup
}
// ====== CSV EXPORT ======
if ($_POST['type'] == 'csv') {
if (!$ids) {
$group = new PommoGroup($state['group'], $state['status']);
$subscribers = $group->members();
} else {
$subscribers = PommoSubscriber::get(array('id' => $ids));
}
// supply headers
$o = '"' . Pommo::_T('Email') . '"';
if (!empty($_POST['registered'])) {
$o .= ',"' . Pommo::_T('Date Registered') . '"';
}
if (!empty($_POST['ip'])) {
$o .= ',"' . Pommo::_T('IP Address') . '"';
}
foreach ($fields as $f) {
$o .= ",\"{$f['name']}\"";
}
$o .= "\r\n";
function csvWrap(&$in)
{
$in = '"' . addslashes($in) . '"';
return;
}
foreach ($subscribers as $sub) {
$d = array();
// normalize field order in export
foreach (array_keys($fields) as $id) {
if (array_key_exists($id, $sub['data'])) {
开发者ID:shakatakshak,项目名称:poMMo-v5-FR,代码行数:31,代码来源:subscriber_export2.php
示例11: ini_set
* Copyright (C) 2005, 2006, 2007, 2008 Brice Burgess <[email protected]>
*
* This file is part of poMMo (http://www.pommo.org)
*
* poMMo is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published
* by the Free Software Foundation; either version 2, or any later version.
*
* poMMo is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
* the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with program; see the file docs/LICENSE. If not, write to the
* Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*/
// TODO: Check that magic quotes is turned off
// While poMMo is in development state, we'll attempt to display PHP notices,
// warnings, errors
ini_set('display_errors', '1');
//error_reporting(E_ALL); // [DEVELOPMENT]
error_reporting(E_ALL ^ E_NOTICE);
// [RELEASE]
// Include core components
require 'classes/Pommo_Helper.php';
require 'classes/Pommo_Api.php';
require 'classes/Pommo.php';
// Instantiate pommo
Pommo::preinit(dirname(__FILE__) . '/');
开发者ID:systemfirez,项目名称:poMMo,代码行数:30,代码来源:bootstrap.php
示例12: Pommo_Template
/**********************************
SETUP TEMPLATE, PAGE
*********************************/
require_once Pommo::$_baseDir . 'classes/Pommo_Template.php';
$view = new Pommo_Template();
$emails = Pommo::get('emails');
$dupes = Pommo::get('dupes');
$fields = Pommo_Fields::get();
$flag = FALSE;
foreach ($fields as $field) {
if ($field['required'] == 'on') {
$flag = TRUE;
}
}
if (isset($_GET['continue'])) {
foreach ($emails as $email) {
$subscriber = array('email' => $email, 'registered' => time(), 'ip' => $_SERVER['REMOTE_ADDR'], 'status' => 1, 'data' => array());
if ($flag) {
$subscriber['flag'] = 9;
}
if (!Pommo_Subscribers::add($subscriber)) {
die('Error importing subscriber');
}
}
sleep(1);
die(Pommo::_T('Complete!') . ' <a href="subscribers_import.php">' . Pommo::_T('Return to') . ' ' . Pommo::_T('Import') . '</a>');
}
$view->assign('flag', $flag);
$view->assign('tally', count($emails));
$view->assign('dupes', $dupes);
$view->display('admin/subscribers/import_txt');
开发者ID:soonick,项目名称:poMMo,代码行数:31,代码来源:import_txt.php
示例13:
<?php
/**
* Copyright (C) 2005, 2006, 2007, 2008 Brice Burgess <[email protected]>
*
* This file is part of poMMo (http://www.pommo.org)
*
* poMMo is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published
* by the Free Software Foundation; either version 2, or any later version.
*
* poMMo is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
* the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with program; see the file docs/LICENSE. If not, write to the
* Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*/
require '../bootstrap.php';
Pommo::redirect('login.php');
开发者ID:BackupTheBerlios,项目名称:oos-svn,代码行数:22,代码来源:index.php
示例14: elseif
$state['order'] = 'asc';
}
if (!is_numeric($state['sort']) && $state['sort'] != 'email' && $state['sort'] != 'ip' && $state['sort'] != 'time_registered' && $state['sort'] != 'time_touched') {
$state['sort'] = 'email';
}
if (!is_numeric($state['status'])) {
$state['status'] = 1;
}
if (!is_numeric($state['group']) && $state['group'] != 'all') {
$state['group'] = 'all';
}
if (isset($_REQUEST['searchClear'])) {
$state['search'] = false;
} elseif (isset($_REQUEST['searchField']) && (is_numeric($_REQUEST['searchField']) || $_REQUEST['searchField'] == 'email' || $_REQUEST['searchField'] == 'ip' || $_REQUEST['searchField'] == 'time_registered' || $_REQUEST['searchField'] == 'time_touched')) {
$_REQUEST['searchString'] = trim($_REQUEST['searchString']);
$state['search'] = empty($_REQUEST['searchString']) ? false : array('field' => $_REQUEST['searchField'], 'string' => trim($_REQUEST['searchString']));
}
/**********************************
DISPLAY METHODS
*********************************/
// Get the *empty* group [no member IDs. 3rd arg is set TRUE]
$group = new PommoGroup($state['group'], $state['status'], $state['search']);
// Calculate and Remember number of pages for this group/status combo
$state['pages'] = is_numeric($group->_tally) && $group->_tally > 0 ? ceil($group->_tally / $state['limit']) : 0;
$smarty->assign('state', $state);
$smarty->assign('tally', $group->_tally);
$smarty->assign('groups', PommoGroup::get());
$smarty->assign('fields', PommoField::get());
$smarty->display('admin/subscribers/subscribers_manage.tpl');
Pommo::kill();
开发者ID:BackupTheBerlios,项目名称:oos-svn,代码行数:30,代码来源:subscribers_manage.php
示例15: Pommo_Groups
*
* poMMo is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
* the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with program; see the file docs/LICENSE. If not, write to the
* Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*/
/**********************************
INITIALIZATION METHODS
*********************************/
require '../bootstrap.php';
require_once Pommo::$_baseDir . 'classes/Pommo_Groups.php';
Pommo::init();
$logger = Pommo::$_logger;
$dbo = Pommo::$_dbo;
// Remember the Page State
$state = Pommo_Api::stateInit('subscribers_manage');
// Fetch group + member IDs
$group = new Pommo_Groups($state['group'], $state['status'], $state['search']);
/**********************************
JSON OUTPUT INITIALIZATION
*********************************/
require_once Pommo::$_baseDir . 'classes/Pommo_Json.php';
$json = new Pommo_Json();
/**********************************
PAGINATION AND ORDERING
*********************************/
// Get and Remember the requested number of rows
开发者ID:systemfirez,项目名称:poMMo,代码行数:31,代码来源:manage.list.php
示例16: current
$field = current(PommoField::get(array('id' => $_REQUEST['field_id'])));
if ($field['id'] != $_REQUEST['field_id']) {
die('bad field ID');
}
$affected = PommoField::subscribersAffected($field['id'], $_REQUEST['options']);
if (count($affected) > 0 && empty($_REQUEST['confirmed'])) {
$msg = sprintf(Pommo::_T('Deleting option %1$s will affect %2$s subscribers who have selected this choice. They will be flagged as needing to update their records.'), '<b>' . $_REQUEST['options'] . '</b>', '<em>' . count($affected) . '</em>');
$msg .= "\n " . Pommo::_T('Are you sure?');
$json->add('callbackFunction', 'confirm');
$json->add('callbackParams', $msg);
$json->serve();
} else {
Pommo::requireOnce($pommo->_baseDir . 'inc/helpers/subscribers.php');
$options = PommoField::optionDel($field, $_REQUEST['options']);
if (!options) {
$json->fail(Pommo::_T('Error with deletion.'));
}
// flag subscribers for update
if (count($affected) > 0) {
PommoSubscriber::flagByID($affected);
}
$json->add('callbackFunction', 'updateOptions');
$json->add('callbackParams', $options);
$json->serve();
}
break;
default:
die('invalid request passed to ' . __FILE__);
break;
}
die;
开发者ID:BackupTheBerlios,项目名称:oos-svn,代码行数:31,代码来源:fields.rpc.php
示例17: current
$mailing = current(Pommo_Mailing::get(array('id' => $_REQUEST['mailings'])));
// change group name to ID
$groups = Pommo_Groups::getNames();
$gid = 'all';
foreach ($groups as $group) {
if ($group['name'] == $mailing['group']) {
$gid = $group['id'];
}
}
Pommo_Api::stateReset(array('mailing'));
// if this is a plain text mailing, switch body + altbody.
if ($mailing['ishtml'] == 'off') {
$mailing['altbody'] = $mailing['body'];
$mailing['body'] = null;
}
// Initialize page state with default values overriden by those held in $_REQUEST
$state =& Pommo_Api::stateInit('mailing', array('fromname' => $mailing['fromname'], 'fromemail' => $mailing['fromemail'], 'frombounce' => $mailing['frombounce'], 'list_charset' => $mailing['charset'], 'mailgroup' => $gid, 'subject' => $mailing['subject'], 'body' => $mailing['body'], 'altbody' => $mailing['altbody']));
Pommo::redirect(Pommo::$_baseUrl . 'mailings_start.php');
break;
case 'delete':
$deleted = Pommo_Mailing::delete($mailingIDS);
$logger->addMsg(Pommo::_T('Please Wait') . '...');
$params = $json->encode(array('ids' => $mailingIDS));
$view->assign('callbackFunction', 'deleteMailing');
$view->assign('callbackParams', $params);
break;
default:
$logger->AddErr('invalid call');
break;
}
$view->display('admin/rpc');
开发者ID:soonick,项目名称:poMMo,代码行数:31,代码来源:history.rpc.php
示例18: array
*
* poMMo is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published
* by the Free Software Foundation; either version 2, or any later version.
*
* poMMo is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
* the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with program; see the file docs/LICENSE. If not, write to the
* Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*/
require '../../../bootstrap.php';
Pommo::requireOnce($pommo->_baseDir . 'inc/helpers/subscribers.php');
$pommo->init();
$logger =& $pommo->_logger;
$dbo =& $pommo->_dbo;
$map = array('sent' => 1, 'unsent' => 0, 'error' => 2);
$nameMap = array(0 => 'Unsent_Subscribers', 1 => 'Sent_Subscribers', 2 => 'Failed_Subscribers');
$i = isset($map[$_GET['type']]) ? $map[$_GET['type']] : false;
if ($i === false) {
die;
}
$query = "\n\tSELECT s.email \n\tFROM " . $dbo->table['subscribers'] . " s\n\tJOIN " . $dbo->table['queue'] . " q ON (s.subscriber_id = q.subscriber_id)\n\tWHERE q.status = %i";
$query = $dbo->prepare($query, array($i));
$emails = $dbo->getAll($query, 'assoc', 'email');
$o = '';
foreach ($emails as $e) {
$o .= "{$e}\r\n";
开发者ID:BackupTheBerlios,项目名称:oos-svn,代码行数:31,代码来源:status_download.php
示例19: Pommo_Template
* (at your option) any later version.
*
* poMMo is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Pommo. If not, see <http://www.gnu.org/licenses/>.
*
* This fork is from https://github.com/soonick/poMMo
* Please see docs/contribs for Contributors
*
*/
/**********************************
INITIALIZATION METHODS
*********************************/
require 'bootstrap.php';
require_once Pommo::$_baseDir . 'classes/Pommo_Mailing.php';
Pommo::init();
$logger = Pommo::$_logger;
$dbo = Pommo::$_dbo;
/**********************************
SETUP TEMPLATE, PAGE
*********************************/
require_once Pommo::$_baseDir . 'classes/Pommo_Template.php';
$view = new Pommo_Template();
if (Pommo_Mailing::isCurrent()) {
Pommo::kill(sprintf(Pommo::_T('A Mailing is currently processing. Visit the' . ' %sStatus%s page to check its progress.'), '<a href="mailing_status.php">', '</a>'));
}
$view->display('admin/mailings/admin_mailings');
开发者ID:soonick,项目名称:poMMo,代码行数:31,代码来源:admin_mailings.php
示例20: define
* You should have received a copy of the GNU General Public License
* along with program; see the file docs/LICENSE. If not, write to the
* Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*/
/**********************************
INITIALIZATION METHODS
*********************************/
define('_poMMo_support', TRUE);
require '../../bootstrap.php';
$pommo->init(array('install' => TRUE));
$logger =& $pommo->_logger;
// start error logging
$pommo->logErrors();
// ignore user abort
ignore_user_abort(true);
Pommo::requireOnce($pommo->_baseDir . 'inc/classes/mailctl.php');
$code = empty($_GET['code']) ? null : $_GET['code'];
$spawn = !isset($_GET['spawn']) ? 0 : $_GET['spawn'] + 1;
trigger_error('Testing Log, Spawn #' . $spawn);
$fileContent = "<?php die(); ?>\n[code] = {$code}\n[spawn] = {$spawn}\n";
if (!($handle = fopen($pommo->_workDir . '/mailing.test.php', 'w'))) {
die('Impossible d\'écrire dans le fichier de test');
}
if (fwrite($handle, $fileContent) === FALSE) {
die('Impossible d\'écrire dans le fichier de test');
}
fclose($handle);
if ($spawn > 0) {
die;
}
sleep(1);
开发者ID:shakatakshak,项目名称:poMMo-v5-FR,代码行数:31,代码来源:mailing.test2.php
注:本文中的Pommo类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论