Congés Joseph

Sujet sensible :

Retargeting → Parti Wordpress + Tool (indissociable) → Julien

Age-gate + advert post (compliance) → Vale / Max

Plugin Habillage → Max

Table-maker → Joe

betsapi → Joe

Joseph du lundi 28/02 au 04/03 - Urgence : 06.61.82.37.40

Backup infogerance : proxmox → Yann ? pct restart 102

Martin : lead Daily + bonus code + MU plugin + TMA

Ignacio : Display Habillage + Migration + TMA + solobasket (drupal)

Julia : NSNTIPS + TMA WORDPRESS + Sql optimisation (noé nexylan) Frederick : 01/03 arrivé Asana ok + projet bonus code

Tatiana : TopStories + COPYLAUNCH

Joseph du lundi 19/07 au 01/08 - Urgence : 06.61.82.37.40

Les informations concernant l'infrastructure, toutes machine sont accessible depuis le proxmox et les mots de passe des VM sont dans le playbook ansible sur gitlab dans le dossier group_vars

SysAdmin - Proxmox (WARNING)

Vous devez tous avoir access à n-admin (https://n-admin.nexylan.com) seo@north-star.network / oZ203!iLLlu#

https://logs.nexylan.net/search → verifier les logs et être sur qu'il n'y pas d'anomalie nsn / bKy6c5AuEwWvRf6wK3m4

tinker artisan || tinkerwell

$websites = Website::whereHas('campaigns', function($query) {
  $query->whereEnable(1);
})->get();

foreach ($websites as $website) {
  try {
    dump(sprintf('Site: %s - Try deploiement !', $website->url));
    $campaignsList = [];
            foreach ($website->campaigns as $campaign) {
                if ($campaign->enable) {
                    $nameCampaign = str_replace([' ','(', ')'], '-', ($campaign->customer->name ?? '').($campaign->retarget->name ?? ''));
                    $campaignsList[$nameCampaign]['priority'] = $campaign->priority;
                    if ($campaign->retarget instanceof AffiliateLink) {
                        $excludeUrls = preg_split('/(\r\n|\n)/', $campaign->websites->firstWhere('id', $website->id)->pivot->exclude_urls) ?? [];
                        $allowedUrls = preg_split('/(\r\n|\n)/', $campaign->websites->firstWhere('id', $website->id)->pivot->allowed_urls) ?? [];
                        if ($campaign->is_proxy) {
                            $retargetUrl = '//nsmedia-advertising.com/?l='.$campaign->retarget->uuid;
                        } else {
                            $retargetUrl = str_replace(['https://', 'http://'], '//', $campaign->retarget->url);
                        }
                        $campaignsList[$nameCampaign]['global'] = [
                            [
                                'iframe'   => $retargetUrl,
                                'link'     => $retargetUrl,
                                'imageUrl' => !is_null($campaign->retarget->banner_name) ? $campaign->retarget->banner_name : $campaign->customer->banner_name,
                                'excludeUrls' => $excludeUrls,
                                'allowedUrls' => $allowedUrls,

                            ]
                        ];
                    }
                    foreach ($campaign->customRegion as $region) {
                        $excludeUrls = preg_split('/(\r\n|\n)/', $campaign->websites->firstWhere('id', $website->id)->pivot->exclude_urls) ?? [];
                        $allowedUrls = preg_split('/(\r\n|\n)/', $campaign->websites->firstWhere('id', $website->id)->pivot->allowed_urls) ?? [];
                        $retargetUrl = str_replace(['https://', 'http://'], '//', $region->url);
                        $campaignsList[$nameCampaign][$region['region']] = [
                            [
                                'iframe'   => $retargetUrl,
                                'link'     => $retargetUrl,
                                'imageUrl' => $campaign->customer->banner_name,
                                'excludeUrls' => $excludeUrls,
                                'allowedUrls' => $allowedUrls,
                            ]
                        ];
                    }
                }
            }
    if ($website->category == "White Label" || $website->type != "wordpress") {
                $config = json_encode(array(
                    'logged'                => false,
                    'ajaxUrl'               => '',
                    'monitoring'            => false,
                    'cookieName'            => 'cookie_notice_accepted',
                    'cookieTime'            => 2592000,
                    'cookieTimeRejected'    => 3600,
                    'cookiePath'            => '/',
                    'cookieDomain'          => '',
                    'cache'                 => 1,
                    'secure'                => 1,
                    'campaigns'             => json_encode($campaignsList),
                    'cookieRequired'        => false,
                ));

                $token = "JHYTRESD76543HGEZF";
                $hash = md5($website->domain->domain. $token);
                $url = "https://campaigns-ad.s3.eu-west-2.amazonaws.com/campaigns-ad/js/$hash.js";
                $file = Gitlab::repositoryFiles()->getFile(117, 'js/retargetting.min.js', self::BRANCH);
                $file = base64_decode($file['content']);
                $file = Str::replaceFirst('"IMPORT_CONFIG"', $config, $file);
                Storage::disk('campaigns')->put("js/$hash.js", $file);
                $website->update(['s3-script' => $url]);
            } else {

                $website->wpcli()->setOption('cookie-drop_campaigns', json_encode($campaignsList), '--format=json');
                CloudFlare::clearCache($website);
            }
  } catch (\Exception $e) {
    dump(sprintf('Site: %s - Error: %s', $website->url, $e->getMessage()));
  }
}