/**
  * Verify the static create-method
  */
 function test_create_method()
 {
     $this->assertInstanceOf('MslsLink', MslsLink::create(1));
     $this->assertInstanceOf('MslsLink', MslsLink::create(null));
     $obj = MslsLink::create(0);
     $this->assertInstanceOf('MslsLink', $obj);
     return $obj;
 }
Example #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;
 }
 /**
  * Shows the select-form-field 'display'
  */
 public function display()
 {
     echo $this->render_select('display', MslsLink::get_types_description(), MslsOptions::instance()->display);
     // xss ok
 }