AjaxRequest::installDataTypes PHP Method

installDataTypes() private method

private installDataTypes ( )
    private function installDataTypes()
    {
        $groupedDataTypes = DataTypePluginHelper::getDataTypePlugins("installationDatabaseReady", false);
        $L = Core::$language->getCurrentLanguageStrings();
        $hasError = false;
        $response = array();
        $count = 0;
        $folders = array();
        while (list($group_name, $dataTypes) = each($groupedDataTypes)) {
            $data = array();
            foreach ($dataTypes as $currDataType) {
                try {
                    list($success, $content) = $currDataType->install();
                    if (!$success) {
                        $hasError = true;
                        break;
                    }
                    $folder = $currDataType->getFolder();
                    $data[] = array("name" => $currDataType->getName(), "folder" => $folder, "desc" => $currDataType->getDesc());
                    $folders[] = $folder;
                    $count++;
                } catch (Exception $e) {
                    $hasError = true;
                    break;
                }
            }
            // organized in this data structure because objects lose their order
            $response[] = array("group_name" => $L[$group_name], "data_types" => $data);
        }
        // need error handling here
        Settings::setSetting("installedDataTypes", implode(",", $folders));
        $this->response["success"] = !$hasError;
        $this->response["content"] = array("total" => $count, "results" => $response);
    }