function synved_connect_sponsor_list($filter = null) { $sponsor_list = array('wordpress-themes-1' => array('type' => 'credit', 'label' => 'WordPress Themes', 'tip' => 'WordPress plugins and themes', 'link' => 'http://synved.com', 'text' => '%%link%% by Synved'), 'wordpress-design-1' => array('type' => 'credit', 'label' => 'WordPress Design', 'tip' => 'WordPress development, themes and custom plugins', 'link' => 'http://synved.com', 'text' => '%%link%% by Synved'), 'synved-options' => array('type' => 'intern', 'label' => 'WordPress Options', 'tip' => 'Add options to your products, the easy way!', 'link' => 'http://synved.com/wordpress-options/', 'text' => 'If you are a designer or developer you might want to chek out our free plugin %%link%% to easily add options to your WordPress products and sell your own addons for them too'), 'hosting-1' => array('type' => 'extern', 'label' => 'professional hosting', 'tip' => 'recommended hosting', 'link' => 'http://synved.com/suggests/hosting/', 'text' => 'If searching for a reliable hosting service you might wanna check out our recommended %%link%%'), 'photocrati' => array('type' => 'extern', 'label' => 'Photocrati', 'tip' => 'WordPress theme for gallery management', 'link' => 'http://synved.com/suggests/photocrati/', 'text' => 'For more advanced image and gallery management features we recommend %%link%% and their fantastic support ;)')); $feed = fetch_feed('http://feeds.feedburner.com/_SynvedConnectList?format=xml'); if (!is_wp_error($feed)) { $maxitems = $feed->get_item_quantity(); $feed_items = $feed->get_items(0, $maxitems); $feed_list = array(); if ($maxitems > 0) { foreach ($feed_items as $feed_item) { $id = $feed_item->get_id(); $label = $feed_item->get_title(); $tip = $feed_item->get_description(); $link = $feed_item->get_permalink(); $text = $feed_item->get_content(); $id_parts = array(); parse_str(parse_url($id, PHP_URL_QUERY), $id_parts); $id = $id_parts['guid']; $feed_categories = $feed_item->get_categories(); $type = null; if ($feed_categories != null) { $category_tag = 'synved-connect-type-'; foreach ($feed_categories as $feed_category) { $feed_category = $feed_category->get_label(); if (substr($feed_category, 0, strlen($category_tag)) == $category_tag) { $type = substr($feed_category, strlen($category_tag)); break; } } } if ($type != null && $id != null) { $feed_list[$id] = array('type' => $type, 'label' => $label, 'tip' => $tip, 'link' => $link, 'text' => $text); } } } if ($feed_list != null) { $sponsor_list = $feed_list; } } if ($filter != null) { $final_list = array(); foreach ($sponsor_list as $sponsor_key => $sponsor_item) { foreach ($filter as $filter_key => $filter_value) { if (isset($sponsor_item[$filter_key])) { $sponsor_value = $sponsor_item[$filter_key]; if (synved_connect_key_item_match($sponsor_value, $filter_value)) { $final_list[$sponsor_key] = $sponsor_item; } } } } $sponsor_list = $final_list; } $sponsor_keys = array_keys($sponsor_list); foreach ($sponsor_keys as $sponsor_key) { $sponsor_list[$sponsor_key]['id'] = $sponsor_key; } return $sponsor_list; }
function synved_connect_key_component_state($key, $component, $online_check = false) { $key_component = synved_connect_key_component($key); $key_domain = synved_connect_key_domain($key); if (synved_connect_key_item_match($component, $key_component)) { if ($online_check) { // XXX perform online check } if (synved_connect_key_item_match($_SERVER['SERVER_NAME'], $key_domain)) { return SynvedConnectKey::STATE_OK; } return SynvedConnectKey::STATE_MISMATCH; } return SynvedConnectKey::STATE_FAIL; }