예제 #1
0
void XaUserAddressPhone::Create() {

    
		vector<string> FieldName;	
		vector<string> FieldValue;
		CreatePrepare({"XaUserAddressPhone"},"/XaUserAddressPhone/fieldset/field",FieldName,FieldValue);
        
        string XaTable="XaUser";
        string XaUserId=HTTP.GetHttpParam("XaUser_ID");
        string XaUserAddressPhoneTypeId=HTTP.GetHttpParam("XaUserAddressPhoneType_ID");
        string XaUserAddressPhoneCodeId=HTTP.GetHttpParam("XaUserAddressPhoneCode_ID");
        
        unique_ptr<XaLibSql> LibSql (new XaLibSql());
        
        if (LibSql->CheckRow(DB_READ,XaTable,XaUserId,"1","")==0) {
            LOG.Write("ERR", __FILE__, __FUNCTION__,__LINE__,"Requested Record ID -> "+XaUserId+" does not exist into Table -> "+XaTable);
            throw 302;
        }
        
        if (LibSql->CheckRow(DB_READ,"XaUserAddressPhoneType",XaUserAddressPhoneTypeId,"1","")==0) {
            LOG.Write("ERR", __FILE__, __FUNCTION__,__LINE__,"Requested Record ID -> "+XaUserAddressPhoneTypeId+" does not exist into Table -> XaUserAddressPhoneType");
            throw 302;
        }
        
        if (LibSql->CheckRow(DB_READ,"XaUserAddressPhoneCode",XaUserAddressPhoneCodeId,"1","")==0) {
            LOG.Write("ERR", __FILE__, __FUNCTION__,__LINE__,"Requested Record ID -> "+XaUserAddressPhoneCodeId+" does not exist into Table -> XaUserAddressPhoneCode");
            throw 302;
        }
        
	RESPONSE.Content=CreateResponse(CreateExecute("XaUserAddressPhone",FieldName,FieldValue));
};
예제 #2
0
/*
void XaLanguage::XaLanguageMod (){

	XaLibSql* LibSql=new XaLibSql();
	
	DbResMap DbRes1;
	
	XaLibSql* LibSql1=new XaLibSql();
	
	vector<string> ReturnedFields1;
	ReturnedFields1.push_back("*");

	vector<string> WhereFields1;
	WhereFields1.push_back("1");

	vector<string> WhereValues1;
	WhereValues1.push_back("1");
	
	DbRes1=LibSql1->Select(DB_READ,"XaLanguage",ReturnedFields1,WhereFields1,WhereValues1);
	
	delete(LibSql1);
	
	for(unsigned n=0; n<DbRes1.size(); ++n){

		string StrText=HTTP.GetHttpParam(DbRes1[n]["code"]);
		string StrHelp=HTTP.GetHttpParam("help"+DbRes1[n]["code"]);
		string StrPlaceholder=HTTP.GetHttpParam("ph"+DbRes1[n]["code"]);
		string LabelId=HTTP.GetHttpParam("id");
		
		if (StrText!="" or StrHelp!="" or StrPlaceholder!=""){
		
			vector<string> VectorFields;
			vector<string> VectorValues;
			
			if (StrText!=""){
				VectorFields.push_back("text");
				VectorValues.push_back(StrText);
			}
			if (StrHelp!=""){
				VectorFields.push_back("help");
				VectorValues.push_back(StrHelp);
			}
			if (StrPlaceholder!=""){
				VectorFields.push_back("placeholder");
				VectorValues.push_back(StrPlaceholder);
			}
			
			vector<string> WhereFields;
			WhereFields.push_back("XaLabel_ID");
			WhereFields.push_back("XaLanguage_ID");
		
			vector<string> WhereValues;
			WhereValues.push_back(LabelId);
			WhereValues.push_back(DbRes1[n]["id"]);
	
			LibSql->Update(DB_WRITE,"XaLabelTranslation",VectorFields,VectorValues,WhereFields,WhereValues);

		}
	}
	
	delete(LibSql);
	
	this->XaLanguageGen();

};

void XaLanguage::XaLanguageList (){
	
	DbResMap DbRes;
	
	string XmlString;
	
	XaLibSql* LibSql=new XaLibSql();
	
	vector<string> ReturnedFields;
	ReturnedFields.push_back("*");

	vector<string> WhereFields;
	WhereFields.push_back("domain");

	vector<string> WhereValues;
	WhereValues.push_back("XaLanguage");
	
	DbRes=LibSql->Select(DB_READ,"XaDomain",ReturnedFields,WhereFields,WhereValues);

	
	XmlString="<titles>";
		
		XmlString.append("<title>");
			XmlString.append("<label>");
			XmlString.append("id");
			XmlString.append("</label>");
		XmlString.append("</title>");
		XmlString.append("<title>");
			XmlString.append("<label>");
			XmlString.append("name");
			XmlString.append("</label>");
		XmlString.append("</title>");
		XmlString.append("<title>");
			XmlString.append("<label>");
			XmlString.append("description");
			XmlString.append("</label>");
		XmlString.append("</title>");
		XmlString.append("<title>");
			XmlString.append("<label>");
			XmlString.append("active");
			XmlString.append("</label>");
		XmlString.append("</title>");
		XmlString.append("<title>");
			XmlString.append("<label>");
			XmlString.append("deleted");
			XmlString.append("</label>");
		XmlString.append("</title>");
	
	XmlString.append("</titles>");
	
	XmlString.append("<fieldset>");
	
		for(unsigned n=0; n<DbRes.size(); ++n){

			XmlString.append("<field name=\""+DbRes[n]["name"]+"\" id=\""+DbRes[n]["id"]+"\">");

				XmlString.append("<id>");
				XmlString.append(DbRes[n]["id"]);
				XmlString.append("</id>");

				XmlString.append("<name>");
				XmlString.append(DbRes[n]["name"]);
				XmlString.append("</name>");
				
				XmlString.append("<description>");
				XmlString.append(DbRes[n]["description"]);
				XmlString.append("</description>");
				
				XmlString.append("<active>");
				XmlString.append(DbRes[n]["active"]);
				XmlString.append("</active>");
				
				XmlString.append("<deleted>");
				XmlString.append(DbRes[n]["deleted"]);
				XmlString.append("</deleted>");
			
			XmlString.append("</field>");
		
		}
		
	XmlString.append("</fieldset>");
	
	delete(LibSql);
	
	XaLibAction::AddXmlString(XmlString);

    string XmlPage="XaLanguageList";
    XaLibAction::AddXmlFile(XmlPage);

	XaLibAction::SetLayout("Standard");

    string XslPage="XaLanguageList";
    XaLibAction::AddXslFile(XslPage);

    XaLibDom* LibDom=new XaLibDom();
    xmlDocPtr XmlDomDoc=LibDom->DomFromStringAndFile(XmlFiles,XmlStrings,1);

	xmlDocPtr XslDomDoc=LibDom->DomFromStringAndFile(XslFiles,XslStrings,2);

	delete(LibDom);

    const int MAXITEMS = 2;
    string XslParams[MAXITEMS] = {"a","b"};
    XaLibXsl *LibXsl=new XaLibXsl(XmlDomDoc,XslDomDoc,XslParams,MAXITEMS);
    RESPONSE.Content=LibXsl->GetXHtml();
	delete(LibXsl);

};

void XaLanguage::XaLanguageAddFrm (){

    string XmlPage="XaLanguageAddFrm";
    XaLibAction::AddXmlFile(XmlPage);

	XaLibAction::SetLayout("Standard");

    string XslPage="XaLanguageAddFrm";
    XaLibAction::AddXslFile(XslPage);

    XaLibDom* LibDom=new XaLibDom();
    xmlDocPtr XmlDomDoc=LibDom->DomFromStringAndFile(XmlFiles,XmlStrings,1);

	xmlDocPtr XslDomDoc=LibDom->DomFromStringAndFile(XslFiles,XslStrings,2);

	delete(LibDom);

    const int MAXITEMS = 2;
    string XslParams[MAXITEMS] = {"a","b"};
    XaLibXsl *LibXsl=new XaLibXsl(XmlDomDoc,XslDomDoc,XslParams,MAXITEMS);
    RESPONSE.Content=LibXsl->GetXHtml();
	delete(LibXsl);

};

void XaLanguage::XaLanguageAdd (){
	
	typedef map<string, string> ParamsConfigurationMap;
	ParamsConfigurationMap LocalParamsConfiguration;

	string StrLanguage=HTTP.GetHttpParam("language");
	string StrCode=HTTP.GetHttpParam("code");

	XaLibTime* LibTime=new XaLibTime();
    string now=LibTime->GetDateTimeMySql();
	
	vector<string> VectorFields;
	VectorFields.push_back("domain");
	VectorFields.push_back("description");
	VectorFields.push_back("name");
	VectorFields.push_back("active");
	VectorFields.push_back("deleted");
	VectorFields.push_back("created");
	VectorFields.push_back("last_updated");

	vector<string> VectorValues;
	VectorValues.push_back("XaLanguage");
	VectorValues.push_back(StrLanguage);
	VectorValues.push_back(StrCode);
	VectorValues.push_back("1");
	VectorValues.push_back("0");
	VectorValues.push_back(now);
	VectorValues.push_back(now);

	XaLibSql* LibSql=new XaLibSql();
	
	int NextId=LibSql->Insert(DB_WRITE,"XaDomain",VectorFields,VectorValues);

	string LanguageId=XaLibBase::FromIntToString(NextId);
	
	DbResMap DbRes;
	
	XaLibSql* LibSql1=new XaLibSql();
	
	string qry="SELECT XaLabel_ID FROM XaLabelTranslation, XaLabel WHERE XaDomain_ID NOT IN (";
	qry.append(LanguageId);
	qry.append(") AND XaLabel_id=XaLabel.id GROUP BY XaLabel_ID");
	
	DbRes=LibSql1->FreeQuerySelect(DB_READ,qry);
	
	delete(LibSql1);
	
	for(unsigned n=0; n<DbRes.size(); ++n){

		vector<string> VectorFields1;
		VectorFields1.push_back("XaLabel_ID");
		VectorFields1.push_back("XaDomain_ID");

		vector<string> VectorValues1;
		VectorValues1.push_back(DbRes[n]["XaLabel_ID"]);
		VectorValues1.push_back(LanguageId);

		LibSql->Insert(DB_WRITE,"XaLabelTranslation",VectorFields1,VectorValues1);

	}
	
	delete(LibSql);
	
	this->XaLanguageGen();

};
*/
void XaLanguage::XaLanguageGen (){
	
	string XmlString;

	unique_ptr<XaLibSql> LibSql (new XaLibSql());

	vector<string> ReturnedFields;
	ReturnedFields.push_back("*");

	vector<string> WhereFields;
	WhereFields.push_back("status");

	vector<string> WhereValues;
	WhereValues.push_back("1");

	DbResMap DbRes=LibSql->Select(DB_READ,"XaLanguage",ReturnedFields,WhereFields,WhereValues);
	
		XmlString="<languages>";
	
		for(unsigned n=0; n<DbRes.size(); ++n){

			XmlString.append("<language name=\""+DbRes[n]["name"]+"\" id=\""+DbRes[n]["id"]+"\">");

				XmlString.append("<id>");
				XmlString.append(DbRes[n]["id"]);
				XmlString.append("</id>");

				XmlString.append("<name>");
				XmlString.append(DbRes[n]["description"]);
				XmlString.append("</name>");
				
				XmlString.append("<code>");
				XmlString.append(DbRes[n]["name"]);
				XmlString.append("</code>");
			
			XmlString.append("</language>");
		
		}
		
		XmlString.append("</languages>");
		
	string FileName="XaLanguage-list";
	string FilePath=SETTINGS["SharedDir"]+"xml/"+FileName+".xml";
	
	const char* FilePathChar = FilePath.c_str();
	ofstream myfile;
	myfile.open (FilePathChar);
	myfile << XmlString;
	myfile.close();
	
        RESPONSE.Content="<xml_language_gen>ok</xml_language_gen>";
};
예제 #3
0
void XaLanguage::Create() {

	vector<string> FieldName;	
	vector<string> FieldValue;

	CreatePrepare({"XaLanguage"},"/XaLanguage/fieldset/field",FieldName,FieldValue);
	
        int NextId=CreateExecute("XaLanguage",FieldName,FieldValue);
        
        if (NextId!=0) {
	
            unique_ptr<XaLibSql> LibSql (new XaLibSql());

            string qry="SELECT XaLabel_ID FROM XaLabelTranslation, XaLabel WHERE XaLanguage_ID NOT IN ("+FromIntToString(NextId)+") AND XaLabel_id=XaLabel.id GROUP BY XaLabel_ID";

            DbResMap DbRes=LibSql->FreeQuerySelect(DB_READ,qry);

            for(unsigned n=0; n<DbRes.size(); ++n){

                    vector<string> VectorFields;
                    VectorFields.push_back("XaLabel_ID");
                    VectorFields.push_back("XaLanguage_ID");

                    vector<string> VectorValues;
                    VectorValues.push_back(DbRes[n]["XaLabel_ID"]);
                    VectorValues.push_back(FromIntToString(NextId));

                    LibSql->Insert(DB_WRITE,"XaLabelTranslation",VectorFields,VectorValues);
                    
                    VectorFields.clear();
                    VectorValues.clear();

            }

            XaLanguageGen();
            
        }
        
        RESPONSE.Content=CreateResponse(NextId);
};