public function action_main($params = array())
 {
     $config = $this->config;
     $gConfig = \Config::load('novius_social_widget::config', true);
     if (Arr::get($gConfig, 'embed_js', true)) {
         if (!empty($config['js'])) {
             foreach ($config['js'] as $script) {
                 Nos::main_controller()->addJavascript($script);
             }
         }
     }
     $chrome = array();
     $typeList = array('chrome');
     foreach ($params as $param => $value) {
         if ($value) {
             foreach ($typeList as $type) {
                 $typePrefix = "{$type}-";
                 if ($value && \Str::starts_with($param, $typePrefix)) {
                     array_push(${$type}, \Str::sub($param, \Str::length($typePrefix)));
                 }
             }
         }
     }
     return \View::forge('novius_social_widget::front/enhancer/twitter', array('widgetId' => $params['widget-id'], 'chrome' => $chrome, 'limit' => \Arr::get($params, 'limit'), 'width' => \Arr::get($params, 'width'), 'height' => \Arr::get($params, 'height')), false);
 }
 public function action_page($params = array())
 {
     $config = $this->config;
     $gConfig = \Config::load('novius_social_widget::config', true);
     if (Arr::get($gConfig, 'embed_js', true)) {
         if (!empty($config['js'])) {
             foreach ($config['js'] as $script) {
                 Nos::main_controller()->addJavascript($script);
             }
         }
     }
     $data = array();
     $list = $this->getDataList();
     foreach ($list as $key => $values) {
         $data[$key] = \Arr::get($params, "data-" . $key, 0);
     }
     return \View::forge('novius_social_widget::front/enhancer/facebook', array('url' => $params['url'], 'data' => $data, 'width' => \Arr::get($params, 'width'), 'height' => \Arr::get($params, 'height')), false);
 }
示例#3
0
 /**
  * query値配列からstring値をbuild
  *
  * @param array $query_arr key => value配列
  * @return srting
  */
 protected static function _make_query($query_arr)
 {
     // init check function
     $check_hash_array = function ($arr) {
         foreach (array_keys($arr) as $key) {
             if (is_string($key)) {
                 return true;
             }
         }
         return false;
     };
     // sort array by name asc
     ksort($query_arr);
     $query = array();
     // re-insert if page exists, get first
     if (strlen(\Fuel\Core\Arr::get($query_arr, 'page')) > 0) {
         // if page = 1, it's remove
         if ($query_arr['page'] > 1) {
             $query['page'] = $query_arr['page'];
         }
         unset($query_arr['page']);
     }
     // re-insert only value exists
     foreach ($query_arr as $key => $value) {
         if (is_array($value)) {
             // check has string key
             $is_hash_array = $check_hash_array($value);
             if ($is_hash_array) {
                 ksort($value, SORT_STRING);
             } else {
                 sort($value, SORT_STRING);
             }
             foreach ($value as $k => $v) {
                 if (strlen($v) > 0) {
                     $query[$key][$k] = $v;
                 }
             }
         } elseif (strlen($value) > 0) {
             $query[$key] = $value;
         }
     }
     if (empty($query)) {
         return '';
     }
     $return_string = '?';
     foreach ($query as $key => $value) {
         if (is_array($value)) {
             $is_hash_array = $check_hash_array($value);
             foreach ($value as $k => $v) {
                 if ($is_hash_array) {
                     $return_string .= $key . '[' . $k . ']=' . rawurlencode($v) . '&';
                 } else {
                     $return_string .= $key . '[]=' . rawurlencode($v) . '&';
                 }
             }
         } else {
             $return_string .= $key . '=' . rawurlencode($value) . '&';
         }
     }
     return substr($return_string, 0, -1);
 }
示例#4
0
 public static function get_status($status, $default = "")
 {
     $status_array = self::get_statuses();
     return \Fuel\Core\Arr::get($status_array, $status, $default);
 }