function cloneAction() { if (isset($_POST['clone'])) { $model = new Campaigns(); $campaigns = $model->getCampaigns(); AF::setJsonHeaders('json'); echo json_encode(array('campaigns' => $campaigns)); die; } if (isset($_POST['ajax'])) { AF::setJsonHeaders('json'); $campaign_id = AF::get($_POST, 'campaign_id', 0); $campprod_ids = AF::get($_POST, 'campship_id', 0); if (!$campprod_ids && !$campaign_id) { Message::echoJsonError(__('campship_id_not_found')); } $campprods = explode(',', $campprod_ids); $message = array(); $newIDs = array(); $isMany = count($campprods) > 1 ? true : false; $isThisCampaign = true; foreach ($campprods as $id) { $model = new CampaignShipping(); if (!$model->findByPk($id)) { if ($isMany) { continue; } Message::echoJsonError(__('campship_not_found')); } if ($model->campaign_id != $campaign_id) { $model->campaign_id = $campaign_id; $isThisCampaign = false; } if (!$model->cloneModel()) { if ($isMany) { continue; } Message::echoJsonError($model->errors2string); } $newID = $newIDs[] = $model->getPkValue(); $message[] = __('campship_cloned') . ' <a href="' . $this->controller . '/view/campaign_id=' . $campaign_id . '">' . __('view_campaign') . ' (ID: ' . $newID . ')</a><br>'; unset($model); } if (!$message) { Message::echoJsonError(__('campship_not_cloned')); } $message = implode($message); $newIDs = implode(',', $newIDs); $v = array('message' => $message); if ($isThisCampaign) { $v['newid'] = $newIDs; } Message::echoJsonSuccess($v); } }