コード例 #1
0
 /**
  * Render shortcode form
  * @param ctShortcode[] $shortcodes
  * @param array $instance
  * @return void
  */
 protected function renderShortcodeForm($shortcodes, $instance)
 {
     $preffix = $this->childShortcode ? '[]' : '';
     $d = new ctShortcodeDecorator($shortcodes, false, $this->childShortcode);
     $d->setSchemaFormat('widget-' . $this->id_base . '[' . $this->number . ']' . '%parent%[%name%]' . $preffix);
     $d->setDefaultValues($instance['child']);
     $d->setBannedAttributes($this->getDefaultAttributes());
     $d->setInputSubstitutes(array('image' => 'input'));
     if ($this->shortcode && $this->childShortcode) {
         $d->setParentShortcode($this->shortcode);
         $d->setParentDefaultValues(isset($instance['parent']) ? $instance['parent'] : array());
     }
     echo $d;
 }
コード例 #2
0
 /**
  * Popup menu
  */
 public function popup()
 {
     wp_enqueue_style('thickbox');
     wp_enqueue_style('global');
     wp_enqueue_style('wp-admin');
     wp_enqueue_style('colors');
     wp_enqueue_style('ie');
     add_thickbox();
     wp_dequeue_script('theme-shortcode-menu');
     wp_register_script('theme-shortcode-dialog', CT_SHORTCODE_TINYMCE_URI . '/dialog.js', array('jquery', 'common'));
     wp_enqueue_script('theme-shortcode-dialog');
     if (defined('ICL_SITEPRESS_VERSION') && ICL_SITEPRESS_VERSION == '2.0.4.1') {
         wp_dequeue_script('sitepress-translation-management');
     }
     if (!($shortcode = self::getInstance()->getShortcode($_GET['id']))) {
         exit("No shortcode found");
     }
     if ($child = $shortcode->getChildShortcode()) {
         $shortcodes = array();
         $childInfo = $shortcode->getChildShortcodeInfo();
         $max = isset($childInfo['default_qty']) ? $childInfo['default_qty'] : 1;
         for ($x = 0; $x < $max; $x++) {
             $shortcodes[] = $child;
         }
     } else {
         $shortcodes = array($shortcode);
     }
     $defaultView = dirname(__FILE__) . '/view/popup.php';
     if ($e = $shortcode->getCustomFormView(array('template' => $defaultView))) {
         echo $e;
         exit;
     } else {
         $decorator = new ctShortcodeDecorator($shortcodes, false, (bool) $child);
         if ((bool) $child) {
             $decorator->setParentShortcode($shortcode);
         }
         require $defaultView;
     }
     exit;
 }