/**
  * Update a specific email campaign
  * @param string $accessToken - Constant Contact OAuth2 access token
  * @param Campaign $campaign - Campaign to be updated
  * @return Campaign
  */
 public function updateCampaign($accessToken, Campaign $campaign)
 {
     $baseUrl = Configs::get('endpoints.base_url') . sprintf(Configs::get('endpoints.campaign'), $campaign->id);
     $url = $this->buildUrl($baseUrl);
     $response = parent::getRestClient()->put($url, parent::getHeaders($accessToken), $campaign->toJson());
     return Campaign::create(json_decode($response->body, true));
 }
 /**
  * Store a newly created resource in storage.
  * POST /campaigns
  *
  * @return Response
  */
 public function store()
 {
     $data = Input::all();
     $data['user_id'] = Auth::user()->id;
     $campaigns = Campaign::create($data);
     if ($campaigns) {
         return ['status' => true, 'data' => $campaigns];
     } else {
         return ['status' => false];
     }
 }
Example #3
0
 public function postCreate()
 {
     $data = Input::all();
     $data['item_vendor_id'] = Auth::user()->id;
     $validator = Validator::make($data, Campaign::$rules);
     if ($validator->passes()) {
         $campaign = Campaign::create($data);
         $cover = Input::file('cover', null);
         if (null !== $cover) {
             Croppa::delete('uploads/campaigns/covers/' . $id . '.png');
             $destination_path = 'uploads/campaigns/covers';
             $file_name = $category->id;
             $path_parts = explode('.', $cover->getClientOriginalName());
             $ext = $path_parts[count($path_parts) - 1];
             $cover_passes = Input::file('cover')->move($destination_path, $file_name . '.png');
         } else {
             $cover_passes = true;
         }
         if (is_bool($cover_passes) && $cover_passes == false) {
             return Redirect::back()->with('message', Lang::get('campaigns.cover.bad_upload_error'))->withInput();
         }
         $thumb = Input::file('thumb', null);
         if (null !== $thumb) {
             Croppa::delete('uploads/campaigns/thumbs/' . $id . '.png');
             $destination_path = 'uploads/campaigns/thumbs';
             $file_name = $category->id;
             $path_parts = explode('.', $thumb->getClientOriginalName());
             $ext = $path_parts[count($path_parts) - 1];
             $thumb_passes = Input::file('thumb')->move($destination_path, $file_name . '.png');
         } else {
             $thumb_passes = true;
         }
         if (is_bool($thumb_passes) && $thumb_passes == false) {
             return Redirect::back()->with('message', Lang::get('campaigns.thumb.bad_upload_error'))->withInput();
         }
         return Redirect::back()->with('message', Lang::get('campaigns.new.message', array('title' => Input::get('title'))));
     } else {
         return Redirect::back()->with('message', Lang::get('campaigns.new.error'))->withErrors($validator)->withInput();
     }
 }
Example #4
0
<?php

/**
 * Envoi d'une campagne de SMS
 *
 * PHP version 5
 *
 * @category Ajax
 * @package  LeQG
 * @author   Damien Senger <*****@*****.**>
 * @license  https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License 3.0
 * @link     http://leqg.info
 */
$campagne = array('titre' => $_GET['titre'], 'message' => $_GET['message']);
$campaign = Campaign::create('sms');
$campaign = new Campaign($campaign);
$campaign->update('titre', $campagne['titre']);
$campaign->update('message', $campagne['message']);
$var = $_GET;
$var['criteres'] = trim($var['criteres'], ';');
$campaign->addRecipients(People::listing($var, 0, false));
echo $campaign->get('id');
 * Création d'une nouvelle campagne Email
 *
 * PHP version 5
 *
 * @category Ajax
 * @package  LeQG
 * @author   Damien Senger <*****@*****.**>
 * @license  https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License 3.0
 * @link     http://leqg.info
 */
// On lance la création de la campagne
if (isset($_GET)) {
    // On récupère les données
    $user = User::ID();
    // On crée la nouvelle mission en récupérant l'identifiant créé
    $campagne = Campaign::create("email");
    // On tâche de récupérer la liste des contacts concernés par l'envoi
    $var = $_GET;
    // On retraite les critères complexes
    $var['criteres'] = trim($var['criteres'], ';');
    // On charge les identifiants des fiches correspondantes
    $contacts = People::listing($var, 0, false);
    // On prépare la requête d'ajout des destinataires
    $query = Core::query('campagne-destinataires');
    // On enregistre les contacts concernés
    foreach ($contacts as $contact) {
        $query->bindParam(':campagne', $campagne, PDO::PARAM_INT);
        $query->bindParam(':contact', $contact, PDO::PARAM_INT);
        $query->execute();
    }
    echo $campagne;
Example #6
0
<?php

$errors = array();
if (!empty($_POST)) {
    $domain = filter_input(INPUT_POST, 'domain', FILTER_SANITIZE_STRING);
    $own_domain = filter_input(INPUT_POST, 'own_domain', FILTER_SANITIZE_URL);
    $candidate_number = filter_input(INPUT_POST, 'candidate_number', FILTER_SANITIZE_NUMBER_INT);
    $plan_id = filter_input(INPUT_POST, 'plan_id', FILTER_SANITIZE_NUMBER_INT);
    $state = filter_input(INPUT_POST, 'state', FILTER_SANITIZE_NUMBER_INT);
    $city = filter_input(INPUT_POST, 'city', FILTER_SANITIZE_NUMBER_INT);
    $observations = filter_input(INPUT_POST, 'observations', FILTER_SANITIZE_STRING);
    $campaign = new Campaign(array('domain' => $domain, 'own_domain' => $own_domain, 'plan_id' => $plan_id, 'candidate_number' => $candidate_number, 'state' => $state, 'city' => $city, 'observations' => $observations));
    if ($campaign->validate()) {
        $campaign->create();
        if (switch_to_blog($campaign->blog_id)) {
            wp_redirect(home_url());
        } else {
            //TODO: improve error handling for campaign creation
            $errors = array('error' => Campaign::getStrings('NaoFoiPossivelCriar'));
        }
    } else {
        $errors = $campaign->errorHandler->errors;
    }
}
// hack to make the redirection above work (without using noheader
// the call to wp_redirect generate a headers already sent warning)
if (isset($_GET['noheader'])) {
    require_once ABSPATH . 'wp-admin/admin-header.php';
}
?>
Example #7
0
<?php

/**
 * Préparation d'une campagne de publipostage
 *
 * PHP version 5
 *
 * @category Ajax
 * @package  LeQG
 * @author   Damien Senger <*****@*****.**>
 * @license  https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License 3.0
 * @link     http://leqg.info
 */
$campagne = array('titre' => $_GET['titre'], 'message' => $_GET['message']);
$campaign = Campaign::create('publi');
$campaign = new Campaign($campaign);
$campaign->update('titre', $campagne['titre']);
$campaign->update('message', $campagne['message']);
$var = $_GET;
$var['criteres'] = trim($var['criteres'], ';');
$contacts = People::listing($var, 0, false);
$fichier = array();
$nomFichier = 'publi-' . md5($campaign->get('id')) . '.csv';
$file = fopen('exports/' . $nomFichier, 'w+');
$entete = array('nom', 'nom_usage', 'prenoms', 'numero', 'rue', 'cp', 'ville', 'pays', 'origine');
fputcsv($file, $entete, ';', '"');
foreach ($contacts as $contact) {
    $person = new People($contact);
    $address = $person->postal_array();
    if (isset($address['reel'])) {
        $address = $address['reel'];