• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

PHP FrontendModel类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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

示例1: parse

 /**
  * Parse the data into the template
  */
 private function parse()
 {
     // show message
     $this->tpl->assign('widgetLocationItems', FrontendLocationModel::get((int) $this->data['id']));
     // hide form
     $this->tpl->assign('widgetLocationSettings', FrontendModel::getModuleSettings('location'));
 }
开发者ID:naujasdizainas,项目名称:forkcms,代码行数:10,代码来源:location.php


示例2: validateForm

 /**
  * Validate the form
  */
 private function validateForm()
 {
     // is the form submitted
     if ($this->frm->isSubmitted()) {
         // validate required fields
         $email = $this->frm->getField('email');
         // validate required fields
         if ($email->isEmail(FL::err('EmailIsInvalid'))) {
             if (FrontendMailmotorModel::isSubscribed($email->getValue())) {
                 $email->addError(FL::err('AlreadySubscribed'));
             }
         }
         // no errors
         if ($this->frm->isCorrect()) {
             try {
                 // subscribe the user to our default group
                 FrontendMailmotorCMHelper::subscribe($email->getValue());
                 // trigger event
                 FrontendModel::triggerEvent('mailmotor', 'after_subscribe', array('email' => $email->getValue()));
                 // redirect
                 $this->redirect(FrontendNavigation::getURLForBlock('mailmotor', 'subscribe') . '?sent=true#subscribeForm');
             } catch (Exception $e) {
                 // when debugging we need to see the exceptions
                 if (SPOON_DEBUG) {
                     throw $e;
                 }
                 // show error
                 $this->tpl->assign('subscribeHasError', true);
             }
         } else {
             $this->tpl->assign('subscribeHasFormError', true);
         }
     }
 }
开发者ID:naujasdizainas,项目名称:forkcms,代码行数:37,代码来源:subscribe.php


