/** * 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; }
/** * 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; }