session["userId"]) )){
$persons=PHDB::find(Person::COLLECTION);
foreach($persons as $key => $data){
if(isset($data["links"]["followers"]) || isset($data["links"]["follows"])){
$followers=array();
$follows=array();
if(isset($data["links"]["followers"]) && !empty($data["links"]["followers"])){
$followers=$data["links"]["followers"];
}
if(isset($data["links"]["follows"]) && !empty($data["links"]["follows"])){
$follows=$data["links"]["follows"];
}
PHDB::update(Person::COLLECTION,
array("_id" => $data["_id"]) ,
array('$unset' => array("links.followers" => ""))
);
PHDB::update(Person::COLLECTION,
array("_id" => $data["_id"]) ,
array('$unset' => array("links.follows" => ""))
);
if(!empty($followers)){
//foreach ($followers as $uid => $e){
PHDB::update(Person::COLLECTION,
array("_id" => $data["_id"]) ,
array('$set' => array("links.follows" => $followers))
);
//}
}
if (!empty($follows)){
foreach ($follows as $uid => $e){
if($e["type"]=="citoyens"){
PHDB::update(Person::COLLECTION,
array("_id" => $data["_id"]) ,
array('$set' => array("links.followers.".$uid => $e))
);
} else {
PHDB::update(Person::COLLECTION,
array("_id" => $data["_id"]) ,
array('$set' => array("links.follows.".$uid => $e))
);
}
}
}
$newLinks=PHDB::findOneById(Person::COLLECTION ,$data["_id"]);
echo "
/////////////////////////// NEW LINK ////////////////////
";
print_r($newLinks["links"]);
}
}
}
}
//Refactor permettant de mettre la size des doc en bytes type string
// Pas encore Passez en prod et dev
// A lancer une fois pour que ce soit stocké en int32 ou int64
public function actionChangeSizeDocumentToBytesNumber(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
$document=PHDB::find(Document::COLLECTION);
$nbDoc=count($document);
echo "Nombre de documents appelés : ".$nbDoc;
$i=0;
foreach($document as $key => $data){
if(@$data["size"]){
$size="";
echo "
".$data["_id"]."//".$data["size"]."///";
echo gettype($data["size"]);
if(gettype($data["size"])=="double"){
$size = (int)$data["size"];
}
if (strstr($data["size"], 'M', true)){
$size=((float)$data["size"])*1048576;
}
else if(strstr($data["size"], 'K', true)){
$size = (float)($data["size"])*1024;
}
$i++;
if(@$size && !empty($size)){
echo "new size : ".$size;
PHDB::update(Document::COLLECTION,
array("_id" => $data["_id"]) ,
array('$set' => array("size" => (int)$size))
);
}
}
}
echo "Nombre de documents traités pour la size : ".$i;
}
}
//Refactor of contentKey
//@param string contentKey type type.view.contentKey become contentKey
//!!!!!!!!!!!! CAREFULLY THIS METHOD IS FOR COMMUNECTER AND NOT FOR GRANDDIR !!!!!!!!!!!!!!!!!//////
// For the moment refactorContentKey change all contentKey to profil
// Function need to be change with an explode and $contentKey = $explode[2] for granddir
public function actionRefactorContentKey(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
$document=PHDB::find(Document::COLLECTION);
$nbDoc=count($document);
echo "Nombre de documents appelés : ".$nbDoc;
$i=0;
foreach($document as $key => $data){
if(strstr($data["contentKey"],'.')){
echo $data["contentKey"]."
";
PHDB::update(Document::COLLECTION,
array("_id" => $data["_id"]) ,
array('$set' => array("contentKey" => "profil"))
);
$i++;
}
}
echo "Nombre de documents concerné par le refactor : ".$i;
}
}
// Washing of docmuent
// Wash data with array in params @size which could be string
// Wash data with no type or no id, represent the target of the document
// Wash data with no contentKey
public function actionWashIncorrectAndOldDataDocument(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
$document=PHDB::find(Document::COLLECTION);
$nbDoc=count($document);
echo "Nombre de documents appelés : ".$nbDoc;
$nbDocSizeIsArray=0;
$nbDocNoTypeOrNoId=0;
$nbDocNoContentKey=0;
foreach($document as $key => $data){
if(gettype($data["size"])=="array"){
echo "
//////// This document content an array for size :
";
print_r($data);
PHDB::remove(Document::COLLECTION,array("_id" => $data["_id"]));
$nbDocSizeIsArray++;
}
if( !@$data["type"] || !@$data["id"] || empty($data["type"]) || empty($data["id"])){
echo "
//////// This document doesn't content any type or id :
";
print_r($data);
PHDB::remove(Document::COLLECTION,array("_id" => $data["_id"]));
$nbDocNoTypeOrNoId++;
}
if( !@$data["contentKey"] || empty($data["contentKey"])){
echo "
//////// This document doesn't content any contentKey :
";
print_r($data);
PHDB::remove(Document::COLLECTION,array("_id" => $data["_id"]));
$nbDocNoContentKey++;
}
}
echo "////////
Nombre de documents sans type ou id: ".$nbDocNoTypeOrNoId;
echo "////////
Nombre de documents sans contentKey: ".$nbDocNoContentKey;
echo "////////
Nombre de documents avec size comme array: ".$nbDocSizeIsArray;
}
}
/*
* Upload image from media type url content
* Condition: if not from communevent
* News uploadNewsImage
* Update link @param media.content.image in news collection
*/
public function actionUploadImageFromMediaUrlNews(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
$news=PHDB::find(News::COLLECTION);
$i=0;
foreach($news as $key => $data){
if(@$data["media"] && @$data["media"]["content"] && @$data["media"]["content"]["image"] && !@$data["media"]["content"]["imageId"]){
if (strstr($data["media"]["content"]["image"],"upload/communecter/news/")==false){
sleep(1);
echo $data["media"]["content"]["image"]."
";
$returnUrl=News::uploadNewsImage($data["media"]["content"]["image"],$data["media"]["content"]["imageSize"],$data["author"]);
$newUrl= Yii::app()->baseUrl."/".$returnUrl;
echo 'Nouvelle url
'.$newUrl."
/////////////
";
PHDB::update(News::COLLECTION,
array("_id" => $data["_id"]) ,
array('$set' => array("media.content.image" => $newUrl))
);
$i++;
}
}
}
echo "nombre de news avec images provenant d'un autre site////////////// ".$i;
}
}
/*
* update type french instead of key
*/
public function actionUpdateTypeRessources(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
$ress=PHDB::find(Ressource::COLLECTION);
$i=0;
foreach($ress as $key => $data){
$label="";
if(@$data["type"]=="compétence")
$label="competence";
else if(@$data["type"]=="matériel")
$label="material";
if($label!=""){
echo '=>Ressoruce id : '.$key."
last type : ".$data["type"]."///// New type : ".$label."
";
PHDB::update(Ressource::COLLECTION,
array("_id" => $data["_id"]) ,
array('$set' => array("type" => $label))
);
$i++;
}
}
echo "nombre de ressource updaté type to clé////////////// ".$i;
}
}
/*
* Scope public in news not well formated (ancient news)
* Condition: if not from communevent
* News uploadNewsImage
* Update link @param media.content.image in news collection
*/
public function actionBashRepareBulshit(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
$news=PHDB::find(News::COLLECTION);
$nbNews=count($news);
$i=0;
$newsWrong=0;
$nbNewsGood=0;
foreach($news as $key => $data){
if($data["scope"]["type"]=="public"){
if(!@$data["scope"]["cities"][0]){
$newScopeArray=array("type"=>"public","cities"=>array());
if($data["type"]=="activityStream"){
$object=PHDB::findOne($data["object"]["objectType"],array("_id"=>new MongoId($data["object"]["id"])));
$newScopeArray["cities"][0]["codeInsee"]=$object["address"]["codeInsee"];
$newScopeArray["cities"][0]["postalCode"]=$object["address"]["postalCode"];
$newScopeArray["cities"][0]["geo"]=$object["geo"];
PHDB::update(News::COLLECTION,
array("_id" => $data["_id"]) ,
array('$set' => array("scope" => $newScopeArray)
));
$newsWrong++;
}
/*else{
if($data["target"]["type"]=="pixels"){
$author=PHDB::findOne(Person::COLLECTION,array("_id"=>new MongoId($data["author"])));
$newScopeArray["cities"][0]["codeInsee"]=$author["address"]["codeInsee"];
$newScopeArray["cities"][0]["postalCode"]=$author["address"]["postalCode"];
$newScopeArray["cities"][0]["geo"]=$author["geo"];
}else {
$target=PHDB::findOne($data["target"]["type"],array("_id"=>new MongoId($data["target"]["id"])));
$newScopeArray["cities"][0]["codeInsee"]=$target["address"]["codeInsee"];
$newScopeArray["cities"][0]["postalCode"]=$target["address"]["postalCode"];
$newScopeArray["cities"][0]["geo"]=$target["geo"];
}
PHDB::update(News::COLLECTION,
array("_id" => $data["_id"]) ,
array('$set' => array("scope" => $newScopeArray)
));
}*/
}
else{
$nbNewsGood++;
}
}
}
echo "nombre total de news: ".$nbNews."news";
echo "nombre de news mauvaise: ".$newsWrong."news";
echo "nombre de news good: ".$nbNewsGood."news";
}
}
/*
* Scope public in news not well formated (ancient news)
* Condition: if not from communevent
* News uploadNewsImage
* Update link @param media.content.image in news collection
*/
public function actionBashNewsWrongScope(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
$news=PHDB::find(News::COLLECTION);
$i=0;
$nbCityCodeInsee=0;
$nbCityName=0;
$nbtodelete=0;
$nbCityNotFindName=0;
foreach($news as $key => $data){
if($data["scope"]["type"]=="public"){
if(@$data["scope"]["cities"]){
$newScopeArray=array("type"=>"public","cities"=>array());
if(@$data["scope"]["cities"][0] && gettype($data["scope"]["cities"][0])=="string"){
echo "
////////id News: ".$key. "/////////"; print_r($data["scope"]);
foreach($data["scope"]["cities"] as $value){
if(is_numeric($value)){
echo "
ici numérique:".$value;
$city=PHDB::findOne(City::COLLECTION, array("insee" => $value));
$newScopeArray["cities"][0]["codeInsee"]=$value;
$newScopeArray["cities"][0]["postalCode"]=$city["postalCodes"][0]["postalCode"];
if(@$data["geo"]){
$newScopeArray["cities"][0]["geo"]=$data["geo"];
}else{
$newScopeArray["cities"][0]["geo"]=$city["geo"];
}
$nbCityCodeInsee++;
} else {
echo "
ici non numérique mais string: ".$value;
if($value=="LA RIVIERE"){
$newScopeArray["cities"][0]["codeInsee"]="97414";
$newScopeArray["cities"][0]["postalCode"]="97421";
$newScopeArray["cities"][0]["geo"]=array('@type' => 'GeoCoordinates','latitude'=>'-21.25833300','longitude'=>'55.44166700');
$nbCityName++;
}
else{
$city = PHDB::findOne(City::COLLECTION, array("alternateName" =>$value));
if(!empty($city)){
$newScopeArray["cities"][0]["codeInsee"]=$city["insee"];
$newScopeArray["cities"][0]["postalCode"]=$city["postalCodes"][0]["postalCode"];
$newScopeArray["cities"][0]["geo"]=$city["geo"];
$nbCityName++;
}else{
echo "ici";
$newScopeArray["cities"][0]="wrong";
$nbCityNotFindName++;
}
}
}
echo "
===>News array scope: ///
";
print_r($newScopeArray);
echo "
";
}
PHDB::update(News::COLLECTION,
array("_id" => $data["_id"]) ,
array('$set' => array("scope" => $newScopeArray)
));
$i++;
} else {
if (!@$data["scope"]["cities"][0])
{
echo "
/////////////////// PAS DE 00000 ////////////////////
";
$insee=false;
foreach($data["scope"]["cities"] as $value){
if(is_numeric($value)){
$insee=$value;
}
}
if($insee){
echo "
ici numérique:".$value;
$city=PHDB::findOne(City::COLLECTION, array("insee" => $value));
$newScopeArray["cities"][0]["codeInsee"]=$value;
$newScopeArray["cities"][0]["postalCode"]=$city["postalCodes"][0]["postalCode"];
if(@$data["geo"]){
$newScopeArray["cities"][0]["geo"]=$data["geo"];
}else{
$newScopeArray["cities"][0]["geo"]=$city["geo"];
}
$nbCityCodeInsee++;
$i++;
print_r($newScopeArray);
echo "
";
PHDB::update(News::COLLECTION,
array("_id" => $data["_id"]) ,
array('$set' => array("scope" => $newScopeArray)
));
}
}
}
}
else{
echo "
////news to delete avec wrong scope/////
";
print_r($data["scope"]);
$nbtodelete++;
echo "
";
PHDB::remove(News::COLLECTION, array("_id"=>$data["_id"]));
$i++;
}
}
}
echo "nombre de news avec insee enregistré: ".$nbCityCodeInsee."news";
echo "nombre de news avec name enregistré: ".$nbCityName."news";
echo "nombre de news à supprimer: ".$nbtodelete."news";
echo "nombre de news avec city non trouvé: ".$nbCityNotFindName."news";
echo "nombre de news avec data publique not well formated: ".$i."news";
}
}
/* First refactor à faire sur communecter.org
* Remove all id and type in and object target.id, target.type
* => Modify target type city to target.id=author, target.type=Person::COLLECTION
* => Add @params type string "news" OR "activityStream"
*/
public function actionRefactorNews(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
$news=PHDB::find(News::COLLECTION);
$i=0;
foreach($news as $key => $data){
if(@$data["type"] && $data["type"]!="activityStream"){
//print_r($data["_id"]);
// add une target au lieu de id et type et type devient news
// pour les type city => la target devient l'auteur
if($data["type"]!="news"){
if(@$data["id"]){
$parentType=$data["type"];
$parentId=$data["id"];
if($parentType=="city"){
$parentType=Person::COLLECTION;
$parentId=$data["author"];
}
PHDB::update(News::COLLECTION,
array("_id" => $data["_id"]) ,
array('$set' => array("target.type" => $parentType,"target.id"=>$parentId, "type" => "news"),'$unset' => array("id"=>""))
);
$i++;
} else if($data["type"]=="pixels"){
PHDB::update(News::COLLECTION,
array("_id" => $data["_id"]) ,
array('$set' => array("target.type" => "pixels","target.id"=>"", "type" => "news"),'$unset' => array("id"=>""))
);
$i++;
}
}
// print_r($data);
}
if(@$data["type"] && $data["type"]=="activityStream"){
if(@$data["target"]){
//adapter le vocubulaire de target pour qu'il soit comment au news type "news"
// passe target.objectType à target.type
$parentType=$data["target"]["objectType"];
// $parentId=$data["id"];
PHDB::update(News::COLLECTION,
array("_id" => $data["_id"]) ,
array('$set' => array("target.type" => $parentType),'$unset' => array("target.objectType"=>""))
);
$i++;
}
}
}
echo "nombre de news ////////////// ".$i;
}
}
// Second refactor à faire sur communecter.org qui permet de netoyer les news sans scope
public function actionWashingNewsNoScopeType(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
$news=PHDB::find(News::COLLECTION);
foreach($news as $key => $data){
if(!@$data["scope"]["type"]){
print_r($data);
PHDB::remove(News::COLLECTION, array("_id"=>new MongoId($key)));
}
}
}
}
// Second refactor à faire sur communecter.org qui permet de netoyer les news sans scope
public function actionUpdateTypeInCollectionsLinkToClassifieds(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
echo "--------------------------------------------------------------------------------
".
"---------------------------------------DOCUMENTS-------------------------------
".
"--------------------------------------------------------------------------------
";
$documents=PHDB::find(Document::COLLECTION,array('$or'=>array(array("type"=>"classified"), array("type"=>"ressources"))));
$documentNb=0;
foreach ($documents as $key => $value) {
echo "Document modified :".$key."
";
echo "type:".$value["type"]." devient classifieds
";
$value["type"]="classifieds";
$value["folder"]=preg_replace("/ressources/", "classifieds", $value["folder"]);
$value["folder"]=preg_replace("/classified/", "classifieds", $value["folder"]);
echo "folder:".$value["folder"]."
";
echo "---------------------------------------------------
";
PHDB::update(Document::COLLECTION,
array("_id" => $value["_id"]) ,
array('$set' => array("type" => $value["type"], "folder"=>$value["folder"]))
);
$documentNb++;
}
echo "Nombre de documents modifier : ".$documentNb."
";
echo "--------------------------------------------------------------------------------
".
"------------------------------------NOTIFS--------------------------------------
".
"--------------------------------------------------------------------------------
";
$activityStream=PHDB::find(ActivityStream::COLLECTION,array("type"=>"notifications",'$or'=>array(array("target.type"=>"classified"), array("target.type"=>"ressources"))));
$activityStreamNb=0;
foreach ($activityStream as $key => $value) {
echo "Notifs modified :".$key."
";
echo "type:".$value["target"]["type"]." devient classifieds
";
$targetType="classifieds";
$set=array("target.type"=>"classifieds");
if(@$value["notify"] && @$value["notify"]["url"]){
$url=preg_replace("/ressources/", "classifieds", $value["notify"]["url"]);
$url=preg_replace("/classified/", "classifieds", $value["notify"]["url"]);
echo "notify.url:".$url."
";
$set["notify.url"]=$url;
}
print_r($set);
echo "---------------------------------------------------
";
PHDB::update(ActivityStream::COLLECTION,
array("_id" => $value["_id"]) ,
array('$set' => $set)
);
$activityStreamNb++;
}
echo "Nombre de notifications modifier : ".$activityStreamNb."
";
echo "--------------------------------------------------------------------------------
".
"---------------------------------COMMENTS------------------------------------------
".
"--------------------------------------------------------------------------------
";
$comments=PHDB::find(Comment::COLLECTION,array('$or'=>array(array("contextType"=>"classified"), array("contextType"=>"ressources"))));
$commentsNb=0;
foreach ($comments as $key => $value) {
echo "Comment modified :".$key."
";
echo "contextType:".$value["contextType"]." devient classifieds
";
//$targetType="classifieds";
$set=array("contextType"=>"classifieds");
print_r($set);
echo "---------------------------------------------------
";
PHDB::update(Comment::COLLECTION,
array("_id" => $value["_id"]) ,
array('$set' => $set)
);
$commentsNb++;
}
echo "Nombre de comments modifier : ".$commentsNb."
";
echo "--------------------------------------------------------------------------------
".
"---------------------------------NEWS------------------------------------------
".
"--------------------------------------------------------------------------------
";
$news=PHDB::find(News::COLLECTION,array('$or'=>array(array("object.type"=>"classified"), array("object.type"=>"ressources"))));
$newsNb=0;
foreach ($news as $key => $value) {
echo "News modified :".$key."
";
echo "contextType:".$value["object"]["type"]." devient classifieds
";
//$targetType="classifieds";
$set=array("object.type"=>"classifieds");
print_r($set);
echo "---------------------------------------------------
";
PHDB::update(News::COLLECTION,
array("_id" => $value["_id"]) ,
array('$set' => $set)
);
$newsNb++;
}
echo "Nombre de news modifier : ".$newsNb;
}else
echo "hi han dis l'ane";
}
// Refactor classifieds
public function actionUpdateDateInDB(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
$classifieds=PHDB::find(Classified::COLLECTION);
foreach($classifieds as $key => $v){
PHDB::update(Classified::COLLECTION,
array("_id" => $v["_id"]) ,
array('$set' => array("modified"=>new MongoDate($v["modified"]["sec"])))
);
}
echo "done mon petit";
}
}
// Refactor classifieds
public function actionUpdateLineInDB(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
$classifieds=PHDB::find(Classified::COLLECTION);
foreach($classifieds as $key => $v){
if(is_array($v["updated"])){
PHDB::update(Classified::COLLECTION,
array("_id" => $v["_id"]) ,
array('$set' => array("updated"=> $v["updated"]["sec"]))
);
}
/*PHDB::update(Classified::COLLECTION,
array("_id" => $v["_id"]) ,
array('$set' => array("updated"=> strtotime ($v["updated"]["sec"]), "created"=>strtotime ($v["created"]["sec"])))
);*/
}
echo "impressionnant";
}
}
// Refactor classifieds
public function actionUpdateClassifiedAndMergeRessources(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
$classifieds=PHDB::find(Classified::COLLECTION);
$allClassifieds=[];
foreach($classifieds as $key => $data){
$data["_id"]=array('$oid'=>(string)$data["_id"]);
if(@$data["section"]=="job"){
$data["subtype"]=strtolower($data["type"]);
$data["type"]="jobs";
$data["section"]="offer";
$data["category"]="joboffer";
if(@$data["profilImageUrl"]) $data["profilImageUrl"]=preg_replace("/classified/", "classifieds", $data["profilImageUrl"]);
if(@$data["profilThumbImageUrl"]) $data["profilThumbImageUrl"]=preg_replace("/classified/", "classifieds", $data["profilThumbImageUrl"]);
if(@$data["profilMarkerImageUrl"]) $data["profilMarkerImageUrl"]=preg_replace("/classified/", "classifieds", $data["profilMarkerImageUrl"]);
if(@$data["profilMediumImageUrl"]) $data["profilMediumImageUrl"]=preg_replace("/classified/", "classifieds", $data["profilMediumImageUrl"]);
//print_r($data);
//echo "----------------------------------------
";
array_push($allClassifieds, $data);
//PHDB::remove(News::COLLECTION, array("_id"=>new MongoId($key)));
} else if($data["section"]=="Vendre" || $data["section"]=="forsale"){
//echo "Classified type classifieds (for sale) :".$key."
";
$data["category"]=strtolower($data["type"]);
$data["type"]="classifieds";
$data["section"]="forsale";
$data["subtype"]=strtolower(@$data["subtype"]);
//print_r($data);
if(@$data["profilImageUrl"]) $data["profilImageUrl"]=preg_replace("/classified/", "classifieds", $data["profilImageUrl"]);
if(@$data["profilThumbImageUrl"]) $data["profilThumbImageUrl"]=preg_replace("/classified/", "classifieds", $data["profilThumbImageUrl"]);
if(@$data["profilMarkerImageUrl"]) $data["profilMarkerImageUrl"]=preg_replace("/classified/", "classifieds", $data["profilMarkerImageUrl"]);
if(@$data["profilMediumImageUrl"]) $data["profilMediumImageUrl"]=preg_replace("/classified/", "classifieds", $data["profilMediumImageUrl"]);
array_push($allClassifieds, $data);
//echo "----------------------------------------
";
}else if($data["section"]=="Louer" || $data["section"]=="forrent"){
//echo "Classified type classifieds (for rent) :".$key."
";
$data["category"]=strtolower($data["type"]);
$data["type"]="classifieds";
$data["section"]="forrent";
$data["subtype"]=strtolower(@$data["subtype"]);
//print_r($data);
if(@$data["profilImageUrl"]) $data["profilImageUrl"]=preg_replace("/classified/", "classifieds", $data["profilImageUrl"]);
if(@$data["profilThumbImageUrl"]) $data["profilThumbImageUrl"]=preg_replace("/classified/", "classifieds", $data["profilThumbImageUrl"]);
if(@$data["profilMarkerImageUrl"]) $data["profilMarkerImageUrl"]=preg_replace("/classified/", "classifieds", $data["profilMarkerImageUrl"]);
if(@$data["profilMediumImageUrl"]) $data["profilMediumImageUrl"]=preg_replace("/classified/", "classifieds", $data["profilMediumImageUrl"]);
array_push($allClassifieds, $data);
//echo "----------------------------------------
";
}else if($data["section"]=="Donner" || $data["section"]=="donation" || $data["section"]=="Partager" || $data["section"]=="sharing"){
//echo "Classified type ressources (offer) :".$key."
";
$data["category"]="isToImplemant";
$data["subtype"]="isToImplemant";
$data["type"]="ressources";
$data["section"]="offer";
if(@$data["profilImageUrl"]) $data["profilImageUrl"]=preg_replace("/classified/", "classifieds", $data["profilImageUrl"]);
if(@$data["profilThumbImageUrl"]) $data["profilThumbImageUrl"]=preg_replace("/classified/", "classifieds", $data["profilThumbImageUrl"]);
if(@$data["profilMarkerImageUrl"]) $data["profilMarkerImageUrl"]=preg_replace("/classified/", "classifieds", $data["profilMarkerImageUrl"]);
if(@$data["profilMediumImageUrl"]) $data["profilMediumImageUrl"]=preg_replace("/classified/", "classifieds", $data["profilMediumImageUrl"]);
if(@$data["devise"]) unset($data["devise"]);
//print_r($data);
array_push($allClassifieds, $data);
//echo "----------------------------------------
";
}else if($data["section"]=="lookingfor" || $data["section"]=="Besoin"){
//echo "Classified type ressources (need) :".$key."
";
$data["category"]="isToImplemant";
$data["subtype"]="isToImplemant";
$data["type"]="ressources";
$data["section"]="need";
if(@$data["devise"]) unset($data["devise"]);
//print_r($data);
if(@$data["profilImageUrl"]) $data["profilImageUrl"]=preg_replace("/classified/", "classifieds", $data["profilImageUrl"]);
if(@$data["profilThumbImageUrl"]) $data["profilThumbImageUrl"]=preg_replace("/classified/", "classifieds", $data["profilThumbImageUrl"]);
if(@$data["profilMarkerImageUrl"]) $data["profilMarkerImageUrl"]=preg_replace("/classified/", "classifieds", $data["profilMarkerImageUrl"]);
if(@$data["profilMediumImageUrl"]) $data["profilMediumImageUrl"]=preg_replace("/classified/", "classifieds", $data["profilMediumImageUrl"]);
array_push($allClassifieds, $data);
//echo "----------------------------------------
";
}
echo json_encode($data);
}
$ressources=PHDB::find(Ressource::COLLECTION);
foreach($ressources as $key => $data){
$data["_id"]=array('$oid'=>(string)$data["_id"]);
//echo "Classified type ressources :".$key."
";
$data["category"]=$data["type"];
$data["type"]="ressources";
if(@$data["profilImageUrl"]) $data["profilImageUrl"]=preg_replace("/ressources/", "classifieds", $data["profilImageUrl"]);
if(@$data["profilThumbImageUrl"]) $data["profilThumbImageUrl"]=preg_replace("/ressources/", "classifieds", $data["profilThumbImageUrl"]);
if(@$data["profilMarkerImageUrl"]) $data["profilMarkerImageUrl"]=preg_replace("/ressources/", "classifieds", $data["profilMarkerImageUrl"]);
if(@$data["profilMediumImageUrl"]) $data["profilMediumImageUrl"]=preg_replace("/ressources/", "classifieds", $data["profilMediumImageUrl"]);
//print_r($data);
//echo "----------------------------------------
";
array_push($allClassifieds, $data);
// echo json_encode($data);
}
//echo "
JSON CLASSIFIEDS GENERATE
";
//echo json_encode($allClassifieds);
}else{
echo "hello l'artiste !! What's up baby ?";
}
}
// Troisième refactor à faire sur communecter.org qui permet de netoyer les news sans target
public function actionWashingNewsNoTarget(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
$news=PHDB::find(News::COLLECTION);
$i=0;
$nbNews=count($news);
echo "Nombre de documents appelés : ".$nbNews;
foreach($news as $key => $data){
if($data["type"]=="news" && !@$data["target"]){
$i++;
print_r($data);
PHDB::remove(News::COLLECTION, array("_id"=>new MongoId($key)));
// PHDB::remove(News::COLLECTION, array("_id"=>new MongoId($key)));
}
else if ($data["type"]=="activityStream" && !@$data["target"]){
$i++;
print_r($data);
PHDB::update(News::COLLECTION,
array("_id" => $data["_id"]) ,
array('$set' => array("target.type" => Person::COLLECTION,"target.id"=>$data["author"])));
//PHDB::update(News::COLLECTION, array("_id"=>new MongoId($key)));
// PHDB::remove(News::COLLECTION, array("_id"=>new MongoId($key)));
}
}
echo "nombre de news traitées ////////////// ".$i;
}
}
// Delete news with object gantts and needs
public function actionDeleteNewsGanttsNeeds(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
$newsNeeds=PHDB::find(News::COLLECTION,array("type"=>"activityStream","object.objectType"=>"needs"));
$newsGantts=PHDB::find(News::COLLECTION,array("type"=>"activityStream","object.objectType"=>"gantts")); $i=0;
foreach($newsNeeds as $key => $data){
//if(!@$data["target"]){
print_r($data);
PHDB::remove(News::COLLECTION, array("_id"=>new MongoId($key)));
// PHDB::remove(News::COLLECTION, array("_id"=>new MongoId($key)));
$i++;
//}
}
foreach($newsGantts as $key => $data){
//if(!@$data["target"]){
print_r($data);
PHDB::remove(News::COLLECTION, array("_id"=>new MongoId($key)));
// PHDB::remove(News::COLLECTION, array("_id"=>new MongoId($key)));
$i++;
//}
}
echo "Nombre de news gantts ou needs suprimées : ".$i." news";
}
}
// Quatrième refactor à faire sur communecter.org qui permet de netoyer les news dont la target n'existe pas
public function actionWashingNewsTargetNotExist(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
$news=PHDB::find(News::COLLECTION);
foreach($news as $key => $data){
if(@$data["target"]){
if(!@$data["target"]["type"]){
if(@$data["target"]["objectType"]){
$parentType=$data["target"]["objectType"];
PHDB::update(News::COLLECTION,
array("_id" => $data["_id"]) ,
array('$set' => array("target.type" => $parentType),
'$unset' => array("target.objectType"=>""))
);
} else{
PHDB::remove(News::COLLECTION, array("_id"=>new MongoId($key)));
}
}
else if($data["target"]["type"]==Person::COLLECTION){
$target = Person::getById($data["target"]["id"]);
if (empty($target)){
print_r($data);
PHDB::remove(News::COLLECTION, array("_id"=>new MongoId($key)));
}
}
else if($data["target"]["type"]==Event::COLLECTION){
$target = Event::getById($data["target"]["id"]);
if (empty($target)){
print_r($data);
PHDB::remove(News::COLLECTION, array("_id"=>new MongoId($key)));
}
}
else if($data["target"]["type"]==Organization::COLLECTION){
$target = Organization::getById($data["target"]["id"]);
if (empty($target)){
print_r($data);
PHDB::remove(News::COLLECTION, array("_id"=>new MongoId($key)));
}
}
else if($data["target"]["type"]==Project::COLLECTION){
$target = Project::getById($data["target"]["id"]);
if (empty($target)){
print_r($data);
PHDB::remove(News::COLLECTION, array("_id"=>new MongoId($key)));
}
}
}
else {
print_r($data);
PHDB::update(News::COLLECTION,
array("_id" => $data["_id"]) ,
array('$set' => array("target.type" => Person::COLLECTION,
"target.id" => $data["author"])
)
);
}
}
}
}
// Cinquième refactor à faire sur communecter.org qui permet de netoyer les news type activityStream dont l'object n'existe pas
public function actionWashingNewsObjectNotExist(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
$news=PHDB::find(News::COLLECTION);
$i=0;
$nbNews=count($news);
echo "Nombre de documents appelés : ".$nbNews;
foreach($news as $key => $data){
if($data["type"]=="activityStream"){
if(@$data["object"]){
if($data["object"]["objectType"]==Event::COLLECTION){
$target = Event::getById($data["target"]["id"]);
if (empty($target)){
print_r($data);
$i++;
//PHDB::remove(News::COLLECTION, array("_id"=>new MongoId($key)));
}
}
else if($data["object"]["objectType"]==Organization::COLLECTION){
$target = Organization::getById($data["target"]["id"]);
if (empty($target)){
print_r($data);
$i++;
//PHDB::remove(News::COLLECTION, array("_id"=>new MongoId($key)));
}
}
else if($data["object"]["objectType"]==Project::COLLECTION){
$target = Project::getById($data["target"]["id"]);
if (empty($target)){
print_r($data);
$i++;
//PHDB::remove(News::COLLECTION, array("_id"=>new MongoId($key)));
}
}
}
}
}
echo "Nombre de news sans object traitées : ".$i." news";
}
}
public function actionNewsPixels(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
$news=PHDB::find(News::COLLECTION);
$i=0;
$nbNews=count($news);
echo "Nombre de documents appelés : ".$nbNews;
foreach($news as $key => $data){
if($data["type"]=="pixels"){
PHDB::update(News::COLLECTION,
array("_id" => $data["_id"]) ,
array('$set' => array("target.type" => "pixels","target.id"=>"", "type" => "news"),'$unset' => array("id"=>""))
);
$i++;
}
}
echo "Nombre de news pixels traitées : ".$i." news";
}
}
// VoteDown
public function actionRefactorModerateVoteDown(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
echo "actionRefactorModerateVoteDown => ";
$news=PHDB::find(News::COLLECTION, array('voteDown' => array('$exists' => 1),'refactorAction' => array('$exists' => 0)));
$i=0;
echo count($news)." News en base avec voteDown
";
foreach($news as $key => $data){
$map = array();
foreach ($data['voteDown'] as $j => $reason) {
if(!is_array($reason))$map['voteDown.'.$reason] = array('date' => new MongoDate(time()));
}
if(count($map)){
$res = PHDB::update('news', array('_id' => $data['_id']), array('$set' => array('refactorNews' => new MongoDate(time()))));
$res = PHDB::update('news', array('_id' => $data['_id']), array('$unset' => array('voteDown' => 1)));
$res = PHDB::update('news', array('_id' => $data['_id']), array('$set' => $map, '$unset' => array('voteDownReason' => 1)));
$i++;
}
elseif(isset($news['voteDownReason'])){
$res = PHDB::update('news', array('_id' => $data['_id']), array('$unset' => array('voteDownReason' => 1)));
$i++;
}
}
echo "nombre de news modifié => ".$i;
}
}
// VoteUp
public function actionRefactorModerateVoteUp(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
echo "actionRefactorModerateVoteUp => ";
$news=PHDB::find(News::COLLECTION, array('voteUp' => array('$exists' => 1),'refactorNews' => array('$exists' => 0)));
$i=0;
echo count($news)." News en base avec voteUp
";
foreach($news as $key => $data){
$map = array();
foreach ($data['voteUp'] as $j => $reason) {
if(!is_array($reason))$map['voteUp.'.$reason] = array('date' => new MongoDate(time()));
}
if(count($map)){
$res = PHDB::update('news', array('_id' => $data['_id']), array('$set' => array('refactorNews' => new MongoDate(time()))));
$res = PHDB::update('news', array('_id' => $data['_id']), array('$unset' => array('voteUp' => 1)));
$res = PHDB::update('news', array('_id' => $data['_id']), array('$set' => $map, '$unset' => array('voteUpReason' => 1)));
$i++;
}
elseif(isset($news['voteUpReason'])){
$res = PHDB::update('news', array('_id' => $data['_id']), array('$unset' => array('voteUpReason' => 1)));
$i++;
}
}
echo "nombre de news modifié => ".$i;
}
}
// ReportAbuse
public function actionRefactorModerateReportAbuse(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
echo "actionRefactorModerateReportAbuse => ";
$i = 0;
$news=PHDB::find(News::COLLECTION, array('reportAbuseReason' => array('$exists' => 1)));
foreach($news as $key => $data){
$res = PHDB::update('news', array('_id' => $data['_id']), array('$unset' => array('reportAbuseReason' => 1)));
$res = PHDB::update('news', array('_id' => $data['_id']), array('$unset' => array('reportAbuseCount' => 1)));
$res = PHDB::update('news', array('_id' => $data['_id']), array('$unset' => array('reportAbuse' => 1)));
$i++;
}
echo count($news)." News en base avec reportAbuseReason
";
}
}
/*public function actionUpdateRegion(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
$newsRegions = array(
//array("new_code","new_name","former_code","former_name"),
array("01","Guadeloupe","01","Guadeloupe"),
array("02","Martinique","02","Martinique"),
array("03","Guyane","03","Guyane"),
array("04","La Réunion","04","La Réunion"),
array("06","Mayotte","06","Mayotte"),
array("11","Île-de-France","11","Île-de-France"),
array("24","Centre-Val de Loire","24","Centre"),
array("27","Bourgogne-Franche-Comté","26","Bourgogne"),
array("27","Bourgogne-Franche-Comté","43","Franche-Comté"),
array("28","Normandie","23","Haute-Normandie"),
array("28","Normandie","25","Basse-Normandie"),
array("32","Nord-Pas-de-Calais-Picardie","31","Nord-Pas-de-Calais"),
array("32","Nord-Pas-de-Calais-Picardie","22","Picardie"),
array("44","Alsace-Champagne-Ardenne-Lorraine","41","Lorraine"),
array("44","Alsace-Champagne-Ardenne-Lorraine","42","Alsace"),
array("44","Alsace-Champagne-Ardenne-Lorraine","21","Champagne-Ardenne"),
array("52","Pays de la Loire","52","Pays de la Loire"),
array("53","Bretagne","53","Bretagne"),
array("75","Aquitaine-Limousin-Poitou-Charentes","72","Aquitaine"),
array("75","Aquitaine-Limousin-Poitou-Charentes","54","Poitou-Charentes"),
array("75","Aquitaine-Limousin-Poitou-Charentes","74","Limousin"),
array("76","Languedoc-Roussillon-Midi-Pyrénées","73","Midi-Pyrénées"),
array("76","Languedoc-Roussillon-Midi-Pyrénées","91","Languedoc-Roussillon"),
array("84","Auvergne-Rhône-Alpes","82","Rhône-Alpes"),
array("84","Auvergne-Rhône-Alpes","83","Auvergne"),
array("93","Provence-Alpes-Côte d'Azur","93","Provence-Alpes-Côte d'Azur"),
array("94","Corse","94","Corse")
);
foreach ($newsRegions as $key => $region){
echo "News : (".$region[0].") ".$region[1]." ---- Ancien : (".$region[2].") ".$region[3]."" ;
$cities = PHDB::find(City::COLLECTION,array("region" => $region[2]));
$res = array("result" => false , "msg" => "La région (".$region[0].") ".$region[1]." n'existe pas");
if(!empty($cities)){
/*$res = PHDB::updateWithOption( City::COLLECTION,
array("region"=> $region[2]),
array('$set' => array( "region" => $region[0],
"regionName" => $region[1])),
array("multi"=> true)
);
foreach ($cities as $key => $city) {
$res = PHDB::update( City::COLLECTION,
array("_id"=>new MongoId($key)),
array('$set' => array( "region" => $region[0],
"regionName" => $region[1]))
);
}
var_dump($res);
echo "";
}
else
echo "Result : ".$res["result"]." | ".$res["msg"]."";
}
}*/
public function actionUpdateUserName() {
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
//add a suffle username for pending users event if they got one
$pendingUsers = PHDB::find(Person::COLLECTION, array("pending" => true));
$nbPendingUser = 0;
foreach ($pendingUsers as $key => $person) {
$res = PHDB::update( Person::COLLECTION,
array("_id"=>new MongoId($key)),
array('$set' => array(
"username" => substr(str_shuffle("0123456789abcdefghijklmnopqrstuvwxyz"), 0, 32)),
'$addToSet' => array("modifiedByBatch" => array("updateUserName" => new MongoDate(time()))))
);
$nbPendingUser++;
}
echo "Number of pending user with username modified : ".$nbPendingUser;
}
}
public function actionUpdatePreferences() {
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
$nbUser = 0;
$preferencesUsers = array(
"publicFields" => array(),
"privateFields" => array("email", "streetAddress", "phone", "directory", "birthDate"),
"isOpenData" => false );
$users = PHDB::find(Person::COLLECTION, array());
foreach ($users as $key => $person) {
$person["modifiedByBatch"][] = array("updatePreferences" => new MongoDate(time()));
$res = PHDB::update(Person::COLLECTION,
array("_id"=>new MongoId($key)),
array('$set' => array( "seePreferences" => true,
"preferences" => $preferencesUsers,
"modifiedByBatch" => $person["modifiedByBatch"])
)
);
if($res["ok"] == 1){
$nbUser++;
}else{
echo "
Error with user id : ".$key;
}
}
echo "Number of user with preferences modified : ".$nbUser;
}
}
public function actionUpdateCitiesBelgique() {
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
/*$cities = PHDB::find(City::COLLECTION, array("country" => "BEL"));
foreach ($cities as $key => $city) {
$res = PHDB::update( City::COLLECTION,
array("_id"=>new MongoId($key)),
array('$set' => array( "country" => "BE",
"insee" => substr($city["insee"], 0, 5)."*BE",
"dep" => substr($city["dep"], 0, 2)."*BE",
"region" => substr($city["region"], 0, 2)."*BE"))
);
}*/
$types = array(Person::COLLECTION, Organization::COLLECTION, Project::COLLECTION, Event::COLLECTION);
foreach ($types as $keyType => $type) {
$elts = PHDB::find($type, array("address.addressCountry" => "BEL"));
foreach ($elts as $key => $elt) {
if(!empty($elt["address"]["codeInsee"])){
$newAddress = $elt["address"];
$newAddress["addressCountry"] = "BE";
$newAddress["codeInsee"] = substr($newAddress["codeInsee"], 0, 5)."*BE";
$res = PHDB::update($type,
array("_id"=>new MongoId($key)),
array('$set' => array( "address" => $newAddress ))
);
}
}
}
echo "good" ;
}
}
public function actionCheckNameBelgique(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
$cities = PHDB::find(City::COLLECTION, array("country" => "BE"));
$nbcities = 0 ;
foreach ($cities as $key => $city) {
$name = $city["name"];
$find = false ;
if(count($city["postalCodes"]) == 1){
foreach ($city["postalCodes"] as $keyCP => $cp) {
if(trim($cp["name"]) != trim($name)){
$find =true;
$cp["name"] = $name ;
$postalCodes[$keyCP] = $cp ;
}
}
if($find == true){
$nbcities ++ ;
$res = PHDB::update( City::COLLECTION,
array("_id"=>new MongoId($key)),
array('$set' => array( "postalCodes" => $postalCodes ))
);
}
}
}
echo "NB Cities : " .$nbcities."
" ;
}
}
public function actionAddGeoPosition(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
$types = array(Person::COLLECTION, Organization::COLLECTION, Project::COLLECTION, Event::COLLECTION);
$nbelement = 0 ;
foreach ($types as $keyType => $type) {
$elements = PHDB::find($type, array("geoPosition" => array('$exists' => 0), "geo" => array('$exists' => 1)));
foreach ($elements as $key => $elt) {
if(!empty($elt["geo"])){
if(!empty($elt["geo"]["longitude"]) && !empty($elt["geo"]["latitude"])){
$geoPosition = array("type"=>"Point",
"coordinates" => array(floatval($elt["geo"]["longitude"]), floatval($elt["geo"]["latitude"])));
$elt["modifiedByBatch"][] = array("addGeoPosition" => new MongoDate(time()));
$res = PHDB::update( $type,
array("_id"=>new MongoId($key)),
array('$set' => array( "geoPosition" => $geoPosition,
"modifiedByBatch" => $elt["modifiedByBatch"])),
array('upsert' => true ));
$nbelement ++ ;
}else{
echo $type." id : " .$key." : pas de longitude ou de latitude
" ;
}
}else{
echo $type." id : " .$key." : pas de geo
" ;
}
}
}
echo "NB Element mis à jours: " .$nbelement."
" ;
}
}
public function actionDeleteLinksHimSelf(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
$types = array(Person::COLLECTION, Organization::COLLECTION, Project::COLLECTION, Event::COLLECTION);
$nbelement = 0 ;
foreach ($types as $keyType => $type) {
$elements = PHDB::find($type, array("links" => array('$exists' => 1)));
foreach ($elements as $keyElt => $elt) {
if(!empty($elt["links"])){
$find = false;
$newLinks = array();
foreach(@$elt["links"] as $typeLinks => $links){
if(array_key_exists ($keyElt , $links)){
$find = true;
unset($links[$keyElt]);
}
$newLinks[$typeLinks] = $links;
}
if($find == true){
$nbelement ++ ;
$elt["modifiedByBatch"][] = array("deleteLinksHimSelf" => new MongoDate(time()));
$res = PHDB::update( $type,
array("_id"=>new MongoId($keyElt)),
array('$set' => array( "links" => $newLinks,
"modifiedByBatch" => $elt["modifiedByBatch"])));
echo "Suppression du link pour le type : ".$type." et l'id ".$keyElt;
}
}
}
}
echo "NB Element mis à jours: " .$nbelement."
" ;
}
}
public function actionUpdateCitiesBelgiqueGeo() {
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
ini_set('memory_limit', '-1');
$cities = PHDB::find(City::COLLECTION, array("country" => "BE"));
$nbelement= 0 ;
foreach ($cities as $key => $city) {
$find = false ;
$newCPs = array();
foreach ($city["postalCodes"] as $keyPC => $cp) {
if(empty($cp["geo"])){
$find = true ;
$cp["geo"] = $city["geo"];
$cp["geoPosition"] = $city["geoPosition"];
}
$newCPs[] = $cp;
}
if($find == true){
$nbelement ++ ;
$res = PHDB::update( City::COLLECTION,
array("_id"=>new MongoId($key)),
array('$set' => array("postalCodes" => $newCPs)));
}
}
echo "NB Element mis à jours: " .$nbelement."
" ;
}
}
public function actionDeleteLinksDeprecated(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
$types = array(Person::COLLECTION, Organization::COLLECTION, Project::COLLECTION, Event::COLLECTION);
$nbelement = 0 ;
foreach ($types as $keyType => $type) {
$elements = PHDB::find($type, array("links" => array('$exists' => 1)));
foreach (@$elements as $keyElt => $elt) {
if(!empty($elt["links"])){
$find = false;
$newLinks = array();
foreach(@$elt["links"] as $typeLinks => $links){
foreach(@$links as $keyLink => $link){
if(!empty($link["type"])){
$eltL = PHDB::find($link["type"], array("_id"=>new MongoId($keyLink)));
if(empty($eltL)){
$find = true;
unset($links[$keyLink]);
}
$newLinks[$typeLinks] = $links;
}
}
}
if($find == true){
$nbelement ++ ;
$elt["modifiedByBatch"][] = array("deleteLinksDeprecated" => new MongoDate(time()));
$res = PHDB::update( $type,
array("_id"=>new MongoId($keyElt)),
array('$set' => array( "links" => $newLinks,
"modifiedByBatch" => $elt["modifiedByBatch"])));
echo "Suppression de link deprecated pour le type : ".$type." et l'id ".$keyElt."
" ;
}
}
}
}
echo "NB Element mis à jours: " .$nbelement."
" ;
}
}
public function actionRefactorChartProjectData(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
$projects = PHDB::find(Project::COLLECTION, array("properties.chart" => array('$exists' => 1)));
foreach($projects as $data){
echo "//////////
";
echo (string)$data["_id"]."
";
$chart=array();
$chart["open"]=array();
foreach($data["properties"]["chart"] as $key => $value){
$values=array("description"=>"", "value" => $value);
$chart["open"][$key]=array();
$chart["open"][$key]=$values;
//echo $value."
";
}
echo "NEW OBJECT
";
print_r($chart);
PHDB::update(Project::COLLECTION,
array("_id" => new MongoId((string)$data["_id"])),
array('$set' => array("properties.chart"=> $chart))
);
echo "//////////
";
}
}
}
public function actionRemovePropertiesOfOrganizations(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
$organizations = PHDB::find(Organization::COLLECTION, array("properties.chart" => array('$exists' => 1)));
$nbOrgaDealWith=0;
foreach($organizations as $data){
PHDB::update(Organization::COLLECTION,
array("_id" => new MongoId((string)$data["_id"])),
array('$unset' => array("properties"=> ""))
);
$nbOrgaDealWith++;
}
echo "nombre d'organizations traitées : ".$nbOrgaDealWith;
}
}
public function actionFixBugCoutryReunion(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
$nbelement = 0 ;
$elements = PHDB::find(Organization::COLLECTION, array("address.addressCountry" => "Réunion"));
foreach (@$elements as $keyElt => $elt) {
if(!empty($elt["address"]["postalCode"]) || !empty($elt["address"]["cp"])){
$cpElt = (!empty($elt["address"]["postalCode"])?$elt["address"]["postalCode"]:$elt["address"]["cp"]);
$where = array("postalCodes.postalCode" => $cpElt);
$cities = PHDB::find("cities",$where);
foreach (@$cities as $keyCity => $city) {
$address = array(
"@type" => "PostalAddress",
"codeInsee" => $city["insee"],
"addressCountry" => $city["country"],
"postalCode" => $cpElt,
"streetAddress" => ((@$elt["address"]["streetAddress"])?trim(@$fieldValue["address"]["streetAddress"]):""),
"depName" => $city["depName"],
"regionName" => $city["regionName"],
);
$find = false;
foreach ($city["postalCodes"] as $keyCp => $cp) {
if($cp["postalCode"] == $cpElt){
$address["addressLocality"] = $cp["name"];
$geo = $cp["geo"];
$geoPosition = $cp["geoPosition"];
$find = true;
break;
}
}
if($find == false){
$address["addressLocality"] = $city["alternateName"];
$geo = $city["geo"];
$geoPosition = $city["geoPosition"];
}
break;
}
$nbelement ++ ;
$elt["modifiedByBatch"][] = array("fixBugCoutryReunion" => new MongoDate(time()));
$res = PHDB::update( Organization::COLLECTION,
array("_id"=>new MongoId($keyElt)),
array('$set' => array( "address" => $address,
"geo" => $geo,
"geoPosition" => $geoPosition,
"modifiedByBatch" => $elt["modifiedByBatch"])));
echo "Update orga : l'id ".$keyElt."
" ;
}else{
$nbelement ++ ;
$elt["modifiedByBatch"][] = array("fixBugCoutryReunion" => new MongoDate(time()));
$res = PHDB::update( Organization::COLLECTION,
array("_id"=>new MongoId($keyElt)),
array('$unset' => array("address" => ""),
'$set' => array( "modifiedByBatch" => $elt["modifiedByBatch"])));
echo "Update orga : l'id ".$keyElt."
" ;
}
}
echo "NB Element mis à jours: " .$nbelement."
" ;
}
}
public function actionRefactorSource(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
$types = array(Person::COLLECTION, Organization::COLLECTION, Project::COLLECTION, Event::COLLECTION);
$nbelement = 0 ;
foreach ($types as $keyType => $type) {
$elements = PHDB::find($type, array("source" => array('$exists' => 1)));
if(!empty($elements)){
foreach (@$elements as $keyElt => $elt) {
if(!empty($elt["source"])){
$newsource = array();
if(!empty($elt["source"]["key"]) && empty($elt["source"]["keys"])){
$newsource["insertOrign"] = "import" ;
$newsource["key"] = $elt["source"]["key"];
$newsource["keys"][] = $elt["source"]["key"];
if(!empty($elt["source"]["url"]))
$newsource["url"] = $elt["source"]["url"];
if(!empty($elt["source"]["id"])){
if(!empty($elt["source"]["id"]['$numberLong']))
$newsource["id"] = $elt["source"]["id"]['$numberLong'];
else
$newsource["id"] = $elt["source"]["id"];
}
if(!empty($elt["source"]["update"]))
$newsource["update"] = $elt["source"]["update"];
$nbelement ++ ;
$elt["modifiedByBatch"][] = array("RefactorSource" => new MongoDate(time()));
try {
$res = PHDB::update( $type,
array("_id"=>new MongoId($keyElt)),
array('$set' => array( "source" => $newsource,
"modifiedByBatch" => $elt["modifiedByBatch"])));
} catch (MongoWriteConcernException $e) {
echo("Erreur à la mise à jour de l'élément ".$type." avec l'id ".$keyElt);
die();
}
echo "Elt mis a jour : ".$type." et l'id ".$keyElt."
" ;
}
}
}
}
}
echo "NB Element mis à jours: " .$nbelement."
" ;
}
}
/**
* Refactor events with no timezone depending on country
* Must be launch only once !
*/
public function actionAddTZOnEventDates(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
$nbelement = 0 ;
$nbelementPassed = 0 ;
$nbelementRE = 0 ;
$nbelementBE = 0 ;
$nbelementFR = 0 ;
$nbelementNC = 0 ;
$nbelementUnknown = 0 ;
$nbelementDateString = 0 ;
$timezoneArray = array("RE" => 4, "FR" => 1, "NC" => 11, "BE" => 1);
$elements = PHDB::find(Event::COLLECTION, array());
foreach (@$elements as $keyElt => $elt) {
if (isset($elt["modifiedByBatch"])) {
$alreadyUpdated = false;
foreach ($elt["modifiedByBatch"] as $value) {
if (isset($value["addTZOnEventDates"])) {
$nbelementPassed++;
$alreadyUpdated = true;
break;
}
}
if ($alreadyUpdated) continue;
}
if(empty($elt["address"]["addressCountry"]) ||
empty($timezoneArray[$elt["address"]["addressCountry"]])) {
echo "Pas de country ou country inconnu pour l'événement : ".$keyElt."";
$nbelementUnknown++;
continue;
}
$timezone = $timezoneArray[$elt["address"]["addressCountry"]];
if (isset($elt["startDate"]) && isset($elt["endDate"]) && (gettype($elt["startDate"]) == "object" && gettype($elt["endDate"]) == "object")) {
//Set TZ to UTC in order to be the same than Mongo
$startDate = new DateTime(date(DateTime::ISO8601, $elt["startDate"]->sec));
$startDate = $startDate->sub(new DateInterval("PT".$timezone."H"));
$endDate = new DateTime(date(DateTime::ISO8601, $elt["endDate"]->sec));
$endDate = $endDate->sub(new DateInterval("PT".$timezone."H"));
//$startDate = $elt["startDate"]->toDateTime()->sub(new DateInterval("PT".$timezone."H"));
//$endDate = $elt["endDate"]->toDateTime()->sub(new DateInterval("PT".$timezone."H"));
${'nbelement'.$elt["address"]["addressCountry"]}++;
//On en profite pour revoir les dates des événements qui sont en string ou sans date
} else {
$nbelementDateString++;
$startDate = new DateTime();
$startDate->sub(new DateInterval("P1D"));
$endDate = new DateTime();
$endDate->sub(new DateInterval("P2D"));
}
//update the event
$elt["modifiedByBatch"][] = array("addTZOnEventDates" => new MongoDate(time()));
PHDB::update( Event::COLLECTION, array("_id" => new MongoId($keyElt)),
array('$set' => array(
"startDate" => new MongoDate($startDate->getTimestamp()),
"endDate" => new MongoDate($endDate->getTimestamp()),
"modifiedByBatch" => $elt["modifiedByBatch"])));
$nbelement++;
}
echo "Event Reunion mis à jours: " .$nbelementRE."
" ;
echo "Event France mis à jours: " .$nbelementFR."
" ;
echo "Event Belgique mis à jours: " .$nbelementBE."
" ;
echo "Event NC mis à jours: " .$nbelementNC."
" ;
echo "NB Element mis à jours: " .$nbelement."
" ;
echo "NB Element passé : " .$nbelementPassed."
" ;
echo "NB Element inconnu : " .$nbelementUnknown."
" ;
echo "NB Element date en string : " .$nbelementDateString."
" ;
}
}
/*public function actionNameHtmlSpecialCaractere(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
$types = array(Person::COLLECTION, Organization::COLLECTION, Project::COLLECTION, Event::COLLECTION);
$nbelement = 0 ;
foreach ($types as $keyType => $type) {
$elements = PHDB::find($type, array("name" => array('$exists' => 1)));
if(!empty($elements)){
foreach (@$elements as $keyElt => $elt) {
if(!empty($elt["name"])){
$nbelement ++ ;
$elt["modifiedByBatch"][] = array("NameHtmlSpecialCaractere" => new MongoDate(time()));
try {
$res = PHDB::update( $type,
array("_id"=>new MongoId($keyElt)),
array('$set' => array( "name" => htmlspecialchars($elt["name"]),
"modifiedByBatch" => $elt["modifiedByBatch"])));
} catch (MongoWriteConcernException $e) {
echo("Erreur à la mise à jour de l'élément ".$type." avec l'id ".$keyElt);
die();
}
echo "Elt mis a jour : ".$type." et l'id ".$keyElt."
" ;
}
}
}
}
echo "NB Element mis à jours: " .$nbelement."
" ;
}}*/
public function actionNameHtmlSpecialCharsDecode(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
$types = array(Person::COLLECTION, Organization::COLLECTION, Project::COLLECTION, Event::COLLECTION);
$nbelement = 0 ;
foreach ($types as $keyType => $type) {
$elements = PHDB::find($type, array("name" => array('$exists' => 1)));
if(!empty($elements)){
foreach (@$elements as $keyElt => $elt) {
if(!empty($elt["name"])){
$nbelement ++ ;
$elt["modifiedByBatch"][] = array("NameHtmlSpecialCharsDecode" => new MongoDate(time()));
try {
$res = PHDB::update( $type,
array("_id"=>new MongoId($keyElt)),
array('$set' => array( "name" => htmlspecialchars_decode($elt["name"]),
"modifiedByBatch" => $elt["modifiedByBatch"])));
} catch (MongoWriteConcernException $e) {
echo("Erreur à la mise à jour de l'élément ".$type." avec l'id ".$keyElt);
die();
}
echo "Elt mis a jour : ".$type." et l'id ".$keyElt."
" ;
}
}
}
}
echo "NB Element mis à jours: " .$nbelement."
" ;
}
}
public function actionAddDepAndRegionAndCountryInAddress(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
$types = array(Person::COLLECTION, Organization::COLLECTION, Project::COLLECTION, Event::COLLECTION);
$nbelement = 0 ;
$arrayDep = array("address.depName" => array('$exists' => 0));
$arrayRegion = array("address.regionName" => array('$exists' => 0));
$arrayCountry = array("address.addressCountry" => array('$exists' => 0));
$arrayStreet = array("address.streetAddress" => array('$exists' => 0));
$where = array('$and' => array(
array("address" => array('$exists' => 1)),
array('$or' => array($arrayDep, $arrayRegion, $arrayCountry, $arrayStreet))
));
foreach ($types as $keyType => $type) {
$elements = PHDB::find($type, $where);
if(!empty($elements)){
foreach (@$elements as $keyElt => $elt) {
if(!empty($elt["name"])){
$nbelement ++ ;
$elt["modifiedByBatch"][] = array("AddDepAndRegionAndCountryInAddress" => new MongoDate(time()));
$address = $elt["address"];
if (isset($address["codeInsee"])) {
$depAndRegion = City::getDepAndRegionByInsee($address["codeInsee"]);
$address["depName"] = (empty($depAndRegion["depName"]) ? "" : $depAndRegion["depName"]);
$address["regionName"] = (empty($depAndRegion["regionName"]) ? "" : $depAndRegion["regionName"]);
$address["addressCountry"] = (empty($depAndRegion["country"]) ? "" : $depAndRegion["country"]);
$address["streetAddress"] = (empty($elt["address"]["streetAddress"]) ? "" : $elt["address"]["streetAddress"]);
try {
$res = PHDB::update( $type,
array("_id"=>new MongoId($keyElt)),
array('$set' => array( "address" => $address,
"modifiedByBatch" => $elt["modifiedByBatch"])));
} catch (MongoWriteConcernException $e) {
echo("Erreur à la mise à jour de l'élément ".$type." avec l'id ".$keyElt);
die();
}
echo "Elt mis a jour : ".$type." et l'id ".$keyElt."
" ;
} else {
echo "Pas de mise a jour : ".$type." et l'id ".$keyElt."
" ;
}
}
}
}
}
echo "NB Element mis à jours: " .$nbelement."
" ;
}
}
public function actionHtmlToMarkdown(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
$html = " TEst
Welcome to the demo:
- Write Markdown text on the left
- Hit the Parse button or
⌘ + Enter
- See the result to on the right
" ;
echo $html ;
echo "
";
try {
//$mailError = new MailError($_POST);
$converter = new Htmlconverter();
$mark = $converter->convert($html);
} catch (CTKException $e) {
Rest::sendResponse(450, "Webhook : ".$e->getMessage());
die;
}
echo $mark;
}
}
public function actionDescInHtml(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
$types = array(Person::COLLECTION, Organization::COLLECTION, Project::COLLECTION, Event::COLLECTION);
$nbelement = 0 ;
foreach ($types as $keyType => $type) {
$elements = PHDB::find($type, array("description" => array('$exists' => 1)));
if(!empty($elements)){
foreach (@$elements as $keyElt => $elt) {
if(!empty($elt["name"])){
$nbelement ++ ;
$elt["modifiedByBatch"][] = array("DescInHtml" => new MongoDate(time()));
try {
$res = PHDB::update( $type,
array("_id"=>new MongoId($keyElt)),
array('$set' => array( "descriptionHTML" => true,
"modifiedByBatch" => $elt["modifiedByBatch"])));
} catch (MongoWriteConcernException $e) {
echo("Erreur à la mise à jour de l'élément ".$type." avec l'id ".$keyElt);
die();
}
echo "Elt mis a jour : ".$type." et l'id ".$keyElt."
" ;
}
}
}
}
echo "NB Element mis à jours: " .$nbelement."
" ;
}
}
public function actionChangePhoneObjectToArray(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
$types = array(Person::COLLECTION, Organization::COLLECTION);
$nbelement = 0 ;
foreach ($types as $keyType => $type) {
$elements = PHDB::find($type, array("telephone" => array('$exists' => 1)));
if(!empty($elements)){
foreach (@$elements as $keyElt => $elt) {
if(!empty($elt["name"])){
$nbelement ++ ;
$elt["modifiedByBatch"][] = array("ChangePhoneObjectToArray" => new MongoDate(time()));
if(!empty($elt["telephone"]["fixe"])) {
$elt["telephone"]["fixe"] = json_decode(json_encode($elt["telephone"]["fixe"]), true);
}
if(!empty($elt["telephone"]["mobile"])){
$elt["telephone"]["fixe"] = json_decode(json_encode($elt["telephone"]["mobile"]), true);
}
if(!empty($elt["telephone"]["fax"]) ){
$elt["telephone"]["fax"] = json_decode(json_encode($elt["telephone"]["fax"]), true);
}
try {
$res = PHDB::update( $type,
array("_id"=>new MongoId($keyElt)),
array('$set' => array( "telephone" => $elt["telephone"],
"modifiedByBatch" => $elt["modifiedByBatch"])));
} catch (MongoWriteConcernException $e) {
echo("Erreur à la mise à jour de l'élément ".$type." avec l'id ".$keyElt);
die();
}
echo "Elt mis a jour : ".$type." et l'id ".$keyElt."
" ;
}
}
}
}
echo "NB Element mis à jours: " .$nbelement."
" ;
}
}
public function actionAddGeoShapeMissing(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
$cities = PHDB::find(City::COLLECTION, array("geoShape" => array('$exists' => 0)));
foreach ($cities as $key => $city) {
$name = str_replace(" ", "+", trim($city["name"]));
$url = "http://nominatim.openstreetmap.org/search?format=json&addressdetails=1&city=".$name."&countrycodes=FR&polygon_geojson=1&extratags=1" ;
$nominatim = json_decode(file_get_contents($url), true);
$find = false ;
if(!empty($nominatim)){
foreach ($nominatim as $key => $value) {
if($value["osm_type"] == "relation" && !empty($value["geojson"]) && $find == false){
echo $city["insee"]." : ". $city["name"]." : ".$value["osm_id"]."
";
$find = true ;
$city["modifiedByBatch"][] = array("AddGeoShapeMissing" => new MongoDate(time()));
try {
$res = PHDB::update( City::COLLECTION,
array("_id"=>new MongoId((String)$city["_id"])),
array('$set' => array( "geoShape" => $value["geojson"],
"osmID" => $value["osm_id"],
"modifiedByBatch" => $city["modifiedByBatch"])));
} catch (MongoWriteConcernException $e) {
echo("Erreur à la mise à jour de l'élément ".City::COLLECTION." avec l'id ".$key);
die();
}
}
}
}
}
}
}
public function actionChangePrefObjectToArray(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
$types = array(Person::COLLECTION);
$nbelement = 0 ;
foreach ($types as $keyType => $type) {
$elements = PHDB::find($type, array("preferences" => array('$exists' => 1)));
if(!empty($elements)){
foreach (@$elements as $keyElt => $elt) {
if(!empty($elt["name"])){
$nbelement ++ ;
$elt["modifiedByBatch"][] = array("ChangePrefObjectToArray" => new MongoDate(time()));
if(!empty($elt["preferences"]["publicFields"])) {
$elt["preferences"]["publicFields"] = json_decode(json_encode($elt["preferences"]["publicFields"]), true);
}
if(!empty($elt["preferences"]["privateFields"])){
$elt["preferences"]["privateFields"] = json_decode(json_encode($elt["preferences"]["privateFields"]), true);
}
try {
$res = PHDB::update( $type,
array("_id"=>new MongoId($keyElt)),
array('$set' => array( "preferences" => $elt["preferences"],
"modifiedByBatch" => $elt["modifiedByBatch"])));
} catch (MongoWriteConcernException $e) {
echo("Erreur à la mise à jour de l'élément ".$type." avec l'id ".$keyElt);
die();
}
echo "Elt mis a jour : ".$type." et l'id ".$keyElt."
" ;
}
}
}
}
echo "NB Element mis à jours: " .$nbelement."
" ;
}
}
public function actionInitMultiScope(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
$types = array(Person::COLLECTION);
$nbelement = 0 ;
foreach ($types as $keyType => $type) {
$elements = PHDB::find($type, array("multiscopes" => array('$exists' => 1)));
if(!empty($elements)){
foreach (@$elements as $keyElt => $elt) {
if(!empty($elt["name"])){
$nbelement ++ ;
$elt["modifiedByBatch"][] = array("InitMultiScope" => new MongoDate(time()));
try {
$res = PHDB::update( $type,
array("_id"=>new MongoId($keyElt)),
array( '$unset' => array( "multiscopes" => null),
'$set' => array( "modifiedByBatch" => $elt["modifiedByBatch"])));
} catch (MongoWriteConcernException $e) {
echo("Erreur à la mise à jour de l'élément ".$type." avec l'id ".$keyElt);
die();
}
echo "Elt mis a jour : ".$type." et l'id ".$keyElt."
" ;
}
}
}
}
echo "NB Element mis à jours: " .$nbelement."
" ;
}
}
public function actionObjectObjectTypeNewsToObjectType(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
// Check in mongoDB
//// db.getCollection('news').find({"object.objectType": {'$exists':true}})
// Check number of news to formated
//// db.getCollection('news').find({"object.objectType": {'$exists':true}}).count()
$news=PHDB::find(News::COLLECTION,array("object.objectType"=>array('$exists'=>true)));
$nbNews=0;
foreach($news as $key => $data){
$newObject=array("id"=>$data["object"]["id"], "type"=> $data["object"]["objectType"]);
PHDB::update(News::COLLECTION,
array("_id" => $data["_id"]) ,
array('$set' => array("object" => $newObject))
);
$nbNews++;
}
echo "nombre de news traitées:".$nbNews." news";
}
}
public function actionUpOldNotifications(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
// Update notify.id
$notifications=PHDB::find(ActivityStream::COLLECTION,array("notify.id"=>array('$exists'=>true)));
$nbNotifications=0;
//print_r($notifications);
foreach($notifications as $key => $data){
//print_r($data["notify"]["id"]);
$update=false;
$newArrayId=array();
foreach($data["notify"]["id"] as $val){
if(gettype($val)=="string"){
//echo($val);
$newArrayId[$val]=array("isUnsee"=>true,"isUnread"=>true);
$update=true;
}
}
if($update){
//print_r($newArrayId);
PHDB::update(ActivityStream::COLLECTION,
array("_id" => $data["_id"]) ,
array('$set' => array("notify.id" => $newArrayId))
);
$nbNotifications++;
}
}
echo "nombre de notifs traitées:".$nbNotifications." notifs";
}
}
public function actionSharedByRefactor(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
// Check in mongoDB
//// db.getCollection('news').find({"object.objectType": {'$exists':true}})
// Check number of news to formated
//// db.getCollection('news').find({"object.objectType": {'$exists':true}}).count()
$news=PHDB::find(News::COLLECTION,array());
$nbNews=0;
foreach($news as $key => $data){
if(@$data["targetIsAuthor"] && $data["targetIsAuthor"] == true ){
PHDB::update(News::COLLECTION,
array("_id" => $data["_id"]) ,
array('$set' => array("sharedBy" => array(array('id'=> $data["target"]["id"],
'type'=>$data["target"]["type"],
'updated'=> $data["created"]))))
);
} else {
PHDB::update(News::COLLECTION,
array("_id" => $data["_id"]) ,
array('$set' => array("sharedBy" => array(array('id'=> $data["author"],
'type'=>"citoyens",
'updated'=> $data["created"]))))
);
}
$nbNews++;
}
echo "nombre de news traitées:".$nbNews." news";
}
}
public function actionChangeEventFrenchType(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
echo "Traitement des événements avec le type 'exposition' ou 'concours'";
$events=PHDB::find(Event::COLLECTION,array('$or' => array( array('type' => 'concours'), array('type' => 'exposition') )));
$nbEvents=0;
foreach($events as $key => $data){
if($data["type"]=="exposition")
$newType="exhibition";
else if($data["type"]=="concours")
$newType="contest";
PHDB::update(Event::COLLECTION,
array("_id" => $data["_id"]) ,
array('$set' => array('type'=> $newType)));
$nbEvents++;
}
echo "nombre de events traités:".$nbEvents." events";
}
}
public function actionChangePoiType(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
echo "Traitement des p(zéro)is
";
$pois=PHDB::find(Poi::COLLECTION);
$nbPois=0;
foreach($pois as $key => $data){
if(!@$data["type"]){
$newType="other";
}else{
if($data["type"]=="poi")
$newType="other";
else if($data["type"]=="streetArts")
$newType="streetArt";
else if($data["type"]=="ficheBlanche")
$newType="documentation";
else if($data["type"]=="RessourceMaterielle")
$newType="materialRessource";
else
$newType=$data["type"];
}
PHDB::update(Poi::COLLECTION,
array("_id" => $data["_id"]) ,
array('$set' => array('type'=> $newType)));
$nbPois++;
}
echo "nombre de p0is traités:".$nbPois." pois";
}else
echo "jajajajajja: Tu as volé trop près du soleil Icare";
}
public function actionCreatorUpdatedOnNotifications(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
echo "nombre de notifs attendus = environs 15.3k";
$notifications=PHDB::find(ActivityStream::COLLECTION,array("notify"=>array('$exists'=>true),"updated"=>array('$exists'=>false)));
$nbNotifs=0;
$nbNotifsDeleted=0;
foreach($notifications as $key => $data){
if(!@$data["created"] ){
PHDB::remove(ActivityStream::COLLECTION, array("_id"=>new MongoId($key)));
$nbNotifsDeleted++;
}
if(!@$data["updated"] && @$data["created"] ){
PHDB::update(ActivityStream::COLLECTION,
array("_id" => $data["_id"]) ,
array('$set' => array('updated'=> $data["created"])));
$nbNotifs++;
}
}
echo "Nombre de notifs deleted car pas de created (normalement 383):".$nbNotifsDeleted." notifs
";
echo "nombre de notifications traitées:".$nbNotifs." notifs";
}
}
public function actionUpdateRegion(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
$newsRegions = array(
//array("new_code","new_name","former_code","former_name"),
array("01","Guadeloupe","01","Guadeloupe"),
array("02","Martinique","02","Martinique"),
array("03","Guyane","03","Guyane"),
array("04","La Réunion","04","La Réunion"),
array("06","Mayotte","06","Mayotte"),
array("11","Île-de-France","11","Île-de-France"),
array("24","Centre-Val de Loire","24","Centre"),
array("27","Bourgogne-Franche-Comté","26","Bourgogne"),
array("27","Bourgogne-Franche-Comté","43","Franche-Comté"),
array("28","Normandie","23","Haute-Normandie"),
array("28","Normandie","25","Basse-Normandie"),
array("32","Nord-Pas-de-Calais-Picardie","31","Nord-Pas-de-Calais"),
array("32","Nord-Pas-de-Calais-Picardie","22","Picardie"),
array("44","Alsace-Champagne-Ardenne-Lorraine","41","Lorraine"),
array("44","Alsace-Champagne-Ardenne-Lorraine","42","Alsace"),
array("44","Alsace-Champagne-Ardenne-Lorraine","21","Champagne-Ardenne"),
array("52","Pays de la Loire","52","Pays de la Loire"),
array("53","Bretagne","53","Bretagne"),
array("75","Aquitaine-Limousin-Poitou-Charentes","72","Aquitaine"),
array("75","Aquitaine-Limousin-Poitou-Charentes","54","Poitou-Charentes"),
array("75","Aquitaine-Limousin-Poitou-Charentes","74","Limousin"),
array("76","Languedoc-Roussillon-Midi-Pyrénées","73","Midi-Pyrénées"),
array("76","Languedoc-Roussillon-Midi-Pyrénées","91","Languedoc-Roussillon"),
array("84","Auvergne-Rhône-Alpes","82","Rhône-Alpes"),
array("84","Auvergne-Rhône-Alpes","83","Auvergne"),
array("93","Provence-Alpes-Côte d'Azur","93","Provence-Alpes-Côte d'Azur"),
array("94","Corse","94","Corse")
);
foreach ($newsRegions as $key => $region){
echo "News : (".$region[0].") ".$region[1]." ---- Ancien : (".$region[2].") ".$region[3]."" ;
$cities = PHDB::find(City::COLLECTION,array("region" => $region[2]));
$res = array("result" => false , "msg" => "La région (".$region[0].") ".$region[1]." n'existe pas");
if(!empty($cities)){
foreach ($cities as $key => $city) {
$res = PHDB::update( City::COLLECTION,
array("_id"=>new MongoId($key)),
array('$set' => array( "region" => $region[0],
"regionName" => $region[1]))
);
}
echo "";
echo "Result : ".$res["result"]." | ".$res["msg"]."";
}
else
echo "Result : ".$res["result"]." | ".$res["msg"]."";
}
}
}
public function actionDepRefactorCitiesZones(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
ini_set('memory_limit', '-1');
$nbelement = 0 ;
$dep = array();
$cities = PHDB::find(City::COLLECTION, array("depName" => array('$exists' => 1)));
if(!empty($cities)){
foreach (@$cities as $keyElt => $city) {
if(!empty($city["depName"]) && trim($city["depName"]) != "" && !in_array($city["depName"], $dep)){
$dep[] = $city["depName"];
$zone = Zone::createLevel($city["depName"], $city["country"], "4");
if(!empty($zone)){
$nbelement++;
Zone::save($zone);
}
}
}
}
echo "NB Element mis à jours: " .$nbelement."
" ;
}
}
public function actionAddZeroPostalCode(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
ini_set('memory_limit', '-1');
$nbelement = 0 ;
$where = array( '$and' => array(
array("address.postalCode" => array('$exists' => 1)),
array("address.addressCountry" => array('$ne' => "BE") ) ),
'$where' => "this.address.postalCode.length == 4" );
$orgs = PHDB::find(Organization::COLLECTION, $where);
if(!empty($orgs)){
foreach (@$orgs as $keyElt => $org) {
$res = PHDB::update( Organization::COLLECTION,
array("_id"=>new MongoId($keyElt)),
array('$set' => array( "address.postalCode" => "0".$org["address"]["postalCode"]))
);
echo $org["name"]." : ".$org["address"]["postalCode"]." > 0".$org["address"]["postalCode"]."
" ;
$nbelement++;
}
}
echo "NB Element mis à jours: " .$nbelement."
" ;
}
}
//Bash on document used for profil and banner of element
//Used for delete in gallery to know directly when a current doc is used as profil and banner
//find doc used current for profil and banner
public function actionAddCurrentToDoc(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
$docs=PHDB::find(Document::COLLECTION, array(
'$or'=>array(
array("contentKey"=>"banner"),
array("contentKey"=>"profil")
)));
$totalProfil=0;
$totalBanner=0;
foreach($docs as $key => $data){
if(@$data["id"] && $data["type"]!="city"){
$element=Element::getElementSimpleById($data["id"], $data["type"],null,array("profilImageUrl","profilBannerUrl"));
$docProfilUrl=Document::getDocumentFolderUrl($data)."/".$data["name"];
if(!empty($element["profilImageUrl"]) && @$docProfilUrl && $docProfilUrl==$element["profilImageUrl"]){
echo "Profil:".$key."
";
PHDB::update(Document::COLLECTION,array("_id"=>new MongoId($key)),array('$set'=>array("current"=>true)));
$totalProfil++;
}
if(!empty($element["profilBannerUrl"]) && @$docProfilUrl && $docProfilUrl==$element["profilBannerUrl"]){
echo "banner:".$key."
";
PHDB::update(Document::COLLECTION,array("_id"=>new MongoId($key)),array('$set'=>array("current"=>true)));
$totalBanner++;
}
}
}
echo "Nombre de profil used actually by element:".$totalProfil."
";
echo "Nombre de banner used actually by element:".$totalBanner;
}else
echo "connectoi crétin";
}
// -------------------- Fonction pour le refactor Cities/zones
public function actionRegionBERefactorCitiesZones(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
ini_set('memory_limit', '-1');
$nbelement = 0 ;
$region = array();
$cities = PHDB::find(City::COLLECTION, array("regionNameBel" => array('$exists' => 1)));
if(!empty($cities)){
foreach (@$cities as $keyElt => $city) {
if(!empty($city["regionNameBel"]) && trim($city["regionNameBel"]) != "" && !in_array($city["regionNameBel"], $region)){
$zone = Zone::createLevel($city["regionNameBel"], $city["country"], "2");
if(!empty($zone)){
$region[] = $city["regionNameBel"];
$nbelement++;
Zone::save($zone);
}else{
echo "Erreur: " .$city["regionNameBel"]." : City :".(String)$city["_id"]."
" ;
}
}
}
}
foreach (@$region as $k => $v) {
echo "Good: " .$v."
" ;
}
echo "NB Element mis à jours: " .$nbelement."
" ;
}
}
public function actionRegionRefactorCitiesZones(){
//if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
ini_set('memory_limit', '-1');
$nbelement = 0 ;
$erreur = array();
$region = array();
$aggregate = array(
array(
'$group' => array(
"_id" => array( "regionName" => '$regionName',
"country" => '$country',
"regionNameBel" => '$regionNameBel' ),
),
),
);
$cities = PHDB::aggregate( City::COLLECTION, $aggregate);
if(!empty($cities["result"])){
foreach (@$cities["result"] as $keyElt => $city) {
if(!empty($city["_id"]["regionName"]) && trim($city["_id"]["regionName"]) != ""){
$exists = PHDB::findOne(Zone::COLLECTION, array('$and' => array(
array("name" => $city["_id"]["regionName"] ) ,
array("level" => "3" ) ) ) );
if($exists== null){
$zone = Zone::createLevel($city["_id"]["regionName"], $city["_id"]["country"], "3", ((!empty($city["_id"]["regionNameBel"])) ? $city["_id"]["regionNameBel"] : null));
if(!empty($zone)){
$region[] = $city["_id"]["regionName"];
$nbelement++;
Zone::save($zone);
}else{
$erreur[] = $city["_id"]["regionName"];
}
}
}
}
}
foreach (@$region as $k => $v) {
echo "Good: " .$v."
" ;
}
foreach (@$erreur as $k => $v) {
echo "Erreur: " .$v." : City :".$k."
" ;
}
echo "NB Element mis à jours: " .$nbelement."
" ;
//}
}
public function actionDepRefactorCitiesZones2(){
//if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
ini_set('memory_limit', '-1');
$nbelement = 0 ;
$erreur = array();
$region = array();
$aggregate = array(
array(
'$group' => array(
"_id" => array( "depName" => '$depName',
"country" => '$country',
"regionNameBel" => '$regionNameBel',
"regionName" => '$regionName', ),
),
),
);
$cities = PHDB::aggregate( City::COLLECTION, $aggregate);
if(!empty($cities["result"])){
foreach (@$cities["result"] as $keyElt => $city) {
if( !empty($city["_id"]["depName"]) && trim($city["_id"]["depName"]) != ""){
$exists = PHDB::findOne(Zone::COLLECTION, array('$and' => array(
array("name" => $city["_id"]["depName"] ) ,
array("level" => "4" ) ) ) );
if($exists== null){
$zone = Zone::createLevel($city["_id"]["depName"], $city["_id"]["country"], "4", ((!empty($city["_id"]["regionNameBel"])) ? $city["_id"]["regionNameBel"] : null), ((!empty($city["_id"]["regionName"])) ? $city["_id"]["regionName"] : null));
if(!empty($zone)){
$region[] = $city["_id"]["depName"];
$nbelement++;
Zone::save($zone);
}else{
$erreur[] = $city["_id"]["depName"];
}
}
}
}
}
foreach (@$region as $k => $v) {
echo "Good: " .$v."
" ;
}
foreach (@$erreur as $k => $v) {
echo "Erreur: " .$v." : City :".$k."
" ;
}
echo "NB Element mis à jours: " .$nbelement."
" ;
//}
}
public function actionAddDepName(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
ini_set('memory_limit', '-1');
$nbelement = 0 ;
$region = array();
$cities = PHDB::find(City::COLLECTION, array("depName" => array('$exists' => 0) ) );
if(!empty($cities)){
foreach (@$cities as $key => $city) {
if(!empty($city["dep"])){
$depName = PHDB::findOne(City::COLLECTION, array( '$and' => array(
array( "dep" => $city["dep"] ),
array( '$or' => array(
array("depName" => array('$exists' => 1) ),
array("regionName" => array('$exists' => 1) ) ) )
) ) );
if(!empty($depName)){
$name = "";
if(!empty($depName["depName"])){
$name = $depName["depName"] ;
}else if(!empty($depName["regionName"])){
$name = ucfirst(strtolower($depName["regionName"])) ;
}
$res = PHDB::update( City::COLLECTION,
array("_id"=>new MongoId($key)),
array('$set' => array( "depName" => $name ))
);
echo "Good: ".$city["name"]." ".$name."
" ;
$nbelement++;
}
else
echo "Erreur: ".$city["name"]." ".$depName["depName"]."
" ;
}
}
}
echo "NB Element mis à jours: " .$nbelement."
" ;
}
}
public function actionLinkCityAndZone(){
//if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
ini_set('memory_limit', '-1');
ini_set('max_execution_time', 300);
$nbelement = 0 ;
$erreur = array();
$region = array();
$cities = PHDB::find(City::COLLECTION, array("modifiedByBatch.LinkCityAndZone" =>
array('$exists' => 0)) );
if(!empty($cities)){
foreach (@$cities as $keyElt => $city) {
//if($nbelement == 0){
$set = array();
if(!empty($city["dep"]) && !empty($city["depName"])){
$city["dep"] = Zone::getIdLevelByNameAndCountry($city["depName"], "4", $city["country"]);
$set["dep"] = $city["dep"];
}
if(!empty($city["region"]) && !empty($city["regionName"])){
$city["region"] = Zone::getIdLevelByNameAndCountry($city["regionName"], "3", $city["country"]);
$set["region"] = $city["region"];
}
if(!empty($city["regionBel"])){
$city["regionBel"] = Zone::getIdLevelByNameAndCountry($city["regionNameBel"], "2", $city["country"]);
$set["regionBel"] = $city["regionBel"];
}
if($set == true){
$city["modifiedByBatch"][] = array("LinkCityAndZone" => new MongoDate(time()));
//var_dump($keyElt);
if($city["country"] == "BE"){
$res = PHDB::update( City::COLLECTION,
array("_id"=>new MongoId($keyElt)),
array('$set' => array( "dep" => $city["dep"],
"region" => $city["region"],
"regionBel" => $city["regionBel"],
"modifiedByBatch" => $city["modifiedByBatch"]))
);
}else{
$res = PHDB::update( City::COLLECTION,
array("_id"=>new MongoId($keyElt)),
array('$set' => array( "dep" => $city["dep"],
"region" => $city["region"],
"modifiedByBatch" => $city["modifiedByBatch"]))
);
}
echo "Good: ".$city["name"]." ".$city["country"]." : ".$keyElt."
" ;
$nbelement++;
}
else
echo "Erreur: ".$city["name"]." ".$city["country"]." : ".$keyElt."
" ;
//}
}
}
echo "NB Element mis à jours: " .$nbelement."
" ;
//}
}
// -------------------- Fonction pour le refactor Cities/zones
public function actionFinalisation(){
//if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
ini_set('memory_limit', '-1');
$nbelement = 0 ;
$region = array();
$zones = PHDB::find(Zone::COLLECTION, array('$and' => array(
array("level" => "3"),
array("countryCode" => "FR",
/*array("level2" => array('$exists' => 0)*/)
)));
if(!empty($zones)){
foreach (@$zones as $keyElt => $zone) {
echo "Good: ".$zone["name"]." ".$zone["level"]."
" ;
$nbelement++;
}
}
echo "NB Element mis à jours: " .$nbelement."
" ;
//}
}
// -------------------- Fonction pour le refactor Cities/zones
public function actionRenameRegion(){
//if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
ini_set('memory_limit', '-1');
$nbelement = 0 ;
$regionName = array("Alsace-Champagne-Ardenne-Lorraine" => "Grand Est",
"Nord-Pas-de-Calais-Picardie" => "Hauts-de-France",
"Aquitaine-Limousin-Poitou-Charentes" => "Nouvelle-Aquitaine",
"Languedoc-Roussillon-Midi-Pyrénées" => "Occitanie");
foreach (@$regionName as $old => $new) {
$zones = PHDB::find(Zone::COLLECTION, array("name" => $old));
if(!empty($zones)){
foreach (@$zones as $keyElt => $zone) {
$res = PHDB::update( Zone::COLLECTION,
array("_id"=>new MongoId($keyElt)),
array('$set' => array("name" => $new))
);
echo "Good: ".$zone["name"]." ".$zone["level"]."
" ;
$nbelement++;
}
}
$cities = PHDB::find(City::COLLECTION, array("regionName" => $old));
if(!empty($cities)){
foreach (@$cities as $keyElt => $city) {
$res = PHDB::update( City::COLLECTION,
array("_id"=>new MongoId($keyElt)),
array('$set' => array("regionName" => $new))
);
echo "Good: ".$city["name"]."
" ;
$nbelement++;
}
}
}
echo "NB Element mis à jours: " .$nbelement."
" ;
//}
}
// -------------------- Fonction pour le refactor Cities/zones
public function actionLevelStringToArray(){
//if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
ini_set('memory_limit', '-1');
$nbelement = 0 ;
$zones = PHDB::find(Zone::COLLECTION, array());
if(!empty($zones)){
foreach (@$zones as $keyElt => $zone) {
if(is_string($zone["level"])){
$levels = array($zone["level"]);
$res = PHDB::update( Zone::COLLECTION,
array("_id"=>new MongoId($keyElt)),
array('$set' => array("level" => $levels))
);
echo "Good: ".$zone["name"]."
" ;
$nbelement++;
}
}
}
echo "NB Element mis à jours: " .$nbelement."
" ;
//}
}
public function actionCreateKeyZone(){
//if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
ini_set('memory_limit', '-1');
ini_set('max_execution_time', 300);
$nbelement = 0 ;
$erreur = array();
$region = array();
$zones = PHDB::find(Zone::COLLECTION, array("key" => array('$exists' => 0)) );
if(!empty($zones)){
foreach (@$zones as $keyElt => $zone) {
//if($nbelement == 0){
$key = Zone::createKey($zone);
$res = PHDB::update( Zone::COLLECTION,
array("_id"=>new MongoId($keyElt)),
array('$set' => array( "key" => $key))
);
echo "Good: ".$zone["name"]." ".$zone["level"][0]." : ".$key."
" ;
$nbelement++;
//}
}
}
echo "NB Element mis à jours: " .$nbelement."
" ;
}
public function actionCreateKeyCity(){
//if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
ini_set('memory_limit', '-1');
ini_set('max_execution_time', 300);
$nbelement = 0 ;
$erreur = array();
$region = array();
$cities = PHDB::find(City::COLLECTION,
array( '$and' => array(
array("dep" => array('$exists' => 1)),
array("key" => array('$exists' => 0)))
));
if(!empty($cities)){
foreach (@$cities as $keyElt => $city) {
if(!empty($city["dep"]) && strlen($city["dep"]) > 3){
$zone=PHDB::findOne(Zone::COLLECTION, array("_id"=>new MongoId($city["dep"])));
if(!empty($zone)){
$key = $zone["key"]."@".$keyElt;
$res = PHDB::update( City::COLLECTION,
array("_id"=>new MongoId($keyElt)),
array('$set' => array( "key" => $key))
);
echo "Good: ".$zone["name"]." ".$zone["level"][0]." : ".$key."
" ;
$nbelement++;
}
}
}
}
echo "NB Element mis à jours: " .$nbelement."
" ;
}
public function actionAddLevel3ToLevel4(){
//if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
ini_set('memory_limit', '-1');
$nbelement = 0 ;
$zones = PHDB::find(Zone::COLLECTION, array('$and' => array(
array("level" => "4" ),
array("level3" => array('$exists' => 0)) )));
if(!empty($zones)){
foreach (@$zones as $keyElt => $zone) {
$city=PHDB::findOne( City::COLLECTION, array( "dep"=> $keyElt ) );
if(!empty($city["region"]) && !empty($city["regionName"])) {
//$levels = array($zone["level"]);
$res = PHDB::update( Zone::COLLECTION,
array("_id"=>new MongoId($keyElt)),
array('$set' => array("level3" => $city["region"]))
);
echo "Good: ".$zone["name"]." " .$city["regionName"] . " " .$city["region"] . "
" ;
$nbelement++;
}
}
}
echo "NB Element mis à jours: " .$nbelement."
" ;
//}
}
public function actionOccitanie(){
//if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
ini_set('memory_limit', '-1');
$nbelement = 0 ;
$cities = PHDB::find(City::COLLECTION, array("depName" => "Phillippeville" ));
if(!empty($cities)){
foreach (@$cities as $keyElt => $city) {
$res = PHDB::update( City::COLLECTION,
array("_id"=>new MongoId($keyElt)),
array('$set' => array("depName" => "Philippeville"))
);
echo "Good: ".$city["name"]." " .$city["depName"] . " Philippeville
" ;
$nbelement++;
}
}
echo "NB Element mis à jours: " .$nbelement."
" ;
//}
}
public function actionAddIdDep(){
//if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
ini_set('memory_limit', '-1');
$nbelement = 0 ;
$cities = PHDB::find(City::COLLECTION, array("dep" => null ));
if(!empty($cities)){
foreach (@$cities as $keyElt => $city) {
$zone=PHDB::findOne( Zone::COLLECTION, array( "name"=> $city["depName"]));
if( !empty($zone)){
$res = PHDB::update( City::COLLECTION,
array("_id"=>new MongoId($keyElt)),
array('$set' => array("dep" => (String)$zone["_id"],
"depName" => $zone["name"]))
);
echo "Good: ".$city["name"]." " . $city["depName"] . "
" ;
$nbelement++;
}else{
echo "Error: ".$city["name"]." " . $city["depName"]. "
" ;
}
}
}
echo "NB Element mis à jours: " .$nbelement."
" ;
//}
}
public function actionAddIdRegion(){
//if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
ini_set('memory_limit', '-1');
$nbelement = 0 ;
$cities = PHDB::find(City::COLLECTION, array("region" => null ));
if(!empty($cities)){
foreach (@$cities as $keyElt => $city) {
$zone=PHDB::findOne( Zone::COLLECTION, array( "name"=> $city["depName"]));
if( !empty($zone)){
$res = PHDB::update( City::COLLECTION,
array("_id"=>new MongoId($keyElt)),
array('$set' => array("region" => (String)$zone["_id"],
"regionName" => $zone["name"]))
);
echo "Good: ".$city["name"]." " . $city["regionName"] . "
" ;
$nbelement++;
}else{
echo "Error: ".$city["name"]." " . $city["regionName"]. "
" ;
}
}
}
echo "NB Element mis à jours: " .$nbelement."
" ;
//}
}
public function actionReunion(){
//if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
ini_set('memory_limit', '-1');
$nbelement = 0 ;
$cities = PHDB::find(City::COLLECTION, array("depName" => "REUNION" ));
if(!empty($cities)){
foreach (@$cities as $keyElt => $city) {
$res = PHDB::update( City::COLLECTION,
array("_id"=>new MongoId($keyElt)),
array('$set' => array( "region" => "58be4af494ef47df1d0ddbcc",
"regionName" => "Réunion",
"dep" => "58be4af494ef47df1d0ddbcc",
"depName" => "Réunion"))
);
echo "Good: ".$city["name"]." " . $city["regionName"] . "
" ;
$nbelement++;
}
}
echo "NB Element mis à jours: " .$nbelement."
" ;
//}
}
public function actionBatchCities2(){
//if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
ini_set('memory_limit', '-1');
$nbelement = 0 ;
$cities = PHDB::find(City::COLLECTION, array("key" => array('$exists' => 1) ));
if(!empty($cities)){
foreach (@$cities as $keyElt => $city) {
$set = array();
$newInfos = City::detailKeysLevels($city["key"]);
if(!empty($newInfos)){
$set["level1"] = $newInfos["level1"];
$zone = Zone::getById($newInfos["level1"],array("name"));
$set["level1Name"] = $zone["name"];
}
$unset = array( "key" => "",
"depName" => "",
"regionName" => "",
"regionNameBel" => "",
"dep" => "",
"region" => "",
"regionBel" => "",
);
$res = PHDB::update( City::COLLECTION,
array("_id"=>new MongoId($keyElt)),
array( '$unset' => $unset,
'$set' => $set)
);
echo "Good: ".$city["name"]." " . $keyElt . "
" ;
$nbelement++;
}
}
echo "NB Element mis à jours: " .$nbelement."
" ;
//}
}
public function actionBatchTranslate(){
ini_set('memory_limit', '-1');
$nbelement = 0 ;
$cities = PHDB::find(Zone::TRANSLATE, array("parentKey" => array('$exists' => 1) ));
if(!empty($cities)){
foreach (@$cities as $keyElt => $city) {
$unset = array( "parentKey" => "");
$res = PHDB::update( Zone::TRANSLATE,
array("_id"=>new MongoId($keyElt)),
array('$unset' => $unset)
);
echo "Good: ".$keyElt."
" ;
$nbelement++;
}
}
echo "NB Element mis à jours: " .$nbelement."
" ;
}
public function actionBatchInterCountry() {
ini_set('memory_limit', '-1');
$where = array( "level" => "1");
$zones = PHDB::find(Zone::COLLECTION, $where);
$nbelement = 0 ;
foreach ($zones as $key => $zone) {
$city = PHDB::findOne(City::COLLECTION, array("country" => $zone["countryCode"]));
if(!empty($city)){
$res = PHDB::update( Zone::COLLECTION,
array("_id"=>new MongoId($key)),
array('$set' => array("hasCity" => true))
);
$nbelement++;
}
}
echo "NB Element mis à jours: " .$nbelement."
" ;
}
public function actionBatchOwnToHas() {
ini_set('memory_limit', '-1');
$where = array( "ownACity" => true);
$zones = PHDB::find(Zone::COLLECTION, $where);
$nbelement = 0 ;
foreach ($zones as $key => $zone) {
$city = PHDB::findOne(City::COLLECTION, array("country" => $zone["countryCode"]));
if(!empty($city)){
$res = PHDB::update( Zone::COLLECTION,
array("_id"=>new MongoId($key)),
array( '$unset' => array( "ownACity" => null),
'$set' => array( "hasCity" => true) ) );
$nbelement++;
}
}
echo "NB Element mis à jours: " .$nbelement."
" ;
}
public function actionBatchZoneUnsetKey(){
ini_set('memory_limit', '-1');
$nbelement = 0 ;
$cities = PHDB::find(Zone::COLLECTION, array("key" => array('$exists' => 1) ));
if(!empty($cities)){
foreach (@$cities as $keyElt => $city) {
$unset = array( "key" => "");
$res = PHDB::update( Zone::COLLECTION,
array("_id"=>new MongoId($keyElt)),
array('$unset' => $unset)
);
echo "Good: ".$keyElt."
" ;
$nbelement++;
}
}
echo "NB Element mis à jours: " .$nbelement."
" ;
}
public function actionBatchTranslateTypeZone(){
ini_set('memory_limit', '-1');
$nbelement = 0 ;
$zones = PHDB::find(Zone::COLLECTION, array("translateId" => array('$exists' => 1) ));
if(!empty($zones)){
foreach (@$zones as $keyElt => $zone) {
$set = array( "parentType" => Zone::COLLECTION);
$res = PHDB::update( Zone::TRANSLATE,
array("_id"=>new MongoId($zone["translateId"])),
array('$set' => $set)
);
echo "Good: ".$keyElt."
" ;
$nbelement++;
}
}
echo "NB Element mis à jours: " .$nbelement."
" ;
}
public function actionBatchTranslateMissing(){
ini_set('memory_limit', '-1');
$nbelement = 0 ;
$cities = PHDB::find(City::COLLECTION, array("translateId" => array('$exists' => 0) ));
if(!empty($cities)){
foreach (@$cities as $keyElt => $city) {
Zone::insertTranslate( ( String ) $city["_id"], City::COLLECTION, $city["country"], $city["name"],
(!empty($city["osmID"]) ? $city["osmID"] : null ),
(!empty($city["wikidataID"]) ? $city["wikidataID"] : null ) ) ;
$nbelement++;
}
}
echo "NB City mis à jours: " .$nbelement."
" ;
$nbelement = 0 ;
$zones = PHDB::find(Zone::COLLECTION, array("translateId" => array('$exists' => 0) ));
if(!empty($zones)){
foreach (@$zones as $keyElt => $zone) {
Zone::insertTranslate( ( String ) $zone["_id"], Zone::COLLECTION, $zone["countryCode"], $zone["name"],
(!empty($zone["osmID"]) ? $zone["osmID"] : null ),
(!empty($zone["wikidataID"]) ? $zone["wikidataID"] : null ) ) ;
$nbelement++;
}
}
echo "NB Zones mis à jours: " .$nbelement."
" ;
}
public function actionBatchInterElementCorrection() {
//if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
$nbelement = 0 ;
$types = array(Person::COLLECTION , Organization::COLLECTION, Project::COLLECTION,
Event::COLLECTION, Poi::COLLECTION);
foreach ($types as $keyType => $type) {
$elts = PHDB::find($type, array('$and' => array(
array("address" => array('$exists' => 1)),
array("address.localityId" => array('$exists' => 1)),
array("address.level1" => array('$exists' => 0))
)));
foreach ($elts as $key => $elt) {
$newAddress = $elt["address"];
unset($newAddress["localityId"]);
$res = PHDB::update($type,
array("_id"=>new MongoId($key)),
array('$set' => array("address" => $newAddress))
);
$nbelement++;
}
}
echo "NB Element mis à jours: " .$nbelement."
" ;
//}
}
public function actionBatchInterElement() {
//if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
$nbelement = 0 ;
$types = array(Person::COLLECTION , Organization::COLLECTION, Project::COLLECTION,
Event::COLLECTION, Poi::COLLECTION);
foreach ($types as $keyType => $type) {
$elts = PHDB::find($type, array('$and' => array(
array("address" => array('$exists' => 1)),
array("address.localityId" => array('$exists' => 0))
)));
foreach ($elts as $key => $elt) {
if(!empty($elt["address"]["codeInsee"]) || !empty($elt["address"]["postalCode"])){
if( !empty($elt["address"]["codeInsee"]) )
$city = PHDB::findOne(City::COLLECTION, array("insee" => $elt["address"]["codeInsee"]));
else
$city = PHDB::findOne(City::COLLECTION, array("postalCodes.postalCode" => $elt["address"]["postalCode"]));
//var_dump($city);
if(!empty($city)){
$newAddress = $elt["address"];
if(empty($elt["address"]["codeInsee"])){
$newAddress["codeInsee"] = $city["insee"];
$newAddress["addressCountry"] = $city["country"];
$newAddress["streetAddress"] = "";
if(!empty($city["postalCodes"]))
foreach ($city["postalCodes"] as $keycp => $valuecp) {
if($valuecp["postalCode"] == $elt["address"]["postalCode"])
$newAddress["addressLocality"] = $valuecp["name"];
}
if(!empty($newAddress["addressLocality"]))
$newAddress["addressLocality"] = $city["name"];
}
if(!empty($city["level1"])){
$newAddress["level1"] = $city["level1"];
$newAddress["level1Name"] = $city["level1Name"];
}
if(!empty($city["level2"])){
$newAddress["level2"] = $city["level2"];
$newAddress["level2Name"] = $city["level2Name"];
}
if(!empty($city["level3"])){
$newAddress["level3"] = $city["level3"];
$newAddress["level3Name"] = @$city["level3Name"];
}
if(!empty($city["level4"])){
$newAddress["level4"] = $city["level4"];
$newAddress["level4Name"] = @$city["level4Name"];
}
$newAddress["localityId"] = (String)$city["_id"];
unset($newAddress["key"]);
unset($newAddress["depName"]);
unset($newAddress["regionName"]);
unset($newAddress["regionNameBel"]);
$set = array("address" => $newAddress);
if(!empty($elt["addresses"])){
$newAdd = array();
foreach ($elt["addresses"] as $keyAddresses => $address) {
if(!empty($address["address"]["codeInsee"])){
$cityAdd = PHDB::findOne(City::COLLECTION, array("insee" => $address["address"]["codeInsee"]));
if(!empty($city)){
if(!empty($cityAdd["level1"])){
$address["address"]["level1"] = $cityAdd["level1"];
$address["address"]["level1Name"] = $cityAdd["level1Name"];
}
if(!empty($cityAdd["level2"])){
$address["address"]["level2"] = $cityAdd["level2"];
$address["address"]["level2Name"] = $cityAdd["level2Name"];
}
if(!empty($cityAdd["level3"])){
$address["address"]["level3"] = $cityAdd["level3"];
$address["address"]["level3Name"] = $cityAdd["level3Name"];
}
if(!empty($cityAdd["level4"])){
$address["address"]["level4"] = $cityAdd["level4"];
$address["address"]["level4Name"] = $cityAdd["level4Name"];
}
$address["localityId"] = (String)$cityAdd["_id"];
unset($address["key"]);
unset($address["depName"]);
unset($address["regionName"]);
unset($address["regionNameBel"]);
$newAdd[] = $address;
}else{
echo "Error addresses: ".$elt["name"]." " . $type. " " . $key. "
" ;
}
}else{
echo "Error Insee: ".$elt["name"]." " . $type. " " . $key. "
" ;
}
}
if(!empty($newAdd))
$set["addresses"] = $newAdd;
}
if(!empty($newAddress['localityId'])){
$res = PHDB::update($type,
array("_id"=>new MongoId($key)),
array('$set' => $set)
);
}
$nbelement++;
}
}else{
$res = PHDB::update($type,
array("_id"=>new MongoId($key)),
array('$unset' => array("address" => ""))
);
$nbelement++;
}
}
}
echo "NB Element mis à jours: " .$nbelement."
" ;
//}
}
public function actionBatchInterMultiScope() {
$elts = PHDB::find(Person::COLLECTION, array('$and' => array(
array("multiscopes" => array('$exists' => 1)))
));
$nbelement = 0 ;
if(!empty($elts)){
foreach ($elts as $key => $value) {
$res = PHDB::update(Person::COLLECTION,
array("_id"=>new MongoId($key)),
array( '$unset' => array( "multiscopes" => null),
'$set' => array( "inter" => true) ) );
$nbelement++;
}
}
echo "NB Element mis à jours: " .$nbelement."
" ;
}
public function actionBatchInterNews() {
ini_set('memory_limit', '-1');
//$news = PHDB::find(News::COLLECTION, array("scope" => array('$exists' => 1)));
$news = PHDB::find(News::COLLECTION, array('$and' => array(
array("scope" => array('$exists' => 1)),
array("scope.localities" => array('$exists' => 0)))
));
$nbelement = 0 ;
foreach ($news as $key => $new) {
if(!empty($new["scope"])){
$listKey = array();
if(!empty($new["scope"]["cities"])){
foreach ($new["scope"]["cities"] as $keyS => $valueS) {
$newsKey = array();
if(!empty($valueS["codeInsee"])){
$city = PHDB::findOne(City::COLLECTION, array("insee" => $valueS["codeInsee"]));
if(!empty($city)){
$newsKey["parentId"] = (String) $city["_id"] ;
$newsKey["parentType"] = City::COLLECTION ;
if(!empty($valueS["postalCode"])){
$newsKey["postalCode"] = $valueS["postalCode"];
}else{
$newsKey["name"] = $valueS["addressLocality"];
}
if(!empty($valueS["geo"]))
$newsKey["geo"] = $valueS["geo"];
$newsKey = array_merge($newsKey, Zone::getLevelIdById((String) $city["_id"], $city, City::COLLECTION) ) ;
}
}
if(!empty($newsKey))
$listKey[] = $newsKey;
}
}
if(!empty($new["scope"]["departements"])){
foreach ($new["scope"]["departements"] as $keyS => $valueS) {
$renameDep = array( "REUNION" => "Réunion",
"Phillippeville" => "Philippeville" );
$nameD = (!empty($renameDep[$valueS["name"]])? $renameDep[$valueS["name"]] : $valueS["name"] ) ;
$zone = PHDB::findOne(Zone::COLLECTION, array("name" => $nameD));
$newsKey = array();
if(!empty($zone)){
$newsKey["name"] = $zone["name"];
$newsKey["parentId"] = (String) $zone["_id"] ;
$newsKey["parentType"] = Zone::COLLECTION ;
if(!empty($zone["geo"]))
$newsKey["geo"] = $zone["geo"];
$newsKey = array_merge($newsKey, Zone::getLevelIdById((String) $zone["_id"], $zone, Zone::COLLECTION) ) ;
$listKey[] = $newsKey;
}
}
}
if(!empty($new["scope"]["regions"])){
foreach ($new["scope"]["regions"] as $keyS => $valueS) {
$renameRegion = array( "Alsace-Champagne-Ardenne-Lorraine" => "Grand Est",
'Nord-Pas-de-Calais-Picardie' => "Hauts-de-France",
"Aquitaine-Limousin-Poitou-Charentes" => "Nouvelle-Aquitaine",
"Languedoc-Roussillon-Midi-Pyrénées" => "Occitanie",
"La Réunion" => "Réunion" );
$nameR = (!empty($renameRegion[$valueS["name"]])? $renameRegion[$valueS["name"]] : $valueS["name"] ) ;
$zone = PHDB::findOne(Zone::COLLECTION, array("name" => $nameR));
$newsKey = array();
if(!empty($zone)){
$newsKey["parentId"] = (String) $zone["_id"] ;
$newsKey["parentType"] = Zone::COLLECTION ;
$newsKey["name"] = $zone["name"];
if(!empty($zone["geo"]))
$newsKey["geo"] = $zone["geo"];
$newsKey = array_merge($newsKey, Zone::getLevelIdById((String) $zone["_id"], $zone, Zone::COLLECTION) ) ;
$listKey[] = $newsKey;
}
}
}
$newscope = array("type" => $new["scope"]["type"], "localities" => $listKey);
$set = array("scope" => $newscope);
$res = PHDB::update(News::COLLECTION,
array("_id"=>new MongoId($key)),
array('$set' => $set)
);
$nbelement++;
}else{
echo "Error: ". $key. "
" ;
}
}
echo "NB Element mis à jours: " .$nbelement."
" ;
}
public function actionBatchInterInit() {
ini_set('memory_limit', '-1');
//if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
$nbelement = 0 ;
$types = array(Person::COLLECTION , Organization::COLLECTION, Project::COLLECTION, Event::COLLECTION, Poi::COLLECTION);
foreach ($types as $keyType => $type) {
$elts = PHDB::find($type, array('$and' => array(
array("address" => array('$exists' => 1)),
array("address.addressCountry" =>
array('$nin' => array("PM", "MQ", "YT", "GP", "GF", "RE", "FR", "NC", "BE") ) )
) ) );
foreach ($elts as $key => $elt) {
if(!empty($elt["address"]["codeInsee"])){
$unset = array("address" => "");
if(!empty($elt["addresses"]))
$unset["addresses"] = "";
if(!empty($elt["multiscopes"]))
$unset["multiscopes"] = "";
// $res = PHDB::update($type,
// array("_id"=>new MongoId($key)),
// array('$unset' => $unset)
// );
$nbelement++;
}else{
echo "Error: ".$elt["name"]." " . $type. " " . $key. "
" ;
}
}
}
echo "NB Element mis à jours: " .$nbelement."
" ;
$zones = PHDB::find(Zone::COLLECTION, array("countryCode" =>
array('$nin' =>
array("PM", "MQ", "YT", "GP", "GF", "RE", "FR", "NC", "BE"))));
$nbelement = 0 ;
$nbelementNew = 0 ;
foreach ($zones as $key => $value) {
$news = PHDB::find(News::COLLECTION, array('$and' => array(
array("scope.localities" => array('$exists' => 1)),
array("scope.localities.parentId" => $key))));
foreach ($news as $keyNew => $valueNew) {
// $res = PHDB::update(News::COLLECTION,
// array("_id"=>new MongoId($keyNew)),
// array('$set' => array("scope.localities" => array() ) )
// );
$nbelementNew++;
}
echo "Good: zone " . $key. "
" ;
//PHDB::remove(Zone::COLLECTION, array("_id"=>new MongoId($key)));
$nbelement++;
}
echo "NB Zone mis à jours: " .$nbelement."
" ;
$cities = PHDB::find(City::COLLECTION, array("country" => array('$nin' => array("PM", "MQ", "YT", "GP", "GF", "RE", "FR", "NC", "BE"))));
$nbelement = 0 ;
foreach ($cities as $key => $value) {
$news = PHDB::find(News::COLLECTION, array('$and' => array(
array("scope.localities" => array('$exists' => 1)),
array("scope.localities.parentId" => $key))));
foreach ($news as $keyNew => $valueNew) {
// $res = PHDB::update(News::COLLECTION,
// array("_id"=>new MongoId($keyNew)),
// array('$set' => array("scope.localities" => array()))
// );
$nbelementNew++;
}
echo "Good: cities " . $key. "
" ;
//PHDB::remove(City::COLLECTION, array("_id"=>new MongoId($key)));
$nbelement++;
}
echo "NB City mis à jours: " .$nbelement."
" ;
echo "NB New mis à jours: " .$nbelementNew."
" ;
//}
}
public function actionLevel234(){
//if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
ini_set('memory_limit', '-1');
$nbelement = 0 ;
$cities = PHDB::find(City::COLLECTION, array('$or' => array(
array('level2' => array('$exists' => 0)),
array('level3' => array('$exists' => 0)),
array('level4' => array('$exists' => 0))
)));
//$cities = PHDB::find(City::COLLECTION, array('level3' => array('exists' => 0)));
//var_dump($cities);
if(!empty($cities)){
foreach (@$cities as $keyElt => $city) {
$set = array();
if(empty($city["level2"]) && !empty($city["regionBel"])){
$set["level2"] = $city["regionBel"];
if(!empty($city["regionNameBel"]))
$set["level2Name"] = $city["regionNameBel"];
}
if(empty($city["level3"]) && !empty($city["region"])){
$set["level3"] = $city["region"];
if(!empty($city["regionName"]))
$set["level3Name"] = $city["regionName"];
}
if(empty($city["level4"]) && !empty($city["dep"])){
$set["level4"] = $city["dep"];
if(!empty($city["depName"]))
$set["level4Name"] = $city["depName"];
}
if(!empty($set)){
$res = PHDB::update( City::COLLECTION,
array("_id"=>new MongoId($keyElt)),
array('$set' => $set)
);
echo "Good: ".$city["name"]."
" ;
$nbelement++;
}
}
}else{
echo "Error" ;
}
echo "NB Element mis à jours: " .$nbelement."
" ;
//}
}
public function actionNamePays(){
ini_set('memory_limit', '-1');
$nbelement = 0 ;
$zones = PHDB::find(City::COLLECTION, array('$and' => array(
array('translateId' => array('$exists' => 0)),
array('$or' => array(
array('osmID' => array('$exists' => 1)),
array('wikidataID' => array('$exists' => 1)))))));
// $zones = PHDB::find(Zone::COLLECTION, array('$and' => array(
// array('translateId' => array('$exists' => 0)),
// array('$or' => array(
// array('osmID' => array('$exists' => 1)),
// array('wikidataID' => array('$exists' => 1)))))));
if(!empty($zones)){
foreach ($zones as $key => $zone) {
$translate = array();
$info = array();
if(!empty($zone["osmID"])){
$zoneNominatim = json_decode(file_get_contents("http://nominatim.openstreetmap.org/lookup?format=json&namedetails=1&osm_ids=R".$zone["osmID"]), true);
if(!empty($zoneNominatim) && !empty($zoneNominatim[0]["namedetails"])){
foreach ($zoneNominatim[0]["namedetails"] as $keyName => $valueName) {
$arrayName = explode(":", $keyName);
if(!empty($arrayName[1]) && $arrayName[0] == "name" && strlen($arrayName[1]) == 2){
$translate[strtoupper($arrayName[1])] = $valueName;
}
}
}
}
if(!empty($zone["wikidataID"])){
$zoneWiki = json_decode(file_get_contents("https://www.wikidata.org/wiki/Special:EntityData/".$zone["wikidataID"].".json"), true);
if(!empty($zoneWiki) && !empty($zoneWiki["entities"][$zone["wikidataID"]]["labels"])){
foreach ($zoneWiki["entities"][$zone["wikidataID"]]["labels"] as $keyName => $valueName) {
if(strlen($keyName) == 2){
$translate[strtoupper($keyName)] = $valueName["value"];
}
}
}
}
if(!empty($translate)){
$info["countryCode"] = $zone["country"];
//$info["countryCode"] = $zone["countryCode"];
$info["parentId"] = $key;
$info["parentType"] = City::COLLECTION;
//$info["parentType"] = Zone::COLLECTION;
$info["parentKey"] = $zone["key"];
$info["translates"] = $translate;
PHDB::insert("translates", $info);
PHDB::update(City::COLLECTION,
array("_id"=>new MongoId($key)),
array('$set' => array("translateId" => (string)$info["_id"]))
);
$nbelement++;
}else {
echo "Error ".$zone["name"]." ".$key."
" ;
}
}
echo "NB Element mis à jours: " .$nbelement."
" ;
}
}
public function actionRemoveTrans(){
ini_set('memory_limit', '-1');
$nbelement = 0 ;
//$zones = PHDB::find(City::COLLECTION, array('translateId' => array('$exists' => 0)));
$zones = PHDB::find(Zone::COLLECTION, array('translateId' => array('$exists' => 1)));
if(!empty($zones)){
foreach ($zones as $key => $zone) {
PHDB::update(Zone::COLLECTION,
array("_id"=>new MongoId($key)),
array('$unset' => array("translateId" => ""))
);
$nbelement++;
}
echo "NB Element mis à jours: " .$nbelement."
" ;
}
}
public function actionRefactorTranslate(){
ini_set('memory_limit', '-1');
$nbelement = 0 ;
$translates = PHDB::find(Zone::TRANSLATE, array('origin' => array('$exists' => 0)));
if(!empty($translates)){
foreach ($translates as $key => $translate) {
$countries = array("MQ", "YT", "GP", "GF", "RE", "NC");
if( in_array($translate["countryCode"], $countries))
$origin = $translate["translates"]["FR"] ;
else if (!empty($translate["translates"][$translate["countryCode"]]))
$origin = $translate["translates"][$translate["countryCode"]] ;
else if (!empty($translate["translates"]["EN"]))
$origin = $translate["translates"]["EN"] ;
else if (!empty($translate["translates"]["FR"]))
$origin = $translate["translates"]["FR"] ;
if(!empty($origin)){
$newsT = array();
foreach ($translate["translates"] as $keyT => $valueT) {
if($valueT != $origin)
$newsT[$keyT] = $valueT;
}
PHDB::update(Zone::TRANSLATE,
array("_id"=>new MongoId($key)),
array('$set' => array( "origin" => $origin,
"translates" => $newsT))
);
$nbelement++;
}
//break;
}
echo "NB Element mis à jours: " .$nbelement."
" ;
}
}
public function actionRefactorCountries(){
ini_set('memory_limit', '-1');
$nbelementUpdate = 0 ;
$nbelementCreate= 0 ;
$nbelementError = 0 ;
$countries = json_decode(file_get_contents("../../modules/co2/data/countries.json", FILE_USE_INCLUDE_PATH), true );
//var_dump($countries);
foreach ($countries as $key => $value) {
//var_dump(json_encode($value));
//echo json_encode($value);
$zone = PHDB::findOne(Zone::COLLECTION, array('$and' => array(
array('countryCode' => $value["cca2"]),
array('level' => "1") ) ) );
if(!empty($zone)){
// $set = array();
// if(!empty($value["cca3"]))
// $set["cca3"] = $value["cca3"];
// if(!empty($value["callingCode"]))
// $set["callingCode"] = $value["callingCode"];
// if(!empty($set)){
// PHDB::update(Zone::TRANSLATE,
// array("_id"=>new MongoId((String) $zone["_id"])),
// array('$set' => $set)
// );
// $nbelementUpdate++;
// }
} else {
echo "todo: " .$value["cca2"]." : ".$value["name"]["common"]."
" ;
// $level1 = Zone::createLevel($value["name"]["common"], $value["cca2"], "1");
// if(!empty($level1)){
// if(!empty($value["cca3"]))
// $level1["cca3"] = $value["cca3"];
// if(!empty($value["callingCode"]))
// $level1["callingCode"] = $value["callingCode"];
// //echo json_encode($level1 );
// $savelevel1 = Zone::save($level1);
// if($savelevel1["result"] == true)
// $nbelementCreate++;
// else{
// $nbelementError++;
// echo "Error1: " .$value["cca2"]."
" ;
// }
// }else{
// $nbelementError++;
// echo "Error2: " .$value["cca2"]."
" ;
// }
}
//break;
}
echo "NB Element mis à jours: " .$nbelementUpdate."
" ;
echo "NB Element created: " .$nbelementCreate."
" ;
echo "NB Element error: " .$nbelementError."
" ;
}
// -------------------- Fin des foncction pour le refactor Cities/zones
// -------------------- Slugify everything
public function actionSlugifyCitoyens(){
ini_set('memory_limit', '-1');
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
$slugExist=array();
$unwanted_array = array( 'Š'=>'S', 'š'=>'s', 'Ž'=>'Z', 'ž'=>'z', 'À'=>'A', 'Á'=>'A', 'Â'=>'A', 'Ã'=>'A', 'Ä'=>'A', 'Å'=>'A', 'Æ'=>'A', 'Ç'=>'C', 'È'=>'E', 'É'=>'E',
'Ê'=>'E', 'Ë'=>'E', 'Ì'=>'I', 'Í'=>'I', 'Î'=>'I', 'Ï'=>'I', 'Ñ'=>'N', 'Ò'=>'O', 'Ó'=>'O', 'Ô'=>'O', 'Õ'=>'O', 'Ö'=>'O', 'Ø'=>'O', 'Ù'=>'U',
'Ú'=>'U', 'Û'=>'U', 'Ü'=>'U', 'Ý'=>'Y', 'Þ'=>'B', 'ß'=>'Ss', 'à'=>'a', 'á'=>'a', 'â'=>'a', 'ã'=>'a', 'ä'=>'a', 'å'=>'a', 'æ'=>'a', 'ç'=>'c',
'è'=>'e', 'é'=>'e', 'ê'=>'e', 'ë'=>'e', 'ì'=>'i', 'í'=>'i', 'î'=>'i', 'ï'=>'i', 'ð'=>'o', 'ñ'=>'n', 'ò'=>'o', 'ó'=>'o', 'ô'=>'o', 'õ'=>'o',
'ö'=>'o', 'ø'=>'o', 'ù'=>'u', 'ú'=>'u', 'û'=>'u', 'ý'=>'y', 'þ'=>'b', 'ÿ'=>'y' );
//foreach($typeEl as $type){
$res=PHDB::find(Person::COLLECTION);
echo "//////////".count($res)." Citoyens/////////////////
";
$count=0;
$del=0;
foreach ($res as $key => $value) {
if((@$value["username"] && !empty($value["username"])) || (@$value["name"] && !empty($value["name"]))){
// replace non letter or digits by -
if(@$value["username"]){
$string=$value["username"];
$createUsername=false;
}else{
$string=$value["name"];
$createUsername=true;
}
$str="";
$value=explode(" ",$string);
$i=0;
foreach($value as $v){
$text = strtr( $v, $unwanted_array );
//$text = iconv('utf-8', 'us-ascii//TRANSLIT', $text);
$text = preg_replace('~[^\\pL\d]+~u', '', $text);
// trim
$text = trim($text, '-');
// transliterate
$text = iconv('utf-8', 'us-ascii//TRANSLIT', $text);
// lowercase
$text = strtolower($text);
if($i>0)
$text = ucfirst($text);
// remove unwanted characters
$text = preg_replace('~[^-\w]+~', '', $text);
$str.=$text;
$i++;
}
if(in_array($str, $slugExist)){
$v = 1; // $i est un nombre que l'on incrémentera.
$inc=true;
while($inc==true)
{
$inc=in_array($str.$v, $slugExist);
//echo $inc;
if(!$inc)
$str=$str.$v;
else
$v ++ ;
}
}
if(@$createUsername && $createUsername==true){
echo "doooooooit entry username////";
PHDB::update(
Person::COLLECTION,
array("_id"=>new MongoId($key)),
array('$set'=>array("username"=>$str)));
}
array_push($slugExist, $str);
echo $str."
";
//INSERT IN SLUG COLLECTION
PHDB::insert(Slug::COLLECTION,array("name"=>$str,"id"=>$key,"type"=>Person::COLLECTION));
//INSERT SLUG ENTRY IN ELEMENT
PHDB::update(
Person::COLLECTION,
array("_id"=>new MongoId($key)),
array('$set'=>array("slug"=>$str)));
$count++;
} else {
PHDB::remove(
Person::COLLECTION,
array("_id"=>new MongoId($key)));
$del++;
}
}
echo "/////////////".$count." citoyens traités (comme des sauvages)//////////
";
echo "/////////////".$del." citoyens zigouillés, lapidés, déchiquetés, oubliés, mis au bucher //////////
";
}else
echo "Bois du rebBull t'auras des ailles";
}
public function actionSlugifyElement(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
ini_set('memory_limit', '-1');
ini_set('max_execution_time', 300);
$slugcitoyens=PHDB::find(Slug::COLLECTION);
$typeEl=array("organizations","projects","events");
$slugExist=array();
foreach($slugcitoyens as $data){
array_push($slugExist,$data["name"]);
}
$unwanted_array = array( 'Š'=>'S', 'š'=>'s', 'Ž'=>'Z', 'ž'=>'z', 'À'=>'A', 'Á'=>'A', 'Â'=>'A', 'Ã'=>'A', 'Ä'=>'A', 'Å'=>'A', 'Æ'=>'A', 'Ç'=>'C', 'È'=>'E', 'É'=>'E',
'Ê'=>'E', 'Ë'=>'E', 'Ì'=>'I', 'Í'=>'I', 'Î'=>'I', 'Ï'=>'I', 'Ñ'=>'N', 'Ò'=>'O', 'Ó'=>'O', 'Ô'=>'O', 'Õ'=>'O', 'Ö'=>'O', 'Ø'=>'O', 'Ù'=>'U',
'Ú'=>'U', 'Û'=>'U', 'Ü'=>'U', 'Ý'=>'Y', 'Þ'=>'B', 'ß'=>'Ss', 'à'=>'a', 'á'=>'a', 'â'=>'a', 'ã'=>'a', 'ä'=>'a', 'å'=>'a', 'æ'=>'a', 'ç'=>'c',
'è'=>'e', 'é'=>'e', 'ê'=>'e', 'ë'=>'e', 'ì'=>'i', 'í'=>'i', 'î'=>'i', 'ï'=>'i', 'ð'=>'o', 'ñ'=>'n', 'ò'=>'o', 'ó'=>'o', 'ô'=>'o', 'õ'=>'o',
'ö'=>'o', 'ø'=>'o', 'ù'=>'u', 'ú'=>'u', 'û'=>'u', 'ý'=>'y', 'þ'=>'b', 'ÿ'=>'y' );
foreach($typeEl as $type){
$res=PHDB::find($type);
echo "//////////".count($res)." ".$type."/////////////////
";
$count=0;
foreach ($res as $key => $value) {
if(@$value["name"] && !empty($value["name"])){
// replace non letter or digits by -
$str="";
if(strlen($value["name"])>50)
substr($value["name"],50);
$value=explode(" ",$value["name"]);
$i=0;
foreach($value as $v){
$text = strtr( $v, $unwanted_array );
//$text = iconv('utf-8', 'us-ascii//TRANSLIT', $text);
$text = preg_replace('~[^\\pL\d]+~u', '', $text);
// trim
$text = trim($text, '-');
// transliterate
$text = iconv('utf-8', 'us-ascii//TRANSLIT', $text);
// lowercase
$text = strtolower($text);
if($i>0)
$text = ucfirst($text);
// remove unwanted characters
$text = preg_replace('~[^-\w]+~', '', $text);
$str.=$text;
$i++;
}
if(in_array($str, $slugExist)){
//if(!Slug::check(array("slug"=>$str,"type"=>Organization::COLLECTION,"id"=>$key))){
$v = 1; // $i est un nombre que l'on incrémentera.
$inc=true;
//echo "ouuuuuuuuuiiii";
while($inc==true)
{
//$inc=Slug::check(array("slug"=>$str.$i,"type"=>Organization::COLLECTION,"id"=>$key));
//echo $i . "
";
$inc=in_array($str.$v, $slugExist);
//echo $inc;
echo "ca bloque la ".$str.$v;
if(!$inc)
$str=$str.$v;
else
$v ++ ;
}
}
array_push($slugExist, $str);
echo $key."////".$type."/////".$str."
";
//INSERT IN SLUG COLLECTION
PHDB::insert(Slug::COLLECTION,array("name"=>$str,"id"=>$key,"type"=>$type));
//INSERT SLUG ENTRY IN ELEMENT
PHDB::update(
$type,
array("_id"=>new MongoId($key)),
array('$set'=>array("slug"=>$str)));
$count++;
}
}
echo "////////////////".$count." ".$type." traités (comme des animaux) ///////";
}
}else
echo "Tout le monde t'as vu !! reste bien tranquille";
}
public function actionInsertFoldersElement(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
ini_set('memory_limit', '-1');
ini_set('max_execution_time', 300);
//$slugcitoyens=PHDB::find(Slug::COLLECTION);
$typeEl=array("organizations","projects","events","citoyens");
//$slugExist=array();
//foreach($slugcitoyens as $data){
// array_push($slugExist,$data["name"]);
//}
foreach($typeEl as $type){
$res=PHDB::find($type,array("documents"=>array('$exists'=>true)));
echo "//////////".count($res)." ".$type."/////////////////
";
$count=0;
foreach ($res as $key => $value) {
// replace non letter or digits by -
var_dump($value["documents"]);
$folders=[];
if(@$value["documents"]["image"]){
$folders=array_merge($folders,self::prepareFolder($type, $key, $value["documents"]["image"], "image"));
}
if(@$value["documents"]["file"]){
$folders=array_merge($folders,self::prepareFolder($type, $key, $value["documents"]["file"], "file"));
}
var_dump($folders);
$count++;
}
echo "////////////////".$count." ".$type." traités (comme des animaux) ///////";
}
}else
echo "Tout le monde t'as vu !! reste bien tranquille";
}
public function actionCreateFoldersPathAndDocumentPath(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
ini_set('memory_limit', '-1');
ini_set('max_execution_time', 300);
$res=PHDB::find(Folder::COLLECTION);
echo "//////////".count($res)." folders vont être épiés traités envoyer à l'abatoire/////////////////
";
$count=0;
foreach ($res as $key => $value) {
$docs=PHDB::find(Document::COLLECTION,
array("id"=>$value["contextId"], "type"=>$value["contextType"], "doctype"=>$value["docType"], "collection"=>$value["name"]));
$folderPath=Folder::getFolderPath($value);
self::createfolder($folderPath);
echo "=>>>>>>> folder path : ".$folderPath."
";
foreach($docs as $id => $v){
$pathDocument=Document::getDocumentPath($v);
$newPath=$folderPath."/".$v["name"];
echo $id." :: ".$pathDocument."";
echo "Move file to :: ".$newPath."";
if(file_exists ($pathDocument))
rename($pathDocument, $newPath);
$count++;
}
//var_dump($folders);
}
echo "////////////////".$count." documents sous de la source de la kilienne ///////";
}else
echo "Tout le monde t'as vu !! reste bien tranquille";
}
public function actionCreateThumbPath(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
ini_set('memory_limit', '-1');
ini_set('max_execution_time', 300);
$docs=PHDB::find(Document::COLLECTION,
array("doctype"=>"image", "folderId"=>array('$exists'=>true)));
//echo "=>>>>>>> folder path : ".$folderPath."
";
$count=0;
foreach($docs as $id => $v){
$folderPath=Folder::getFolderPath(Folder::getById($v["folderId"]))."/thumb";
self::createfolder($folderPath);
$pathDocument=Yii::app()->params['uploadDir'].$v["moduleId"]."/".$v["folder"]."/thumb/".$v["name"];
$newPath=$folderPath."/".$v["name"];
echo $id." :: ".$pathDocument."";
echo "Move file to :: ".$newPath."";
if(file_exists ($pathDocument))
rename($pathDocument, $newPath);
$count++;
//var_dump($folders);
}
echo "////////////////".$count." documents sous de la source de la kilienne ///////";
}else
echo "Tout le monde t'as vu !! reste bien tranquille";
}
public function actionUpdateDocsAndDeleteCollection(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
ini_set('memory_limit', '-1');
ini_set('max_execution_time', 300);
$res=PHDB::find(Folder::COLLECTION);
echo "//////////".count($res)." folders ont été épiés traités envoyer à l'abatoire/////////////////
";
$count=0;
foreach ($res as $key => $value) {
$docs=PHDB::find(Document::COLLECTION,
array("id"=>$value["contextId"], "type"=>$value["contextType"], "doctype"=>$value["docType"], "collection"=>$value["name"]));
foreach($docs as $id => $v){
echo $id." :: ".$key."";
$set=array('$set'=>array("folderId"=>$key), '$unset'=>array("collection"=>true));
PHDB::update(
Document::COLLECTION,
array("_id"=>new MongoId($id)),
$set);
$count++;
}
}
echo "////////////////".$count." documents updaté avec le folderId ///////";
$typeEl=array("organizations","projects","events","citoyens");
$count=0;
foreach($typeEl as $type){
$el=PHDB::find($type,array("documents"=>array('$exists'=>true)));
//echo "//////////".count($res)." ".$type."/////////////////
";
foreach ($el as $key => $value) {
PHDB::update(
$type,
array("_id"=>new MongoId($key)),
array('$unset'=>array("documents"=>true)));
$count++;
}
}
echo "////////////////".$count." elements ou l'on a supprimer l'arbre documentations ///////";
}else
echo "Tout le monde t'as vu !! reste bien tranquille";
}
public static function createfolder($folderPath){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
echo "/////////////create folder//////////////////////////
";
$upload_dir = Yii::app()->params['uploadDir']."communecter/";
$folderPath=str_replace ( $upload_dir , "" , $folderPath );
$folderPathExp=explode("/", $folderPath);
foreach($folderPathExp as $folder){
$upload_dir .= $folder.'/';
echo $upload_dir."
";
if( !file_exists ( $upload_dir ) )
mkdir ( $upload_dir,0775 );
}
}else{
echo "Bah alors champion ? douché q'tin reconno";
}
}
public static function actionChangeFilesCTESurveyDatas(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
$el=PHDB::find(Document::COLLECTION,array("keySurvey"=>array('$exists'=>true)));
//echo "//////////".count($res)." ".$type."/////////////////
";
$count=0;
foreach ($el as $key => $value) {
$arraySetted=array('$unset'=>array("keySurvey"=>""), '$set'=>array("surveyId"=>'cte'));
//print_r($value);
PHDB::update(
Document::COLLECTION,
array("_id"=>new MongoId($key)),
$arraySetted);
$count++;
}
echo $count." documents qui sont passés à la casserole";
}else{
echo "Bah alors champion ? douché q'tin reconno";
}
}
public static function prepareFolder($type, $id, $value, $docType, $parentId=null){
$foldarray=[];
foreach($value as $key => $subs){
if($key != "updated"){
$newFolder=array("name"=>$key, "docType" => $docType, "contextId"=>$id, "contextType"=> $type, "created"=> @$subs["updated"], "updated"=>@$subs["updated"]);
$newFolder["count"]=PHDB::count(Document::COLLECTION, array("type"=>$type, "id"=>$id, "collection"=>$key));
if(!empty($parentId))
$newFolder["parentId"]=$parentId;
PHDB::insert(Folder::COLLECTION,
$newFolder);
array_push($foldarray, $newFolder);
if(count($subs)>1)
$foldarray=array_merge($foldarray,self::prepareFolder($type, $id, $subs, $docType, (string)$newFolder["_id"]));
}
}
return $foldarray;
}
public function actionParentObjectInsteadOfString(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
ini_set('memory_limit', '-1');
ini_set('max_execution_time', 300);
//$slugcitoyens=PHDB::find(Slug::COLLECTION);
$typeEl=array("organizations","events","projects", "classifieds", "poi");
foreach($typeEl as $type){
$where=array("parentId"=>array('$exists'=>true));
if($type==Event::COLLECTION)
$where=array('$or'=>array(
$where,
array("organizerId"=>array('$exists'=>true))
));
$res=PHDB::find($type,$where);
echo "//////////".count($res)." ".$type." avec parent/////////////////
";
$count=0;
foreach($res as $key => $value){
$set=array();
$unset=array();
if(@$value["parentId"] && !@$value["parent"]){
if(!@$value["parentType"] && $type==Event::COLLECTION)
$parentType= Event::COLLECTION;
else
$parentType=$value["parentType"];
$set["parent"]=array($value["parentId"] => array("type"=>$parentType));
}
if(@$value["parentId"]){
$unset["parentId"]=true;
$unset["parentType"]=true;
}
if(@$value["organizerId"] && $value["organizerId"]!="dontKnow" && !@$value["organizer"] && @$value["organizerType"]){
$set["organizer"]=array($value["organizerId"] => array("type"=>$value["organizerType"]));
}
if(@$value["organizerId"]){
$unset["organizerId"]=true;
$unset["organizerType"]=true;
}
echo "// ".$count." - id : ".$key."
";
/*print_r($set);
echo "
";
print_r($unset);*/
if(!empty($set) || !empty($unset)){
$update=array();
if(!empty($set)){
$update['$set']=$set;
}
if(!empty($unset)){
$update['$unset']=$unset;
}
print_r($update);
echo "
";
echo "
";
echo "
";
PHDB::update(
$type,
array("_id"=>new MongoId($key)),
$update);
$count++;
}
}
echo "////////////////".$count." ".$type." ont été traités (comme des sauvages alors que nous sommes des sauvages) ///////
";
}
}else
echo "Tout le monde t'as vu !! reste bien tranquille";
}
public function actionUpdateSlugifyElement(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
ini_set('memory_limit', '-1');
ini_set('max_execution_time', 300);
//$slugcitoyens=PHDB::find(Slug::COLLECTION);
$typeEl=array("organizations","projects","events","citoyens");
//$slugExist=array();
//foreach($slugcitoyens as $data){
// array_push($slugExist,$data["name"]);
//}
$unwanted_array = array( 'Š'=>'S', 'š'=>'s', 'Ž'=>'Z', 'ž'=>'z', 'À'=>'A', 'Á'=>'A', 'Â'=>'A', 'Ã'=>'A', 'Ä'=>'A', 'Å'=>'A', 'Æ'=>'A', 'Ç'=>'C', 'È'=>'E', 'É'=>'E',
'Ê'=>'E', 'Ë'=>'E', 'Ì'=>'I', 'Í'=>'I', 'Î'=>'I', 'Ï'=>'I', 'Ñ'=>'N', 'Ò'=>'O', 'Ó'=>'O', 'Ô'=>'O', 'Õ'=>'O', 'Ö'=>'O', 'Ø'=>'O', 'Ù'=>'U',
'Ú'=>'U', 'Û'=>'U', 'Ü'=>'U', 'Ý'=>'Y', 'Þ'=>'B', 'ß'=>'Ss', 'à'=>'a', 'á'=>'a', 'â'=>'a', 'ã'=>'a', 'ä'=>'a', 'å'=>'a', 'æ'=>'a', 'ç'=>'c',
'è'=>'e', 'é'=>'e', 'ê'=>'e', 'ë'=>'e', 'ì'=>'i', 'í'=>'i', 'î'=>'i', 'ï'=>'i', 'ð'=>'o', 'ñ'=>'n', 'ò'=>'o', 'ó'=>'o', 'ô'=>'o', 'õ'=>'o',
'ö'=>'o', 'ø'=>'o', 'ù'=>'u', 'ú'=>'u', 'û'=>'u', 'ý'=>'y', 'þ'=>'b', 'ÿ'=>'y' );
foreach($typeEl as $type){
$res=PHDB::find($type,array("slug"=>array('$exists'=>false)));
echo "//////////".count($res)." ".$type."/////////////////
";
$count=0;
foreach ($res as $key => $value) {
if(@$value["name"] && !empty($value["name"])){
// replace non letter or digits by -
$str="";
if(strlen($value["name"])>50)
substr($value["name"],50);
$value=explode(" ",$value["name"]);
$i=0;
foreach($value as $v){
$text = strtr( $v, $unwanted_array );
//$text = iconv('utf-8', 'us-ascii//TRANSLIT', $text);
$text = preg_replace('~[^\\pL\d]+~u', '', $text);
// trim
$text = trim($text, '-');
// transliterate
$text = iconv('utf-8', 'us-ascii//TRANSLIT', $text);
// lowercase
$text = strtolower($text);
if($i>0)
$text = ucfirst($text);
// remove unwanted characters
$text = preg_replace('~[^-\w]+~', '', $text);
$str.=$text;
$i++;
}
if(in_array($str, $slugExist)){
//if(!Slug::check(array("slug"=>$str,"type"=>Organization::COLLECTION,"id"=>$key))){
$v = 1; // $i est un nombre que l'on incrémentera.
$inc=true;
//echo "ouuuuuuuuuiiii";
while($inc==true)
{
//$inc=Slug::check(array("slug"=>$str.$i,"type"=>Organization::COLLECTION,"id"=>$key));
//echo $i . "
";
$inc=in_array($str.$v, $slugExist);
//echo $inc;
echo "ca bloque la ".$str.$v;
if(!$inc)
$str=$str.$v;
else
$v ++ ;
}
}
array_push($slugExist, $str);
echo $key."////".$type."/////".$str."
";
//INSERT IN SLUG COLLECTION
PHDB::insert(Slug::COLLECTION,array("name"=>$str,"id"=>$key,"type"=>$type));
//INSERT SLUG ENTRY IN ELEMENT
PHDB::update(
$type,
array("_id"=>new MongoId($key)),
array('$set'=>array("slug"=>$str)));
$count++;
}
}
echo "////////////////".$count." ".$type." traités (comme des animaux) ///////";
}
}else
echo "Tout le monde t'as vu !! reste bien tranquille";
}
public function actionRelaunchInvitation(){
ini_set('memory_limit', '-1');
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
$res=PHDB::find(Person::COLLECTION,array("pending"=>array('$exists'=>true)), array("name", "language", "invitedBy", "email"));
$i=0;
$v=0;
$languageUser = Yii::app()->language;
foreach($res as $key => $value){
if(DataValidator::email($value["email"])=="" && !empty($value["language"])){
echo $key." : ".$value["name"]." : ".$value["language"]."
";
Yii::app()->language = $value["language"];
Mail::relaunchInvitePerson($value);
$i++;
}else{
$v++;
}
}
echo $i." mails envoyé pour relancer l'inscription
";
echo $v." utilisateur non inscrit (validé) qui ont un mail de marde
";
Yii::app()->language = $languageUser ;
}else
echo "Pas d'envoie pour toi ma cocote !! Tu vas aller au four plutot";
}
public function actionMailMaj(){
ini_set('memory_limit', '-1');
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
Mail::mailMaj();
}else
echo "Pas d'envoie pour toi ma cocote !! Tu vas aller au four plutot";
}
public function actionRegionList(){
//if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
ini_set('memory_limit', '-1');
$nbelement = 0 ;
$erreur = array();
$region = array();
$aggregate = array(
array(
'$group' => array(
"_id" => array( "level3Name" => '$level3Name',
"country" => '$country'),
),
),
);
$cities = PHDB::aggregate( City::COLLECTION, $aggregate);
//var_dump($cities);
if(!empty($cities["result"])){
foreach (@$cities["result"] as $keyElt => $city) {
if(!empty($city["_id"]["level3Name"]) && (!empty($city["_id"]["country"]) && $city["_id"]["country"] == "FR") )
echo '"'.$city["_id"]["level3Name"].'"
';
}
}
//}
}
public function actionActivityStreamDDA(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
ini_set('memory_limit', '-1');
$nbNews = 0 ;
$newsDDA = PHDB::find( News::COLLECTION, array("type"=>"activityStream",
'$or'=>array(
array("object.type"=>"proposals"),
array("object.type"=>"resolutions"),
array("object.type"=>"actions"),
array("object.type"=>"rooms")
)));
//var_dump($cities);
if(!empty($newsDDA)){
foreach (@$newsDDA as $key => $v) {
//if(!empty($city["_id"]["level3Name"]) && (!empty($city["_id"]["country"]) && $city["_id"]["country"] == "FR") )
echo "
------------------------
".
"object:".$v["object"]["type"]."
".
"target:".$v["target"]["type"]."
".
"share:
";
print_r($v["sharedBy"]);
$nbNews++;
}
}
echo "Nombre news traitées : ".$nbNews;
}else
echo "sorry for you, you are not an agent C007";
}
public function actionPublicEvent(){
ini_set('memory_limit', '-1');
$nbelement = 0 ;
$where = array("public" => array('$exists' => 0));
$fields = array("name");
$events = PHDB::find( Event::COLLECTION, $where, $fields);
foreach ($events as $key => $value) {
// if(!empty($value["name"]))
// echo $key." : ".$value["name"]."
";
$res = PHDB::update(Event::COLLECTION,
array("_id"=>new MongoId($key)),
array('$set' => array("public" => true ))
);
$nbelement++;
}
echo $nbelement." elements mis a jours";
}
public function actionRemoveMarkerPathRessourcesClassified(){
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
ini_set('memory_limit', '-1');
$nbRessources = 0 ;
$nbClass=0;
$ressources = PHDB::find( Ressource::COLLECTION);
foreach ($ressources as $key => $value) {
// if(!empty($value["name"]))
// echo $key." : ".$value["name"]."
";
if (@$value["profilMarkerImageUrl"]){
$res = PHDB::update(Ressource::COLLECTION,
array("_id"=>new MongoId($key)),
array('$unset' => array("profilMarkerImageUrl" => "" ))
);
$nbRessources++;
}
}
$class = PHDB::find( Classified::COLLECTION);
foreach ($class as $key => $value) {
// if(!empty($value["name"]))
// echo $key." : ".$value["name"]."
";
if (@$value["profilMarkerImageUrl"]){
$res = PHDB::update(Classified::COLLECTION,
array("_id"=>new MongoId($key)),
array('$unset' => array("profilMarkerImageUrl" => "" ))
);
$nbClass++;
}
}
echo $nbClass. " miss à pjour";
echo $nbRessources." yepa";
}else
echo "salut toi !!!!!";
}
public function actionIrisUpdateInter(){
ini_set('memory_limit', '-1');
$nbelement = 0 ;
$nbelementtotal = 0 ;
$where = array("level1" => array('$exists' => 0));
$fields = array("name","insee");
$iris = PHDB::find( "zones_iris", $where, $fields);
foreach ($iris as $key => $value) {
// if(!empty($value["name"]))
echo $key." : ".$value["name"]."
";
if(!empty($value["insee"])){
$city = PHDB::findOne( "cities", array("insee" => $value["insee"]) , array("_id","insee", "name", "level1", "level2", "level1Name", "level3Name", "level4Name", "level2Name", "level3", "level4"));
$set =array("localityId" => (String) $city["_id"],
"level1" => $city["level1"],
"level2" => $city["level2"],
"level1Name" => $city["level1Name"],
"level3Name" => $city["level3Name"],
"level4Name" => $city["level4Name"],
"level2Name" => $city["level2Name"],
"level3" => $city["level3"],
"level4" => $city["level4"]);
if(!empty("city")){
$res = PHDB::update("zones_iris",
array("_id"=>new MongoId($key)),
array('$set' => $set)
);
$nbelement++;
}
}
$nbelementtotal++;
break;
}
echo $nbelement." iris mis a jours / ".$nbelementtotal;
}
public function actionUpdateTranslatewithNAmeCP(){
ini_set('memory_limit', '-1');
$nbelement = 0 ;
$nbelementtotal = 0 ;
$where = array("postalCodes" => array('$exists' => 1));
$fields = array("name","insee", "postalCodes", "translateId");
$cities = PHDB::find("cities", $where, $fields);
foreach ($cities as $key => $value) {
// if(!empty($value["name"]))
//echo $value["translateId"]." : ".$value["name"]."
";
if(!empty($value["postalCodes"])){
$cpTranslate = array();
foreach ($value["postalCodes"] as $keyCP => $valueCP) {
$cpTranslate[$keyCP]["origin"] = ucfirst(strtolower($valueCP["name"]));
$cpTranslate[$keyCP]["postalCode"] = $valueCP["postalCode"];
}
$set =array("postalCodes" => $cpTranslate);
//var_dump($set);
//echo "
";
$res = PHDB::update(Zone::TRANSLATE,
array("_id"=>new MongoId($value["translateId"])),
array('$set' => $set)
);
$nbelement++;
}
//break;
}
echo $nbelement." trnalate mis a jours / ";
}
public function actionUpdateMultiScope(){
ini_set('memory_limit', '-1');
$nbelement = 0 ;
$nbelementtotal = 0 ;
$where = array("multiscopes" => array('$exists' => 1), "modifiedByBatch.updateMultiScope" => array('$exists' => 0));
$fields = array("multiscopes", "name", "modifiedByBatch");
$person = PHDB::find(Person::COLLECTION, $where, $fields);
foreach ($person as $key => $value) {
if(!empty($value["multiscopes"])){
$newML = array();
foreach ($value["multiscopes"] as $keyCP => $valueCP) {
$newS = $valueCP;
if($newS["type"] == "cp"){
$city = PHDB::findOne(City::COLLECTION, array("postalCodes.postalCode" =>$newS["name"]), array("country"));
if(!empty($city)){
$newS["postalCode"] = $newS["name"];
$newS["countryCode"] = $city["country"];
unset($newS["cp"]);
$newML[$newS["postalCode"].$newS["countryCode"].$newS["type"]] = $newS;
}
}else if(!empty($newS["level"])){
$zone = PHDB::findOneById(Zone::COLLECTION, $keyCP,array("countryCode") );
if(!empty($zone)){
$newS["id"] = $keyCP;
$newS["countryCode"] = $zone["countryCode"];
$newML[$newS["id"].$newS["type"]] = $newS;
}
}else{
$city = PHDB::findOneById(City::COLLECTION, $keyCP,array("country") );
if(!empty($city)){
$newS["id"] = $keyCP;
$newS["type"] = City::COLLECTION;
$newS["countryCode"] = $city["country"];
if(!empty($newS["cp"])){
$newS["postalCode"] = $newS["cp"];
unset($newS["cp"]);
}
$newML[(String)$city["_id"].$newS["type"]] = $newS;
}
}
}
$set[] =$newML ;
$value["modifiedByBatch"][] = array("updateMultiScope" => new MongoDate(time()));
$set =array("multiscopes" => $newML,
"modifiedByBatch" => $value["modifiedByBatch"]);
$res = PHDB::update(Person::COLLECTION,
array("_id"=>new MongoId($key)),
array('$set' => $set)
);
$nbelement++;
}
}
echo $nbelement." multiscopes mis a jours / ";
//echo json_encode($set);
}
public function actionUpdateZoneMissingNameLevel1(){
ini_set('memory_limit', '-1');
$nbelement = 0 ;
$nbelementtotal = 0 ;
$where = array("level1" => array('$exists' => 1), "level1Name" => array('$exists' => 0));
$fields = array("level1", "name", "level");
$zones = PHDB::find(Zone::COLLECTION, $where, $fields);
$names = array();
foreach ($zones as $key => $value) {
//echo $key."
";
if(!in_array("1", $value["level"])){
echo $key." : ".$value["name"]."
";
if(empty($names[$value["level1"]])){
$nameLevel1 = Zone::getById($value["level1"], array("name"));
$names[(String)$nameLevel1["_id"]] = $nameLevel1["name"];
}
$set = array("level1Name" => $names[$value["level1"]]);
$res = PHDB::update(Zone::COLLECTION,
array("_id"=>new MongoId($key)),
array('$set' => $set)
);
$nbelement++;
}
}
echo $nbelement." trnalate mis a jours / ";
}
public function actionUpdateZoneMissingNameLevel2(){
ini_set('memory_limit', '-1');
$nbelement = 0 ;
$nbelementtotal = 0 ;
$where = array("level2" => array('$exists' => 1), "level2Name" => array('$exists' => 0));
$fields = array("level2", "name", "level");
$zones = PHDB::find(Zone::COLLECTION, $where, $fields);
$names = array();
foreach ($zones as $key => $value) {
if(!in_array("1", $value["level"])){
echo $key." : ".$value["name"]."
";
if(empty($names[$value["level2"]])){
$nameLevel2 = Zone::getById($value["level2"], array("name"));
$names[(String)$nameLevel2["_id"]] = $nameLevel2["name"];
}
$set = array("level2Name" => $names[$value["level2"]]);
$res = PHDB::update(Zone::COLLECTION,
array("_id"=>new MongoId($key)),
array('$set' => $set)
);
$nbelement++;
}
}
echo $nbelement." trnalate mis a jours / ";
}
public function actionUpdateZoneMissingNameLevel3(){
ini_set('memory_limit', '-1');
$nbelement = 0 ;
$nbelementtotal = 0 ;
$where = array("level3" => array('$exists' => 1), "level3Name" => array('$exists' => 0));
$fields = array("level3", "name", "level");
$zones = PHDB::find(Zone::COLLECTION, $where, $fields);
$names = array();
foreach ($zones as $key => $value) {
if(!in_array("1", $value["level"])){
echo $key." : ".$value["name"]."
";
if(empty($names[$value["level3"]])){
$nameLevel3 = Zone::getById($value["level3"], array("name"));
$names[(String)$nameLevel3["_id"]] = $nameLevel3["name"];
}
$set = array("level3Name" => $names[$value["level3"]]);
$res = PHDB::update(Zone::COLLECTION,
array("_id"=>new MongoId($key)),
array('$set' => $set)
);
$nbelement++;
}
}
echo $nbelement." trnalate mis a jours / ";
}
public function actionBatchCorrectionLevel($id = null) {
ini_set('memory_limit', '-1');
//if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) ) && !empty($id) ){
$nbelement = 0 ;
$nbCity = 0;
$nbN = 0;
$zone = PHDB::findOneById( Zone::COLLECTION, $id);
$where = array();
$whereElt = array();
if(in_array("4", $zone["level"])){
$newLevel = "4";
$where["level4"] = $id;
$whereElt["address.level4"] = $id;
$whereNews = array('$or' => array(
array("scope.localities.level4" => $id),
array('$and' => array(
array("scope.localities.parentId" => $id),
array("scope.localities.parentType" => Zone::COLLECTION),
))
));
if(!empty($zone["level3"])){
$set["level3"] = $zone["level3"];
$set["level3Name"] = $zone["level3Name"];
$setElt["address.level3"] = $zone["level3"];
$setElt["address.level3Name"] = $zone["level3Name"];
}
if(!empty($zone["level2"])){
$set["level2"] = $zone["level2"];
$set["level2Name"] = $zone["level2Name"];
$setElt["address.level2"] = $zone["level2"];
$setElt["address.level2Name"] = $zone["level2Name"];
}
if(!empty($zone["level1"])){
$set["level1"] = $zone["level1"];
$set["level1Name"] = $zone["level1Name"];
$setElt["address.level1"] = $zone["level1"];
$setElt["address.level1Name"] = $zone["level1Name"];
}
}
else if(in_array("3", $zone["level"])){
$newLevel = "3";
$where["level3"] = $id;
$whereElt["address.level3"] = $id;
$whereNews = array('$or' => array(
array("scope.localities.level3" => $id),
array('$and' => array(
array("scope.localities.parentId" => $id),
array("scope.localities.parentType" => Zone::COLLECTION),
))
));
if(!empty($zone["level2"])){
$set["level2"] = $zone["level2"];
$set["level2Name"] = $zone["level2Name"];
$setElt["address.level2"] = $zone["level2"];
$setElt["address.level2Name"] = $zone["level2Name"];
}
if(!empty($zone["level1"])){
$set["level1"] = $zone["level1"];
$set["level1Name"] = $zone["level1Name"];
$setElt["address.level1"] = $zone["level1"];
$setElt["address.level1Name"] = $zone["level1Name"];
}
}
else if(in_array("2", $zone["level"])){
$newLevel = "2";
$where["level2"] = $id;
$whereElt["address.level2"] = $id;
$whereNews = array('$or' => array(
array("scope.localities.level2" => $id),
array('$and' => array(
array("scope.localities.parentId" => $id),
array("scope.localities.parentType" => Zone::COLLECTION),
))
));
if(!empty($zone["level1"])){
$set["level1"] = $zone["level1"];
$set["level1Name"] = $zone["level1Name"];
$setElt["address.level1"] = $zone["level1"];
$setElt["address.level1Name"] = $zone["level1Name"];
}
}
if(!empty($zone) && !empty($where) && !empty($whereElt)){
$cities = PHDB::find( City::COLLECTION, $where);
if(!empty($cities )){
foreach ($cities as $keyC => $city) {
//echo $keyC." : ".$city["name"]."
";
$nbCity++;
$res = PHDB::update(City::COLLECTION,
array("_id"=>new MongoId($keyC)),
array('$set' => $set)
);
}
}
$types = array(Person::COLLECTION , Organization::COLLECTION, Project::COLLECTION, Event::COLLECTION, Poi::COLLECTION);
foreach ($types as $keyType => $type) {
$elts = PHDB::find($type, $whereElt );
echo"**************".$type."**************
";
if(!empty($elts)){
foreach ($elts as $keyE => $elt) {
echo $keyE." : ".$elt["name"]."
";
$nbelement++;
$newAd = $elt["address"];
if($newLevel == "4"){
if(!empty($zone["level3"])){
$newAd["level3"] = $zone["level3"];
$newAd["level3Name"] = $zone["level3Name"];
}
if(!empty($zone["level2"])){
$newAd["level2"] = $zone["level2"];
$newAd["level2Name"] = $zone["level2Name"];
}
if(!empty($zone["level1"])){
$newAd["level1"] = $zone["level1"];
$newAd["level1Name"] = $zone["level1Name"];
}
}
if($newLevel == "3"){
if(!empty($zone["level2"])){
$newAd["level2"] = $zone["level2"];
$newAd["level2Name"] = $zone["level2Name"];
}
if(!empty($zone["level1"])){
$newAd["level1"] = $zone["level1"];
$newAd["level1Name"] = $zone["level1Name"];
}
}
if($newLevel == "2"){
if(!empty($zone["level1"])){
$newAd["level1"] = $zone["level1"];
$newAd["level1Name"] = $zone["level1Name"];
}
}
$setElt = array("address" => $newAd);
$res = PHDB::update($type,
array("_id"=>new MongoId($keyE)),
array('$set' => $setElt)
);
}
}
}
echo"**************NEWS**************
";
$news = PHDB::find( News::COLLECTION, $whereNews);
if(!empty($news )){
foreach ($news as $keyN => $new) {
echo $keyN." : ".(!empty($new["text"]) ? $new["text"] : "")."
";
if(!empty($new["scope"]["localities"])){
$loc = array();
foreach ($new["scope"]["localities"] as $key => $value) {
if( ( !empty($value["level".$newLevel]) && $value["level".$newLevel] == $id ) ||
( !empty($value["parentId"]) && !empty($value["parentType"]) &&
$value["parentId"] == $id && $value["parentType"] == Zone::COLLECTION )) {
if($newLevel == "4"){
if(!empty($zone["level3"]))
$value["level3"] = $zone["level3"];
if(!empty($zone["level2"]))
$value["level2"] = $zone["level2"];
if(!empty($zone["level1"]))
$value["level1"] = $zone["level1"];
}
if($newLevel == "3"){
if(!empty($zone["level2"]))
$value["level2"] = $zone["level2"];
if(!empty($zone["level1"]))
$value["level1"] = $zone["level1"];
}
if($newLevel == "2"){
if(!empty($zone["level1"]))
$value["level1"] = $zone["level1"];
}
$loc[] = $value;
}
}
$setNew["scope"] = $new["scope"] ;
//var_dump($setNew);
$setNew["scope"]["localities"] = $loc;
echo "
";
$res = PHDB::update( News::COLLECTION,
array("_id"=>new MongoId($keyN)),
array('$set' => $setNew));
$nbN++;
}
}
}
}
echo "NB city mis à jours: " .$nbCity."
" ;
echo "NB Element mis à jours: " .$nbelement."
" ;
echo "NB new mis à jours: " .$nbN."
" ;
// }else{
// echo "here";
// }
}
public function actionUpdateScopeNews(){
ini_set('memory_limit', '-1');
$nbelement = 0 ;
$nbelementtotal = 0 ;
$where = array("scope.localities" => array('$exists' => 1), "modifiedByBatch.UpdateScopeNews" => array('$exists' => 0));
$fields = array("scope", "modifiedByBatch");
$news = PHDB::find(News::COLLECTION, $where, $fields);
foreach ($news as $key => $value) {
//echo $key." : ".$value["name"]."
";
$set = array();
if(!empty($value["scope"]["localities"]) ){
$newML = array();
foreach ($value["scope"]["localities"] as $keyscope => $scope) {
$newS = $scope;
//var_dump(count($value["scope"]["localities"]));
//echo City::COLLECTION." ".City::CONTROLLER." ";
if( !empty($newS["parentType"]) &&
($newS["parentType"] == City::COLLECTION || $newS["parentType"] == City::CONTROLLER) ) {
$city = PHDB::findOneById(City::COLLECTION, $newS["parentId"] );
if(!empty($city)){
//$newS["postalCode"] = $newS["postalCode"];
if(!empty($city["postalCodes"]) && !empty( $newS["postalCode"] )){
if( count($city["postalCodes"]) == 1 ) {
$newS["name"] = $city["name"];
}else{
foreach ($city["postalCodes"] as $keyCP => $valueCP) {
if( $valueCP["postalCode"] == $newS["postalCode"] && empty($newS["name"] ) ) {
$newS["name"] = $city["name"];
}
}
}
}
if(empty($newS["name"] ))
$newS["name"] = $city["name"];
$newS["countryCode"] = $city["country"];
$newS = array_merge($newS, Zone::getLevelIdById($newS["parentId"], $city, Zone::COLLECTION) ) ;
$newML[] = $newS;
}
}else if( !empty($newS["parentType"]) && $newS["parentType"] == Zone::COLLECTION ) {
$zone = PHDB::findOneById(Zone::COLLECTION, $newS["parentId"] );
if(!empty($zone)){
$newS["countryCode"] = $zone["countryCode"];
$newS = array_merge($newS, Zone::getLevelIdById($newS["parentId"], $zone, Zone::COLLECTION) ) ;
$newML[] = $newS;
}
}else{
$where = array( "postalCodes.postalCode"=>strval(@$newS["postalCode"]));
$city = City::getWhereFindOne($where, $fields=null);
if(!empty($city)){
$newS["countryCode"] = $city["country"];
$newS = array_merge($newS, Zone::getLevelIdById((String) $city["_id"], $city, City::COLLECTION) ) ;
$newML[] = $newS;
}
}
}
// if(!empty($newML))
// $set[$key] =$newML ;
$value["modifiedByBatch"][] = array("UpdateScopeNews" => new MongoDate(time()));
$value["scope"]["localities"] = $newML;
$set =array("scope" => $value["scope"],
"modifiedByBatch" => $value["modifiedByBatch"]);
$res = PHDB::update(News::COLLECTION,
array("_id"=>new MongoId($key)),
array('$set' => $set)
);
$nbelement++;
}
}
echo $nbelement." news mis a jours / ";
//echo json_encode($set);
}
public function actionUpdateCPMisingImport(){
ini_set('memory_limit', '-1');
$nbelement = 0 ;
$nbelementtotal = 0 ;
$where = array("source" => array('$exists' => 1), "address.postalCode" => array('$exists' => 0));
$fields = array("name","address");
$orgas = PHDB::find(Organization::COLLECTION, $where, $fields);
foreach ($orgas as $key => $value) {
if(!empty($value["address"]) && empty($value["address"]["postalCode"])){
$city = PHDB::findOneById( City::COLLECTION, $value["address"]["localityId"], array("postalCodes") );
$newAddress = $value["address"];
if(!empty($city) && !empty($city["postalCodes"])){
if( count($city["postalCodes"]) == 1 ) {
$newAddress["postalCode"] = $city["postalCodes"][0]["postalCode"];
}else{
foreach ($city["postalCodes"] as $keyCP => $valueCP) {
$name = strtoupper(str_replace(array("-","é"), array(" ","e"), $newAddress["addressLocality"]));
if(strtoupper($valueCP["name"]) == $name){
echo $valueCP["postalCode"]." CP :
";
$newAddress["postalCode"] = $valueCP["postalCode"];
}
}
}
}
$set =array("address" => $newAddress);
echo $key." Name : ".$value["name"]." : ".(!empty($newAddress["postalCode"]) ? $newAddress["postalCode"] : "NULL")."
";
$res = PHDB::update(Organization::COLLECTION,
array("_id"=>new MongoId($key)),
array('$set' => $set)
);
echo $nbelement." multiscopes mis a jours / ";
$nbelement++;
}
}
}
public function actionBatchLanguage(){
ini_set('memory_limit', '-1');
$nbelement = 0 ;
$nbelementError = 0 ;
$where = array("language" => array('$exists' => 0));
$fields = array("name", "address", "invitedBy");
$persons = PHDB::find(Person::COLLECTION, $where, $fields);
$fr = array("FR", "RE", "NC", "GP", "GF", "MQ", "BE", "YT", "CA","CH");
$en = array("EN", "DE", "BG","FI","ES", "CG","IT");
//$en = array("EN");
foreach ($persons as $key => $value) {
$set = array();
if(!empty($value["address"]) && !empty($value["address"]["addressCountry"])){
if(in_array($value["address"]["addressCountry"], $fr))
$set["language"] = "fr";
else if(in_array($value["address"]["addressCountry"], $en))
$set["language"] = strtolower($value["address"]["addressCountry"]);
else
$set["language"] = "fr";
}else if( !empty($value["invitedBy"]) ) {
$set["language"] = 'fr';
$personInvite = PHDB::findOneById(Person::COLLECTION, $value["invitedBy"], array("address") );
if(!empty($personInvite["address"]) && !empty($personInvite["address"]["addressCountry"])){
if(in_array($personInvite["address"]["addressCountry"], $fr))
$set["language"] = "fr";
else if(in_array($personInvite["address"]["addressCountry"], $en))
$set["language"] = strtolower($personInvite["address"]["addressCountry"]);
else
$set["language"] = "fr";
}
}else {
$set["language"] = 'fr';
}
if(!empty($set)){
if(!empty($value["name"]))
echo $key." Name : ".$value["name"]." : ".$set["language"]."
";
else
echo $key." NOT : ".$set["language"]."
";
$res = PHDB::update(Person::COLLECTION,
array("_id"=>new MongoId($key)),
array('$set' => $set)
);
$nbelement++;
}else{
echo $key." Name : ".$value["name"]." : ERROR
";
$nbelementError++;
}
}
echo $nbelement." language mis a jours / ";
echo $nbelementError." language error / ";
}
public function actionBatchCountryMissing(){
ini_set('memory_limit', '-1');
$nbelement = 0 ;
$nbelementError = 0 ;
$where = array("address.addressCountry" => array('$exists' => 0), "address.addressCountry" => "");
$fields = array("name", "address", "invitedBy");
$persons = PHDB::find(Person::COLLECTION, $where, $fields);
$set=array();
foreach ($persons as $key => $value) {
//echo $key." Name! : ".$value["name"]." ".$value["address"]["codeInsee"]." :
";
$set=array();
if(!empty($value["address"]["addressLocality"]) && $value["address"]["addressLocality"] == "ST GILLES LES BAINS"){
$city = PHDB::findOneById(City::COLLECTION, "54c0965cf6b95c141800a518");
$add = $value["address"];
//var_dump($city);
if(!empty($city)){
unset($add["regionName"]);
unset($add["depName"]);
$add["addressCountry"] = $city["country"];
$add["level1"] = $city["level1"];
$add["level1Name"] = $city["level1Name"];
if(!empty($city["level2"])){
$add["level2"] = $city["level2"];
$add["level2Name"] = $city["level2Name"];
}
if(!empty($city["level3"])){
$add["level3"] = $city["level3"];
$add["level3Name"] = $city["level3Name"];
}
if(!empty($city["level4"])){
$add["level4"] = $city["level4"];
$add["level4Name"] = $city["level4Name"];
}
if(empty($add["localityId"])){
$add["localityId"] = (String) $city["_id"];
}
}
$set["address"] = $add;
}else if(!empty($value["address"]["codeInsee"])){
$city = PHDB::findOne(City::COLLECTION, array("insee" => $value["address"]["codeInsee"]));
$add = $value["address"];
//var_dump($city);
if(!empty($city)){
//echo $key." Name! : ".$value["name"]." ".$value["address"]["codeInsee"]." :
";
unset($add["regionName"]);
unset($add["depName"]);
$add["addressCountry"] = $city["country"];
$add["level1"] = $city["level1"];
$add["level1Name"] = $city["level1Name"];
if(!empty($city["level2"])){
$add["level2"] = $city["level2"];
$add["level2Name"] = $city["level2Name"];
}
if(!empty($city["level3"])){
$add["level3"] = $city["level3"];
$add["level3Name"] = $city["level3Name"];
}
if(!empty($city["level4"])){
$add["level4"] = $city["level4"];
$add["level4Name"] = $city["level4Name"];
}
if(empty($add["localityId"])){
$add["localityId"] = (String) $city["_id"];
}
}
$set["address"] = $add;
}
if(!empty($set)){
echo $key." Name : ".$value["name"]."
";
$res = PHDB::update(Person::COLLECTION,
array("_id"=>new MongoId($key)),
array('$set' => $set)
);
$nbelement++;
}else{
echo $key." Name : ".$value["name"]." : ERROR
";
$nbelementError++;
}
}
//echo json_encode($set);
echo $nbelement." multiscopes mis a jours / ";
}
public function actionOrganizationMissing(){
$orga = PHDB::find(Organization::COLLECTION, array( "type" => array('$exists' => false) ) );
$i = 0 ;
$v = 0;
foreach ($orga as $key => $value) {
echo date("d / m / y", $value["created"])." ; ".$value["name"];
if( !empty($value["source"]) ){
echo " ; IMPORT";
$i++;
}else{
echo " ; DYNFORM";
$v++;
}
echo " ; ".Yii::app()->getRequest()->getBaseUrl(true)."/#page.type.organizations.id.".$key."
";
$res = PHDB::update(Organization::COLLECTION,
array("_id"=>new MongoId($key)),
array('$set' => array("type" => "Group"))
);
}
echo $i." importé
";
echo $v." dynform
";
}
public function actionPoiGeoFormat(){
//{ $and : [ {"geo" : {$exists : 1} }, {"geo.@type" : {$ne : "GeoCoordinates"} } ] }
$where = array('$and' => array(
array("geo" => array('$exists' => 1)),
array("geo.@type" => array('$ne' => "GeoCoordinates"))
));
$poi = PHDB::find(Poi::COLLECTION, $where);
$i = 0 ;
foreach ($poi as $key => $value) {
if(!empty($value["geo"])){
$geo = SIG::getFormatGeo($value["geo"]["coordinates"][1], $value["geo"]["coordinates"][0]);
$res = PHDB::update(Poi::COLLECTION,
array("_id"=>new MongoId($key)),
array('$set' => array("geo" => $geo))
);
$i++;
}
}
echo $i." poi updaté
";
}
public function actionRemovePendingUser() {
$nbUser = 0;
$users = PHDB::find(Person::COLLECTION,
array("pending" => true),
array("pending", "modifiedByBatch"));
foreach ($users as $key => $person) {
$person["modifiedByBatch"][] = array("RemovePendingUser" => new MongoDate(time()));
$res = PHDB::update(Person::COLLECTION,
array("_id"=>new MongoId($key)),
array( '$set' => array( "modifiedByBatch" => $person["modifiedByBatch"]),
'$unset' => array("pending"=>"") )
);
if($res["ok"] == 1){
$nbUser++;
}else{
echo "
Error with user id : ".$key;
}
}
echo "Number of user with preferences modified : ".$nbUser;
}
public function actionInviteDigitalReunion() {
$nbUser = 0;
$orga = PHDB::find(Organization::COLLECTION,
array("source.key" => "digitalreunion"));
foreach ($orga as $key => $value){
$child = array();
$child[] = array( "childId" => $key,
"childType" => Organization::COLLECTION,
"childName" => $value["name"],
"roles" => array() );
//var_dump($child);
$res["organizations"][] = Link::multiconnect($child, "577e4ad740bb4e9c6e10130d", Organization::COLLECTION);
$res["update"][] = PHDB::update(Organization::COLLECTION,
array("_id"=>new MongoId($key)),
array( '$set' => array( "tags" => array("Digital Réunion"))));
}
//577e4ad740bb4e9c6e10130d
Rest::json($res); exit;
}
public function actionPendingMissing() {
$nbUser = 0;
$person = PHDB::find(Person::COLLECTION,
array("pwd" => array('$exists' => 0), "pending" => array('$exists' => 0)));
foreach ($person as $key => $value){
echo $key."
";
$nbUser++;
$res["update"][] = PHDB::update(Person::COLLECTION,
array("_id"=>new MongoId($key)),
array( '$set' => array( "pending" => true)));
}
echo $nbUser;
//577e4ad740bb4e9c6e10130d
//Rest::json($res); exit;
}
public function actionRemoveLevel3Mising() {
$nbUser = 0;
$city = PHDB::find(City::COLLECTION,
array("level3" => array('$exists' => 1), "level3Name" => array('$exists' => 0)));
foreach ($city as $key => $value){
echo $key." ".$value["name"]."
";
$nbUser++;
PHDB::update(City::COLLECTION,
array("_id"=>new MongoId($key)),
array( '$unset' => array( "level3"=> "")));
}
echo $nbUser;
}
public function actionUnifierAnswers() {
$nbAnswer = 0;
$answers = PHDB::find( Form::ANSWER_COLLECTION,
array("modifiedByBatch.UnifierAnswers" => array('$exists' => 0)) );
$unique = array();
$deleted = array();
foreach ($answers as $key => $answer) {
if(empty($unique[$answer["user"]])){
$unique[$answer["user"]] = array(
"user" => $answer["user"],
"name" => $answer["name"],
"email" => @$answer["email"],
"formId" => @$answer["parentSurvey"],
"created" => time(),
"session" => $answer["session"],
"answers" => array()
);
}
if( empty($unique[$answer["user"]]["created"]) &&
!empty($answer["created"]) ){
$unique[$answer["user"]]["created"] = $answer["created"];
}
if( empty($unique[$answer["user"]]["formId"]) &&
!empty($answer["parentSurvey"]) )
$unique[$answer["user"]]["formId"] = $answer["parentSurvey"];
if( empty($unique[$answer["user"]]["email"]) &&
!empty($answer["email"]) )
$unique[$answer["user"]]["email"] = $answer["email"];
if( !empty($answer["answers"]) &&
!empty($answer["formId"]) &&
in_array($answer["formId"], array("cte1", "cte2", "cte3") ) ) {
$unique[$answer["user"]]["answers"][$answer["formId"]]["answers"] = $answer["answers"] ;
$unique[$answer["user"]]["answers"][$answer["formId"]]["created"] = $answer["created"] ;
}
if( !empty($answer["step"]) &&
!empty($answer["formId"]) &&
$answer["formId"] == "cte") {
$unique[$answer["user"]]["step"] = $answer["step"] ;
}
if( !empty($answer["categories"]) &&
!empty($answer["formId"]) &&
$answer["formId"] == "cte") {
$unique[$answer["user"]]["categories"] = $answer["categories"] ;
}
if( !empty($answer["comment"]) &&
!empty($answer["formId"]) &&
$answer["formId"] == "cte") {
$unique[$answer["user"]]["comment"] = $answer["comment"] ;
}
if( !empty($answer["risks"]) &&
!empty($answer["formId"]) &&
$answer["formId"] == "cte") {
$unique[$answer["user"]]["risks"] = $answer["risks"] ;
}
if( !empty($answer["eligible"]) &&
!empty($answer["formId"]) &&
$answer["formId"] == "cte") {
$unique[$answer["user"]]["eligible"] = $answer["eligible"] ;
}
$unique[$answer["user"]]["modifiedByBatch"][] = array("UnifierAnswers" => new MongoDate(time()));
$deleted[] = new MongoId($key) ;
}
//Rest::json($unique);
PHDB::remove( Form::ANSWER_COLLECTION , array( "_id" => array('$in' => $deleted) ) );
foreach ($unique as $key => $value) {
PHDB::insert( Form::ANSWER_COLLECTION, $value );
}
echo "Good" ;
}
public function actionLinkParentForm() {
$nbUser = 0;
$form = Form::getById("cte");
$orga=PHDB::findOne($form ["parentType"],array("_id"=>new MongoId($form ["parentId"])), array("name", "links"));
$res = array();
if(!empty($orga["links"]["projects"] ) ) {
foreach ($form["links"]["projectExtern"] as $key => $value){
if(empty($orga["links"]["projects"][$key] ) ) {
$child = array();
$child[] = array( "childId" => (String) $form["parentId"],
"childType" => $form["parentType"],
"childName" => $orga["name"],
"roles" => (!empty($value["roles"]) ? $value["roles"] : array()) );
$res[] = Link::multiconnect($child, $key, $value["type"]);
$nbUser++;
}
}
}
$result = array("nb" => $nbUser,
"res" => $res);
Rest::json($result);
}
public function actionStepAnswers() {
$nbAnswer = 0;
$answers = PHDB::find( Form::ANSWER_COLLECTION,
array("modifiedByBatch.StepAnswers" => array('$exists' => 0)) );
$res = array();
foreach ($answers as $key => $answer) {
if(empty($answer["step"])){
$res [] = PHDB::update(Form::ANSWER_COLLECTION,
array("_id"=>new MongoId($key)),
array( '$set' => array( "step"=> "dossier")));
}
}
Rest::json($res);
}
public function actionUpdatePreferencesSendMail() {
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
$nbUser = 0;
$users = PHDB::find(Person::COLLECTION, array("modifiedByBatch.updatePreferencesSendMail" => array('$exists' => 0)));
foreach ($users as $key => $person) {
$person["modifiedByBatch"][] = array("updatePreferencesSendMail" => new MongoDate(time()));
$person["preferences"]["sendMail"] = true;
$res = PHDB::update(Person::COLLECTION,
array("_id"=>new MongoId($key)),
array('$set' => array( "preferences" => $person["preferences"],
"modifiedByBatch" => $person["modifiedByBatch"])
)
);
if($res["ok"] == 1){
$nbUser++;
}else{
echo "
Error with user id : ".$key;
}
}
echo "Number of user with preferences modified : ".$nbUser;
}
}
public function actionUpdatePreferencesSendMailUserPending() {
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
$nbUser = 0;
$users = PHDB::find(Person::COLLECTION, array("modifiedByBatch.UpdatePreferencesSendMailUserPending" => array('$exists' => 0), "roles.tobeactivated" => true));
//Rest::json($users); exit;
foreach ($users as $key => $person) {
$person["modifiedByBatch"][] = array("UpdatePreferencesSendMailUserPending" => new MongoDate(time()));
$person["preferences"]["sendMail"] = false;
$res = PHDB::update(Person::COLLECTION,
array("_id"=>new MongoId($key)),
array('$set' => array( "preferences" => $person["preferences"],
"modifiedByBatch" => $person["modifiedByBatch"])
)
);
if($res["ok"] == 1){
$nbUser++;
}else{
echo "
Error with user id : ".$key;
}
}
echo "Number of user with preferences modified : ".$nbUser;
}
}
public function actionSearchLinkMissingType() {
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
$nbUser = 0;
$users = PHDB::find(Person::COLLECTION,
array('$and' => array(
array("links" => array('$exists' => 1)),
array('$or' => array(
array("links.events.type" => array('$exists' => 0)),
array("links.follows.type" => array('$exists' => 0)),
array("links.memberOf.type" => array('$exists' => 0)),
array("links.projects.type" => array('$exists' => 0))
))
)));
//Rest::json($users); exit;
foreach ($users as $key => $person) {
//var_dump($value); echo "
";
if(!empty($person["links"])){
$newlinks = $person["links"];
$up = false;
foreach (@$person["links"] as $connectKey => $links) {
if(in_array($connectKey,["follows", "memberOf", "projects", "events"])){
foreach($links as $keyLinks => $value){
//var_dump($value); echo "
";
if(empty($value["type"])){
//Rest::json($newlinks[$connectKey]); exit;
//
echo $key." ".$person["name"]." > links.".$connectKey.".".$keyLinks."
";
$type = null ;
if($connectKey == "events"){
$elt = Element::getSimpleByTypeAndId(Event::COLLECTION, $keyLinks,array("name"));
$type = Event::COLLECTION;
} else if($connectKey == "projects"){
$elt = Element::getSimpleByTypeAndId(Project::COLLECTION, $keyLinks,array("name"));
$type = Project::COLLECTION;
}else{
$elt = Element::getSimpleByTypeAndId(Organization::COLLECTION, $keyLinks,array("name"));
$type = Organization::COLLECTION;
if(empty($elt)){
$elt = Element::getSimpleByTypeAndId(Person::COLLECTION, $keyLinks,array("name"));
$type = Person::COLLECTION;
}
if(empty($elt)){
$elt = Element::getSimpleByTypeAndId(Event::COLLECTION, $keyLinks,array("name"));
$type = Event::COLLECTION;
}
if(empty($elt)){
$elt = Element::getSimpleByTypeAndId(Project::COLLECTION, $keyLinks,array("name"));
$type = Project::COLLECTION;
}
if(empty($elt)){
$type = null;
}
}
if(!empty($elt) && !empty($type)){
$up = true;
$value["type"] = $type;
$newlinks[$connectKey][$keyLinks] = $value;
}
}
}
}
}
if($up === true){
$person["modifiedByBatch"][] = array("SearchLinkMissingType" => new MongoDate(time()));
//Rest::json($newlinks); exit;
$res = PHDB::update(Person::COLLECTION,
array("_id"=>new MongoId($key)),
array('$set' => array("links" => $newlinks )) );
if($res["ok"] == 1){
$nbUser++;
}else{
echo "
Error with user id : ".$key;
}
}
}
}
echo "Number of user with preferences modified : ".$nbUser;
}
}
public function actionHotfixAddressCPMissing() {
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
$nbUser = 0;
$types = array(Organization::COLLECTION, Project::COLLECTION, Event::COLLECTION);
foreach ($types as $keyT => $valT) {
$elts = PHDB::find($valT,
array("modifiedByBatch.HotfixAddressCPMissing" => array('$exists' => 0),
"address.addressCountry" => "FR",
"address.postalCode" => array('$exists' => 0)));
//Rest::json($elts); exit;
foreach ($elts as $keyE => $elt) {
$elt["modifiedByBatch"][] = array("HotfixAddressCPMissing" => new MongoDate(time()));
$city = City::getById($elt["address"]["localityId"], array("postalCodes"));
$cp = "NUUUUUUUULLLLLLL";
foreach ($city["postalCodes"] as $keyPC => $valPC) {
$cp = $valPC["postalCode"];
break;
}
$elt["address"]["postalCode"] = $cp ;
echo "
".$keyE." : ".$valT." : ".$elt["name"]." :: ".$cp;
$res = PHDB::update($valT,
array("_id"=>new MongoId($keyE)),
array('$set' => array( "address" => $elt["address"],
"modifiedByBatch" => $elt["modifiedByBatch"])
)
);
if($res["ok"] == 1){
$nbUser++;
}else{
echo "
Error with user id : ".$key;
}
}
}
echo "Number of user with preferences modified : ".$nbUser;
}
}
public function actionIviaticTagGeo() {
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
$nbUser = 0;
$tags = array();
$elts = PHDB::find(Organization::COLLECTION,
array("modifiedByBatch.IviaticTagGeo" => array('$exists' => 0),
"source.key" => "iviatic" ) );
//Rest::json($elts); exit;
foreach ($elts as $keyE => $elt) {
$elt["modifiedByBatch"][] = array("IviaticTagGeo" => new MongoDate(time()));
$tagsI = array("NORD", "PAS-DE-CALAIS", "SOMME", "OISE", "AISNE");
// "Hors région"
// "MEL"
// if( !empty($elt["address"]["level4Name"]) && !in_array($elt["address"]["level4Name"], $tags) ){
// if( in_array($elt["address"]["level4Name"], $tagsI) )
// $tags[] = $elt["address"]["level4Name"] ;
// else{
// //$tags[] = "Hors région";
// }
// if( $elt["address"]["level4Name"] == "NORD")
// $tags[] = "MEL";
// }
if( !empty($elt["address"]["level4Name"]) ){
if( in_array($elt["address"]["level4Name"], $tagsI) )
$elt["tags"][] = $elt["address"]["level4Name"] ;
else{
$elt["tags"][] = "Hors région";
}
if( $elt["address"]["level4Name"] == "NORD")
$elt["tags"][] = "MEL";
}
//echo "
".$keyE." : ".$valT." : ".$elt["name"]." :: ".$cp;
$res = PHDB::update(Organization::COLLECTION,
array("_id"=>new MongoId($keyE)),
array('$set' => array( "tags" => $elt["tags"],
"modifiedByBatch" => $elt["modifiedByBatch"] ) ) );
if($res["ok"] == 1){
$nbUser++;
}else{
echo "
Error with user id : ".$key;
}
}
//Rest::json($tags); exit;
echo "Number of user with preferences modified : ".$nbUser;
}
}
public function actionPublicProposal() {
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
$nbUser = 0;
$elts = PHDB::find( Proposal::COLLECTION,
array( "modifiedByBatch.PublicProposal" => array('$exists' => 0),
"parentType" => "citoyens") );
foreach ($elts as $keyE => $elt) {
$elt["modifiedByBatch"][] = array("PublicProposal" => new MongoDate(time()));
$elt["preferences"] = array();
$elt["preferences"]["private"]=false;
$nbUser++;
$res = PHDB::update(Proposal::COLLECTION,
array("_id"=>new MongoId($keyE)),
array('$set' => array( "preferences" => $elt["preferences"],
"modifiedByBatch" => $elt["modifiedByBatch"] ) ) );
if($res["ok"] == 1){
$nbUser++;
}else{
echo "
Error with user id : ".$key;
}
}
//Rest::json($tags); exit;
echo "Number of user with preferences modified : ".$nbUser;
}
}
public function actionReferenceFail() {
if( Role::isSuperAdmin(Role::getRolesUserId(Yii::app()->session["userId"]) )){
$nbUser = 0;
$mails = PHDB::find( Cron::COLLECTION,
array( "status" => "fail",
"tpl" => "referenceEmailInElement") );
//Rest::json($mails); exit;
foreach ($mails as $keyE => $elt) {
$res = PHDB::update(Cron::COLLECTION,
array("_id"=>new MongoId($keyE)),
array('$set' => array( "status" => "pending" ) ) );
if($res["ok"] == 1){
$nbUser++;
}else{
echo "
Error with user id : ".$key;
}
}
//Rest::json($tags); exit;
echo "Number of mails with status modified : ".$nbUser;
}
}
}