public function getSettingsHtml()
{
$locale = craft()->language;
$siteMeta = craft()->seomatic->getSiteMeta($locale);
$fields = craft()->fields->getAllFields();
$fieldList = array('title' => 'Title');
$imageFieldList = array();
foreach ($fields as $field) {
switch ($field->type) {
case "PlainText":
case "RichText":
case "RedactorI":
case "PreparseField_Preparse":
$fieldList[$field->handle] = $field->name;
break;
case "Matrix":
$fieldList[$field->handle] = $field->name;
break;
case "Neo":
$fieldList[$field->handle] = $field->name;
break;
case "Tags":
$fieldList[$field->handle] = $field->name;
break;
case "FocusPoint_FocusPoint":
case "Assets":
$imageFieldList[$field->handle] = $field->name;
break;
}
}
$titleLength = craft()->config->get("maxTitleLength", "seomatic");
if ($siteMeta['siteSeoTitlePlacement'] == "none") {
$titleLength = $titleLength;
} else {
$titleLength = $titleLength - strlen(" | ") - strlen($siteMeta['siteSeoName']);
}
craft()->templates->includeCssResource('seomatic/css/bootstrap-tokenfield.css');
craft()->templates->includeCssResource('seomatic/css/style.css');
craft()->templates->includeCssResource('seomatic/css/field.css');
craft()->templates->includeJsResource('seomatic/js/main_entity_type_list.js');
craft()->templates->includeJs("var metaFieldPrefix='types-Seomatic_Meta-';");
craft()->templates->includeJsResource('seomatic/js/field_settings.js');
craft()->templates->includeJsResource('seomatic/js/meta.js');
craft()->templates->includeJsResource('seomatic/js/bootstrap-tokenfield.min.js');
$assetElementType = craft()->elements->getElementType(ElementType::Asset);
return craft()->templates->render('seomatic/field_settings', array('assetSources' => $this->getElementSources($assetElementType), 'fieldList' => $fieldList, 'imageFieldList' => $imageFieldList, 'titleLength' => $titleLength, 'transformsList' => craft()->seomatic->getTransformsList(), 'settings' => $this->getSettings()));
}