Beispiel #1
0
 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);
     }
 }