示例3: getData

    /**
     * Load the data, don't forget to validate the incoming data
     */
    private function getData()
    {
        // validate incoming parameters
        if ($this->URL->getParameter(1) === null) {
            $this->redirect(FrontendNavigation::getURL(404));
        }
        // fetch record
        $this->record = FrontendTagsModel::get($this->URL->getParameter(1));
        // validate record
        if (empty($this->record)) {
            $this->redirect(FrontendNavigation::getURL(404));
        }
        // fetch modules
        $this->modules = FrontendTagsModel::getModulesForTag($this->record['id']);
        // loop modules
        foreach ($this->modules as $module) {
            // set module class
            $class = 'Frontend' . SpoonFilter::toCamelCase($module) . 'Model';
            // get the ids of the items linked to the tag
            $otherIds = (array) FrontendModel::getDB()->getColumn('SELECT other_id
				 FROM modules_tags
				 WHERE module = ? AND tag_id = ?', array($module, $this->record['id']));
            // set module class
            $class = 'Frontend' . SpoonFilter::toCamelCase($module) . 'Model';
            // get the items that are linked to the tags
            $items = (array) FrontendTagsModel::callFromInterface($module, $class, 'getForTags', $otherIds);
            // add into results array
            if (!empty($items)) {
                $this->results[] = array('name' => $module, 'label' => FL::lbl(SpoonFilter::ucfirst($module)), 'items' => $items);
            }
        }
    }
开发者ID:naujasdizainas,项目名称:forkcms,代码行数:35,代码来源:detail.php


示例4: loadDataGrid

 /**
  * Load the datagrid
  */
 private function loadDataGrid()
 {
     // create a new source-object
     $source = new SpoonDataGridSourceDB(FrontendModel::getDB(), array(FrontendMailmotorModel::QRY_DATAGRID_BROWSE_SENT, array('sent', FRONTEND_LANGUAGE)));
     // create datagrid
     $this->dataGrid = new SpoonDataGrid($source);
     $this->dataGrid->setCompileDirectory(FRONTEND_CACHE_PATH . '/compiled_templates');
     // set hidden columns
     $this->dataGrid->setColumnsHidden(array('id', 'status'));
     // set headers values
     $headers['name'] = SpoonFilter::ucfirst(FL::lbl('Name'));
     $headers['send_on'] = SpoonFilter::ucfirst(FL::lbl('Sent'));
     // set headers
     $this->dataGrid->setHeaderLabels($headers);
     // sorting columns
     $this->dataGrid->setSortingColumns(array('name', 'send_on'), 'name');
     $this->dataGrid->setSortParameter('desc');
     // set colum URLs
     $this->dataGrid->setColumnURL('name', FrontendNavigation::getURLForBlock('mailmotor', 'detail') . '/[id]');
     // set column functions
     $this->dataGrid->setColumnFunction(array('SpoonDate', 'getTimeAgo'), array('[send_on]'), 'send_on', true);
     // add styles
     $this->dataGrid->setColumnAttributes('name', array('class' => 'title'));
     // set paging limit
     $this->dataGrid->setPagingLimit(self::MAILINGS_PAGING_LIMIT);
 }
开发者ID:naujasdizainas,项目名称:forkcms,代码行数:29,代码来源:index.php


示例5: execute

 /**
  * Execute the action
  *
  * @return	void
  */
 public function execute()
 {
     // call parent, this will probably add some general CSS/JS or other required files
     parent::execute();
     // get parameters
     $term = SpoonFilter::getGetValue('term', null, '');
     // validate
     if ($term == '') {
         $this->output(self::BAD_REQUEST, null, 'term-parameter is missing.');
     }
     // previous search result
     $previousTerm = SpoonSession::exists('searchTerm') ? SpoonSession::get('searchTerm') : '';
     SpoonSession::set('searchTerm', '');
     // save this term?
     if ($previousTerm != $term) {
         // format data
         $this->statistics = array();
         $this->statistics['term'] = $term;
         $this->statistics['language'] = FRONTEND_LANGUAGE;
         $this->statistics['time'] = FrontendModel::getUTCDate();
         $this->statistics['data'] = serialize(array('server' => $_SERVER));
         $this->statistics['num_results'] = FrontendSearchModel::getTotal($term);
         // save data
         FrontendSearchModel::save($this->statistics);
     }
     // save current search term in cookie
     SpoonSession::set('searchTerm', $term);
     // output
     $this->output(self::OK);
 }
开发者ID:netconstructor,项目名称:forkcms,代码行数:35,代码来源:save.php


示例6: execute

 /**
  * Execute the extra.
  */
 public function execute()
 {
     // get activation key
     $key = $this->URL->getParameter(0);
     // load template
     $this->loadTemplate();
     // do we have an activation key?
     if (isset($key)) {
         // get profile id
         $profileId = FrontendProfilesModel::getIdBySetting('activation_key', $key);
         // have id?
         if ($profileId != null) {
             // update status
             FrontendProfilesModel::update($profileId, array('status' => 'active'));
             // delete activation key
             FrontendProfilesModel::deleteSetting($profileId, 'activation_key');
             // login profile
             FrontendProfilesAuthentication::login($profileId);
             // trigger event
             FrontendModel::triggerEvent('profiles', 'after_activate', array('id' => $profileId));
             // show success message
             $this->tpl->assign('activationSuccess', true);
         } else {
             $this->redirect(FrontendNavigation::getURL(404));
         }
     } else {
         $this->redirect(FrontendNavigation::getURL(404));
     }
 }
开发者ID:naujasdizainas,项目名称:forkcms,代码行数:32,代码来源:activate.php


示例7: validateForm

 /**
  * Validate the form
  */
 private function validateForm()
 {
     if ($this->frm->isSubmitted()) {
         $this->frm->cleanupFields();
         // validate required fields
         $this->frm->getField('name')->isFilled(FL::err('NameIsRequired'));
         $this->frm->getField('email')->isEmail(FL::err('EmailIsInvalid'));
         $this->frm->getField('message')->isFilled(FL::err('QuestionIsRequired'));
         if ($this->frm->isCorrect()) {
             $spamFilterEnabled = FrontendModel::getModuleSetting('faq', 'spamfilter');
             $variables['sentOn'] = time();
             $variables['name'] = $this->frm->getField('name')->getValue();
             $variables['email'] = $this->frm->getField('email')->getValue();
             $variables['message'] = $this->frm->getField('message')->getValue();
             if ($spamFilterEnabled) {
                 // if the comment is spam alter the comment status so it will appear in the spam queue
                 if (FrontendModel::isSpam($variables['message'], SITE_URL . FrontendNavigation::getURLForBlock('faq'), $variables['name'], $variables['email'])) {
                     $this->status = 'errorSpam';
                     return;
                 }
             }
             $this->status = 'success';
             FrontendMailer::addEmail(sprintf(FL::getMessage('FaqOwnQuestionSubject'), $variables['name']), FRONTEND_MODULES_PATH . '/faq/layout/templates/mails/own_question.tpl', $variables, $variables['email'], $variables['name']);
         }
     }
 }
开发者ID:naujasdizainas,项目名称:forkcms,代码行数:29,代码来源:own_question.php


示例8: getQuestions

    /**
     * Get all items in a category
     *
     * @return	array
     * @param	int $categoryId			The id of the category.
     */
    public static function getQuestions($categoryId)
    {
        return (array) FrontendModel::getDB()->getRecords('SELECT i.*
															FROM faq_questions AS i
															WHERE i.category_id = ? AND i.language = ? AND i.hidden = ?
															ORDER BY i.sequence', array((int) $categoryId, FRONTEND_LANGUAGE, 'N'));
    }
开发者ID:netconstructor,项目名称:forkcms,代码行数:13,代码来源:model.php


示例9: execute

 /**
  * Execute the action
  */
 public function execute()
 {
     parent::execute();
     // get parameters
     $searchTerm = SpoonFilter::getPostValue('term', null, '');
     $term = SPOON_CHARSET == 'utf-8' ? SpoonFilter::htmlspecialchars($searchTerm) : SpoonFilter::htmlentities($searchTerm);
     // validate
     if ($term == '') {
         $this->output(self::BAD_REQUEST, null, 'term-parameter is missing.');
     }
     // previous search result
     $previousTerm = SpoonSession::exists('searchTerm') ? SpoonSession::get('searchTerm') : '';
     SpoonSession::set('searchTerm', '');
     // save this term?
     if ($previousTerm != $term) {
         // format data
         $this->statistics = array();
         $this->statistics['term'] = $term;
         $this->statistics['language'] = FRONTEND_LANGUAGE;
         $this->statistics['time'] = FrontendModel::getUTCDate();
         $this->statistics['data'] = serialize(array('server' => $_SERVER));
         $this->statistics['num_results'] = FrontendSearchModel::getTotal($term);
         // save data
         FrontendSearchModel::save($this->statistics);
     }
     // save current search term in cookie
     SpoonSession::set('searchTerm', $term);
     // output
     $this->output(self::OK);
 }
开发者ID:nickmancol,项目名称:forkcms-rhcloud,代码行数:33,代码来源:save.php


示例10: parse

 /**
  * Parse the data into the template
  */
 private function parse()
 {
     // show message
     $this->tpl->assign('locationItems', FrontendLocationModel::getAll());
     // hide form
     $this->tpl->assign('locationSettings', FrontendModel::getModuleSettings('location'));
 }
开发者ID:naujasdizainas,项目名称:forkcms,代码行数:10,代码来源:index.php


示例11: getTheme

 /**
  * Gets the active theme name
  *
  * @return	string
  */
 public static function getTheme()
 {
     // theme nama has not yet been saved, fetch and save it
     if (!self::$theme) {
         self::$theme = FrontendModel::getModuleSetting('core', 'theme', null);
     }
     // return theme name
     return self::$theme;
 }
开发者ID:netconstructor,项目名称:forkcms,代码行数:14,代码来源:theme.php


示例12: parse

 /**
  * Parse the footer into the template
  */
 public function parse()
 {
     // get footer links
     $footerLinks = (array) FrontendNavigation::getFooterLinks();
     // assign footer links
     $this->tpl->assign('footerLinks', $footerLinks);
     // initial value for footer HTML
     $siteHTMLFooter = (string) FrontendModel::getModuleSetting('core', 'site_html_footer', null);
     // facebook admins given?
     if (FrontendModel::getModuleSetting('core', 'facebook_admin_ids', null) !== null || FrontendModel::getModuleSetting('core', 'facebook_app_id', null) !== null) {
         // build correct locale
         switch (FRONTEND_LANGUAGE) {
             case 'en':
                 $locale = 'en_US';
                 break;
             case 'zh':
                 $locale = 'zh_CN';
                 break;
             case 'cs':
                 $locale = 'cs_CZ';
                 break;
             case 'el':
                 $locale = 'el_GR';
                 break;
             case 'ja':
                 $locale = 'ja_JP';
                 break;
             case 'sv':
                 $locale = 'sv_SE';
                 break;
             case 'uk':
                 $locale = 'uk_UA';
                 break;
             default:
                 $locale = strtolower(FRONTEND_LANGUAGE) . '_' . strtoupper(FRONTEND_LANGUAGE);
         }
         // add Facebook container
         $siteHTMLFooter .= "\n" . '<div id="fb-root"></div>' . "\n";
         // add facebook JS
         $siteHTMLFooter .= '<script>' . "\n";
         if (FrontendModel::getModuleSetting('core', 'facebook_app_id', null) !== null) {
             $siteHTMLFooter .= '	window.fbAsyncInit = function() {' . "\n";
             $siteHTMLFooter .= '		FB.init({ appId: \'' . FrontendModel::getModuleSetting('core', 'facebook_app_id', null) . '\', status: true, cookie: true, xfbml: true, oauth: true });' . "\n";
             $siteHTMLFooter .= '		jsFrontend.facebook.afterInit();' . "\n";
             $siteHTMLFooter .= '	};' . "\n";
         }
         $siteHTMLFooter .= '	(function() {' . "\n";
         $siteHTMLFooter .= '		var e = document.createElement(\'script\'); e.async = true; e.src = document.location.protocol + "//connect.facebook.net/' . $locale . '/all.js#xfbml=1";' . "\n";
         $siteHTMLFooter .= '		document.getElementById(\'fb-root\').appendChild(e);' . "\n";
         $siteHTMLFooter .= '	}());' . "\n";
         $siteHTMLFooter .= '</script>';
     }
     // assign site wide html
     $this->tpl->assign('siteHTMLFooter', $siteHTMLFooter);
 }
开发者ID:nickmancol,项目名称:forkcms-rhcloud,代码行数:58,代码来源:footer.php


示例13: parse

 /**
  * Parse the data into the template
  *
  * @return	void
  */
 private function parse()
 {
     // get vars
     $title = isset($this->settings['rss_title_' . FRONTEND_LANGUAGE]) ? $this->settings['rss_title_' . FRONTEND_LANGUAGE] : FrontendModel::getModuleSetting('blog', 'rss_title_' . FRONTEND_LANGUAGE, SITE_DEFAULT_TITLE);
     $link = SITE_URL . FrontendNavigation::getURLForBlock('blog');
     $description = isset($this->settings['rss_description_' . FRONTEND_LANGUAGE]) ? $this->settings['rss_description_' . FRONTEND_LANGUAGE] : null;
     // create new rss instance
     $rss = new FrontendRSS($title, $link, $description);
     // loop articles
     foreach ($this->items as $item) {
         // init vars
         $title = $item['title'];
         $link = $item['full_url'];
         $description = $item['introduction'] != '' ? $item['introduction'] : $item['text'];
         // meta is wanted
         if (FrontendModel::getModuleSetting('blog', 'rss_meta_' . FRONTEND_LANGUAGE, true)) {
             // append meta
             $description .= '<div class="meta">' . "\n";
             $description .= '	<p><a href="' . $link . '" title="' . $title . '">' . $title . '</a> ' . sprintf(FL::msg('WrittenBy'), FrontendUser::getBackendUser($item['user_id'])->getSetting('nickname'));
             $description .= ' ' . FL::lbl('In') . ' <a href="' . $item['category_full_url'] . '" title="' . $item['category_title'] . '">' . $item['category_title'] . '</a>.</p>' . "\n";
             // any tags
             if (isset($item['tags'])) {
                 // append tags-paragraph
                 $description .= '	<p>' . ucfirst(FL::lbl('Tags')) . ': ';
                 $first = true;
                 // loop tags
                 foreach ($item['tags'] as $tag) {
                     // prepend separator
                     if (!$first) {
                         $description .= ', ';
                     }
                     // add
                     $description .= '<a href="' . $tag['full_url'] . '" rel="tag" title="' . $tag['name'] . '">' . $tag['name'] . '</a>';
                     // reset
                     $first = false;
                 }
                 // end
                 $description .= '.</p>' . "\n";
             }
             // end HTML
             $description .= '</div>' . "\n";
         }
         // create new instance
         $rssItem = new FrontendRSSItem($title, $link, $description);
         // set item properties
         $rssItem->setPublicationDate($item['publish_on']);
         $rssItem->addCategory($item['category_title']);
         $rssItem->setAuthor(FrontendUser::getBackendUser($item['user_id'])->getSetting('nickname'));
         // add item
         $rss->addItem($rssItem);
     }
     // output
     $rss->parse();
 }
开发者ID:netconstructor,项目名称:forkcms,代码行数:59,代码来源:rss.php


示例14: execute

 /**
  * Execute the extra.
  *
  * @return	void
  */
 public function execute()
 {
     // logout
     if (FrontendProfilesAuthentication::isLoggedIn()) {
         FrontendProfilesAuthentication::logout();
     }
     // trigger event
     FrontendModel::triggerEvent('profiles', 'after_logout');
     // redirect
     $this->redirect(SITE_URL);
 }
开发者ID:netconstructor,项目名称:forkcms,代码行数:16,代码来源:logout.php


示例15: parse

 /**
  * Parse
  *
  * @return	void
  */
 private function parse()
 {
     // get RSS-link
     $rssLink = FrontendModel::getModuleSetting('blog', 'feedburner_url_' . FRONTEND_LANGUAGE);
     if ($rssLink == '') {
         $rssLink = FrontendNavigation::getURLForBlock('blog', 'rss');
     }
     // add RSS-feed into the metaCustom
     $this->header->addLink(array('rel' => 'alternate', 'type' => 'application/rss+xml', 'title' => FrontendModel::getModuleSetting('blog', 'rss_title_' . FRONTEND_LANGUAGE), 'href' => $rssLink), true);
     // assign comments
     $this->tpl->assign('widgetBlogRecentArticlesList', FrontendBlogModel::getAll(FrontendModel::getModuleSetting('blog', 'recent_articles_list_num_items', 5)));
 }
开发者ID:netconstructor,项目名称:forkcms,代码行数:17,代码来源:recent_articles_list.php


示例16: parse

 /**
  * Parse the data into the template
  *
  * @return	void
  */
 private function parse()
 {
     // get RSS-link
     $rssLink = FrontendModel::getModuleSetting('blog', 'feedburner_url_' . FRONTEND_LANGUAGE);
     if ($rssLink == '') {
         $rssLink = FrontendNavigation::getURLForBlock('blog', 'rss');
     }
     // add RSS-feed
     $this->header->addLink(array('rel' => 'alternate', 'type' => 'application/rss+xml', 'title' => FrontendModel::getModuleSetting('blog', 'rss_title_' . FRONTEND_LANGUAGE), 'href' => $rssLink), true);
     // assign articles
     $this->tpl->assign('items', $this->items);
     // parse the pagination
     $this->parsePagination();
 }
开发者ID:netconstructor,项目名称:forkcms,代码行数:19,代码来源:index.php


示例17: getData

 /**
  * Load the data, don't forget to validate the incoming data
  */
 private function getData()
 {
     $categories = FrontendFaqModel::getCategories();
     $limit = FrontendModel::getModuleSetting('faq', 'overview_num_items_per_category', 10);
     foreach ($categories as $item) {
         $item['questions'] = FrontendFaqModel::getAllForCategory($item['id'], $limit);
         // no questions? next!
         if (empty($item['questions'])) {
             continue;
         }
         // add the category item including the questions
         $this->items[] = $item;
     }
 }
开发者ID:naujasdizainas,项目名称:forkcms,代码行数:17,代码来源:index.php


示例18: loadData

 /**
  * Load the data
  */
 protected function loadData()
 {
     $this->items = FrontendLocationModel::getAll();
     $this->settings = FrontendLocationModel::getMapSettings(0);
     $firstMarker = current($this->items);
     if (empty($this->settings)) {
         $this->settings = FrontendModel::getModuleSettings('location');
         $this->settings['center']['lat'] = $firstMarker['lat'];
         $this->settings['center']['lng'] = $firstMarker['lng'];
     }
     // no center point given yet, use the first occurance
     if (!isset($this->settings['center'])) {
         $this->settings['center']['lat'] = $firstMarker['lat'];
         $this->settings['center']['lng'] = $firstMarker['lng'];
     }
 }
开发者ID:nickmancol,项目名称:forkcms-rhcloud,代码行数:19,代码来源:index.php


示例19: getRelated

    /**
     * Get related "things" based on tags
     */
    private function getRelated()
    {
        // loop tags
        foreach ($this->tags as $tag) {
            // fetch entries
            $items = (array) FrontendModel::getDB()->getRecords('SELECT mt.module, mt.other_id
				 FROM modules_tags AS mt
				 INNER JOIN tags AS t ON t.id = mt.tag_id
				 WHERE t.language = ? AND t.tag = ?', array(FRONTEND_LANGUAGE, $tag));
            // loop items
            foreach ($items as $item) {
                // loop existing items
                foreach ($this->related as $related) {
                    // already exists
                    if ($item == $related) {
                        continue 2;
                    }
                }
                // add to list of related items
                $this->related[] = $item;
            }
        }
        // loop entries
        foreach ($this->related as $id => $entry) {
            // loop excluded records
            foreach ($this->exclude as $exclude) {
                // check if this entry should be excluded
                if ($entry['module'] == $exclude['module'] && $entry['other_id'] == $exclude['other_id']) {
                    unset($this->related[$id]);
                    continue 2;
                }
            }
            // set module class
            $class = 'Frontend' . SpoonFilter::toCamelCase($entry['module']) . 'Model';
            // get module record
            $this->related[$id] = FrontendTagsModel::callFromInterface($entry['module'], $class, 'getForTags', (array) array($entry['other_id']));
            if ($this->related[$id]) {
                $this->related[$id] = array_pop($this->related[$id]);
            }
            // remove empty items
            if (empty($this->related[$id])) {
                unset($this->related[$id]);
            }
        }
        // only show 3
        $this->related = array_splice($this->related, 0, 3);
    }
开发者ID:naujasdizainas,项目名称:forkcms,代码行数:50,代码来源:related.php


示例20: display

 /**
  * Display
  */
 private function display()
 {
     // set variables
     $this->requestedPage = 1;
     $this->limit = (int) FrontendModel::getModuleSetting('search', 'overview_num_items', 20);
     $this->offset = $this->requestedPage * $this->limit - $this->limit;
     $this->cacheFile = FRONTEND_CACHE_PATH . '/' . $this->getModule() . '/' . FRONTEND_LANGUAGE . '_' . md5($this->term) . '_' . $this->offset . '_' . $this->limit . '.php';
     // load the cached data
     if (!$this->getCachedData()) {
         // ... or load the real data
         $this->getRealData();
     }
     // parse
     $this->parse();
     // output
     $this->output(self::OK, $this->tpl->getContent(FRONTEND_PATH . '/modules/search/layout/templates/results.tpl', false, true));
 }
开发者ID:nickmancol,项目名称:forkcms-rhcloud,代码行数:20,代码来源:livesuggest.php



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
PHP FrontendNavigation类代码示例发布时间:2022-05-23
下一篇:
PHP Frontend类代码示例发布时间:2022-05-23
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap