Пример #1
0
 /**
  * Table body
  * @param string $column_name
  * @param int $item_id
  */
 public function td($column_name, $item_id)
 {
     if ('mslscol' == $column_name) {
         $blogs = MslsBlogCollection::instance()->get();
         if ($blogs) {
             $mydata = MslsOptions::create($item_id);
             foreach ($blogs as $blog) {
                 switch_to_blog($blog->userblog_id);
                 $language = $blog->get_language();
                 $icon = MslsAdminIcon::create();
                 $icon->set_language($language);
                 if ($mydata->has_value($language)) {
                     $flag_url = MslsOptions::instance()->get_url('images/link_edit.png');
                     $icon->set_href($mydata->{$language})->set_src($flag_url);
                 } else {
                     $flag_url = MslsOptions::instance()->get_url('images/link_add.png');
                     $icon->set_src($flag_url);
                 }
                 echo $icon;
                 // xss ok
                 restore_current_blog();
             }
         }
     }
 }
Пример #2
0
 /**
  * Creates and gets the output as an array
  * @param int $display
  * @param bool $filter
  * @param bool $exists
  * @uses MslsOptions
  * @uses MslsLink
  * @return array
  */
 public function get($display, $filter = false, $exists = false)
 {
     $arr = array();
     $blogs = MslsBlogCollection::instance()->get_filtered($filter);
     if ($blogs) {
         $mydata = MslsOptions::create();
         $link = MslsLink::create($display);
         foreach ($blogs as $blog) {
             $language = $blog->get_language();
             $url = $mydata->get_current_link();
             $current = $blog->userblog_id == MslsBlogCollection::instance()->get_current_blog_id();
             if ($current) {
                 $link->txt = $blog->get_description();
             } else {
                 switch_to_blog($blog->userblog_id);
                 if ($this->is_requirements_not_fulfilled($mydata, $exists, $language)) {
                     restore_current_blog();
                     continue;
                 } else {
                     $url = $mydata->get_permalink($language);
                     $link->txt = $blog->get_description();
                 }
                 restore_current_blog();
             }
             $link->src = MslsOptions::instance()->get_flag_url($language);
             $link->alt = $language;
             if (has_filter('msls_output_get')) {
                 /**
                  * Returns HTML-link for an item of the output-arr
                  * @since 0.9.8
                  * @param string $url
                  * @param MslsLink $link
                  * @param bool current
                  */
                 $arr[] = (string) apply_filters('msls_output_get', $url, $link, $current);
             } else {
                 $arr[] = sprintf('<a href="%s" title="%s"%s>%s</a>', $url, $link->txt, $current ? ' class="current_language"' : '', $link);
             }
         }
     }
     return $arr;
 }
 /**
  * Help searchengines to index and to serve the localized version with
  * rel="alternate"-links in the html-header
  */
 function msls_head()
 {
     $blogs = MslsBlogCollection::instance();
     $mydata = MslsOptions::create();
     foreach ($blogs->get_objects() as $blog) {
         $language = $blog->get_language();
         $url = $mydata->get_current_link();
         $current = $blog->userblog_id == MslsBlogCollection::instance()->get_current_blog_id();
         $title = $blog->get_description();
         if (!$current) {
             switch_to_blog($blog->userblog_id);
             if ('MslsOptions' != get_class($mydata) && (is_null($mydata) || !$mydata->has_value($language))) {
                 restore_current_blog();
                 continue;
             }
             $url = $mydata->get_permalink($language);
             $title = $blog->get_description();
             restore_current_blog();
         }
         if (has_filter('msls_head_hreflang')) {
             /**
              * Overrides the hreflang value
              * @since 0.9.9
              * @param string $language
              */
             $hreflang = (string) apply_filters('msls_head_hreflang', $language);
         } else {
             $hreflang = $blog->get_alpha2();
         }
         printf('<link rel="alternate" hreflang="%s" href="%s" title="%s" />', $hreflang, $url, esc_attr($title));
         echo "\n";
     }
 }
 /**
  * Verify the static create-method
  */
 function test_create_method()
 {
     $this->assertInstanceOf('MslsOptions', MslsOptions::create());
 }