/** * @param G1_Shortcode_Attribute array $defined_attributes * @param array $passed_attributes * @return string */ protected function capture_attributes_warnings($defined_attributes, $passed_attributes = array()) { $warnings = array(); $available_attribute_names = array(); foreach ($defined_attributes as $defined_attribute) { $available_attribute_names[] = $defined_attribute->get_id(); $available_attribute_names = array_merge($available_attribute_names, $defined_attribute->get_id_aliases()); } if (is_array($passed_attributes)) { foreach ($passed_attributes as $id => $value) { if (!in_array($id, $available_attribute_names)) { $helpmode = new G1_Helpmode('wrong_shortcode_attribute', __('Wrong shortcode attribute:', 'g1_theme') . ' ' . $id, sprintf(__('Shortcode "%s" has no "%s" attribute', 'g1_theme'), $this->get_id(), $id), 'error'); $warnings[] = $helpmode->capture(); } } } return implode('', $warnings); }