public function actionCreate() { switch ($_GET['model']) { // Get an instance of the respective model case 'Contacts': $model = new Contacts(); $this->modelClass = "Contacts"; $temp = $model->attributes; break; case 'Actions': $model = new Actions(); $this->modelClass = "Actions"; $temp = $model->attributes; break; case 'Accounts': $model = new Accounts(); $this->modelClass = "Accounts"; $temp = $model->attributes; break; default: $this->_sendResponse(501, sprintf('Mode <b>create</b> is not implemented for model <b>%s</b>', $_GET['model'])); exit; } // Try to assign POST values to attributes foreach ($_POST as $var => $value) { // Does the model have this attribute? If not raise an error if ($model->hasAttribute($var)) { $model->{$var} = $value; } } switch ($_GET['model']) { // Get an instance of the respective model case 'Contacts': Yii::import("application.modules.contacts.controllers.DefaultController"); $controller = new DefaultController('DefaultController'); if ($controller->create($model, $temp, '1')) { $this->_sendResponse(200, sprintf('Model <b>%s</b> was created with name <b>%s</b>', $_GET['model'], $model->firstName . " " . $model->lastName)); } else { // Errors occurred $msg = "<h1>Error</h1>"; $msg .= sprintf("Couldn't create model <b>%s</b>", $_GET['model']); $msg .= "<ul>"; foreach ($model->errors as $attribute => $attr_errors) { $msg .= "<li>Attribute: {$attribute}</li>"; $msg .= "<ul>"; foreach ($attr_errors as $attr_error) { $msg .= "<li>{$attr_error}</li>"; } $msg .= "</ul>"; } $msg .= "</ul>"; $this->_sendResponse(500, $msg); } break; case 'Accounts': Yii::import("application.modules.accounts.controllers.DefaultController"); $controller = new DefaultController('DefaultController'); if ($controller->create($model, $temp, '1')) { $this->_sendResponse(200, sprintf('Model <b>%s</b> was created with name <b>%s</b>', $_GET['model'], $model->name)); } else { // Errors occurred $msg = "<h1>Error</h1>"; $msg .= sprintf("Couldn't create model <b>%s</b>", $_GET['model']); $msg .= "<ul>"; foreach ($model->errors as $attribute => $attr_errors) { $msg .= "<li>Attribute: {$attribute}</li>"; $msg .= "<ul>"; foreach ($attr_errors as $attr_error) { $msg .= "<li>{$attr_error}</li>"; } $msg .= "</ul>"; } $msg .= "</ul>"; $this->_sendResponse(500, $msg); } break; case 'Actions': Yii::import("application.modules.actions.controllers.DefaultController"); $controller = new DefaultController('DefaultController'); if ($controller->create($model, $temp, '1')) { $this->_sendResponse(200, sprintf('Model <b>%s</b> was created with description <b>%s</b>', $_GET['model'], $model->actionDescription)); } else { // Errors occurred $msg = "<h1>Error</h1>"; $msg .= sprintf("Couldn't create model <b>%s</b>", $_GET['model']); $msg .= "<ul>"; foreach ($model->errors as $attribute => $attr_errors) { $msg .= "<li>Attribute: {$attribute}</li>"; $msg .= "<ul>"; foreach ($attr_errors as $attr_error) { $msg .= "<li>{$attr_error}</li>"; } $msg .= "</ul>"; } $msg .= "</ul>"; $this->_sendResponse(500, $msg); } break; default: $this->_sendResponse(501, sprintf('Mode <b>create</b> is not implemented for model <b>%s</b>', $_GET['model'])); exit; } }