Example #1
0
    def edit_ok(self):

        if not check_edit(self.datas,self.socket):
            return
        baseurl=self.datas.url_base
        if self.path!='/':
            baseurl+=self.path

        url=self.socket.input_text_value('urlgalerie')
        titre=self.socket.input_text_value('titre')
        textnav=self.socket.input_text_value('textnav')
        description=self.socket.input_text_value('description')

        name=name_from_path(self.path)

        if self.id!=0:
            redirecturl=baseurl
            if url!=name:
                self.path='/'.join(baseurl.split('/')[:-1])+'/'+url
                redirecturl=self.path
                self.rename({"all":name})
                
        self.set_propriete("titre",titre)
        self.set_propriete("textnav",textnav)
        self.set_propriete("description",description)

        self.socket.redirection_http(redirecturl, "Action Ok")
Example #2
0
    def action_element_edit_form(self):
        _=self.datas._

        if not check_edit(self.datas,self.socket):
            self.socket.send_datas(_('connectez vous...'))
            return

        self.datas.old_textes={}
        for code in self.config.langues:
            txt=self.get_text_lang(code)
            if not txt:
                txt=''
            self.datas.old_textes[code]=txt


        f=add_Text_Form(self.datas,self.config) % tpl_placement(self.datas)

        j=get_js_prepare_submit()
        template="""
        <form action="%s/edit/ok" id="panneauform" method="POST">
        %s
        <div id="div_valid" class="invisible">
        <input type="button" value="%s" onClick="%s;document.forms.panneauform.submit();">
        
        </div>
        </form>
        """ % (self.path,f, _('Modifier ce texte'),j)
        self.socket.send_datas(template)
Example #3
0
def ajoute_galerie(self):
    if not check_edit(self.datas,self.socket):
        return

    url=self.socket.input_text_value('urlgalerie')
    url=check_char_url(url)
    titre=self.socket.input_text_value('titregalerie','')
    textnav=self.socket.input_text_value('textnav','')
    description=self.socket.input_text_value('description','')
    titre=titre.replace("'", "&#39;")
    titre=titre.replace('"', '&#34;')
    textnav=textnav.replace("'", "&#39;")
    textnav=textnav.replace('"', '&#34;')
    description=description.replace("'", "&#39;")
    description=description.replace('"', '&#34;')
    placement=self.socket.input_text_value('placement')

    lang=get_langue(self.datas,self.config)
    pere_id=self.datas.objet_actu.id
    pere_path=self.datas.objet_actu.path


    new_Galerie(self.glob,self.database,self.datas,self.socket,pere_id,pere_path,
              name=url,titre=titre,textnav=textnav,description=description,
              placement_wiki=placement,lang=lang)
Example #4
0
def get_palette(datas, socket, t):
    palette = None
    if check_admin(datas, socket, alerte=False):
        palette = palette_admin(datas, socket, t)
    elif check_edit(datas, socket, alerte=False):
        palette = palette_editor(datas, socket, t)
    return palette
Example #5
0
def new_Galerie(glob,database,datas,socket,pere_id,pere_path,
                name=None,titre='Galerie',textnav='Galerie',description='',
                placement_wiki=None,lang='all'):

    if not check_edit(datas,socket):
        return

    pathgalerie=config.path['files']+pere_path+'/'+name
    os.system('mkdir -p "%s"' % pathgalerie)
    os.system('mkdir -p "%s/mini"' % pathgalerie)
    os.system('mkdir -p "%s/normal"' % pathgalerie)
    os.system('mkdir -p "%s/info"' % pathgalerie)
    os.system('mkdir -p "%s/download"' % pathgalerie)

    proprietes={
        'titre' : titre.strip(),
        'textnav' : textnav.strip(),
        'description' : description.strip(),
        }

    obj_id=create_element(glob,database,4,pere_id,{'all':name,},proprietes)

    if placement_wiki:
        dispo_add_elem(glob,database,pere_id,obj_id, placement_wiki)

    redirect_ok(socket,datas)
Example #6
0
 def palette(self):
     if not check_edit(self.datas, self.socket, False):
         return
     _ = self.datas._
     param = self.datas.action_params[0]
     pal = get_palette(self.datas, self.socket, param)
     self.socket.send_datas("""<div class="icones_palette">""")
     for l in pal:
         for (m2_name, m2_id, m2_aff, m2_subs) in l:
             if m2_aff != 0:
                 self.socket.send_datas(
                     """<a href="#" onclick="javascript:pal_click(event,'%s');"><img class="img_pal_base" src="/includes/images/interface/iconsmenu/%s.png"><img class="img_pal_hover" src="/includes/images/interface/iconsmenu/%s_r.png"></a>"""
                     % (m2_id, m2_id, m2_id)
                 )
         self.socket.send_datas("""<br />""")
     self.socket.send_datas("""</div>""")
     self.socket.send_datas("""<div class="pal_modes">""")
     mpal = get_palette_modes(self.datas, param)
     for (m2_name, m2_id, m2_aff, m2_subs) in mpal:
         if m2_aff != 0:
             self.socket.send_datas(
                 """<a href="#" onclick="javascript:pal_click(event,'%s');"><img class="img_pal_base" src="/includes/images/interface/iconsmenu/%s.png"><img class="img_pal_hover" src="/includes/images/interface/iconsmenu/%s_r.png"></a>"""
                 % (m2_id, m2_id, m2_id)
             )  #
     self.socket.send_datas("""</div>""")
Example #7
0
def get_menu(datas, socket):
    menu = None
    if check_admin(datas, socket, alerte=False):
        menu = menu_admin(datas, socket)
    elif check_edit(datas, socket, alerte=False):
        menu = menu_editor(datas, socket)
    return menu
Example #8
0
def new_Page(self,init_datas):
    _=self.datas._
    if not check_edit(self.datas,self.socket):
        return

    
    pid=self.id
    lang=get_langue(self.datas,self.config)

    names={}
    proprietes={}

    linkdest=None
    nameslistactu=[]
    for code in self.config.langues:
        url=init_datas[code]['url']
        url=check_char_url(url)
        pathpage=self.glob.objets[self.id]['path'][self.glob.langues[0]]
        name=url
        if name=="":
            if nameslistactu==[]:
                self.socket.send_datas(_("Erreur : Pas de nom d'url"))
                return
            else:
                name=nameslistactu[0]
        if not name in nameslistactu:
            pathfile=pathpage+'/'+name
            while (self.fs_svn.exist(pathfile)):
                (pathfile,name)=new_name_file(pathfile)
            nameslistactu.append(name)
            if not linkdest:
                self.fs_svn.add_folder(pathfile)
                linkdest=pathfile
            else:
                self.fs_svn.add_link(linkdest,pathfile)

        names[code]=name
 
    for code in self.config.langues:
        textnav=init_datas[code]['textnav']
        if textnav=="":
            textnav=nameslistactu[0]
        titre=init_datas[code]['titre']
        titre=titre.replace("'", "&#39;")
        titre=titre.replace('"', '&#34;')
        textnav=textnav.replace("'", "&#39;")
        textnav=textnav.replace('"', '&#34;')
        titre=titre.strip()
        textnav=textnav.strip()
        proprietes['titre_%s' % code]=titre
        proprietes['textnav_%s' % code]=textnav

    obj_id=create_element(self.glob,self.database,2,pid,names,proprietes)
    return obj_id
Example #9
0
def enleve_element(self):
    # BUG lors de enleve element Page au niveau de la racine !!!! 
    if not check_edit(self.datas,self.socket):
        return
    i=int(self.socket.args["id"])
    if i==0:
        return
    url_ret=self.path
    if self.id==i:
        url_ret=path_pere(url_ret)
    self.datas.my_session.set_new_url(url_ret)
    if i!=0:
        detruire_element(self.interfaces,i)
    redirect_ok(self.socket,self.datas)
Example #10
0
    def includes(self):
	    if check_edit(self.datas,self.socket, False):
		    return [('js','base.js'),
			    ('js','config.js'),
			    ('js','editeurtext.js'),
                            ('js','events.js'),
                            ('js','colors.js'),
                            ('js','iefix.js'),
                            ('js','interraction.js'),
                            ('js','editskindispo.js'),
                            ('js','selectorcolor.js'),
			    ('css','editeurtext'),
                            ('css','selectorcolor'),]

	    else:
		    return [('js','base.js'),
			    ('js','config.js'),]
Example #11
0
def move_page(self):
    if not check_edit(self.datas,self.socket):
        return

    chemin=format_path_list(self.socket.args["pere"].split('__')[1:-1])
    
    idpere=int(self.socket.args["pere"].split('__')[-1])
    pos=int(self.socket.args["pos"])

    my_obj=self.glob.objets[self.id]
    oldpere=my_obj['pere']
    oldpere_obj=self.glob.objets[oldpere]
    newpere_obj=self.glob.objets[idpere]


    if (oldpere!=idpere):
        self.se_deplacer(idpere)
        self.datas.my_session.set_new_url(oldpere_obj['path'][self.glob.langues[0]])
    else:
        self.datas.my_session.set_new_url(self.path)


    # reordoner les sous pages 
    pages=newpere_obj['proprietes']['ordre_sous_pages']
    newordre=[]
    j=0
    posok=False
    for (idpage) in pages:
        if j==pos:
            newordre.append(self.id)
            j+=1
            posok=True
        if idpage!=self.id:
            newordre.append(idpage)
            j+=1
    if not posok:
        newordre.append(self.id)

    newordrestr='/'.join(map(str,newordre))
    set_propriete(self.glob,self.database,idpere,'ordre_sous_pages',newordrestr)
    newpere_obj['proprietes']['ordre_sous_pages']=newordre
    for lang in self.glob.langues:
        self.glob.get_infos_sous_pages(lang,idpere)
        
    redirect_ok(self.socket,self.datas)
Example #12
0
def ajoute_page(self):
    _=self.datas._
    if not check_edit(self.datas,self.socket):
        return


    init_datas={}
    
    for code in self.config.langues:
        init_datas[code]={}
        init_datas[code]['url']=check_char_idpage(self.socket.input_text_value('urlpage_%s' % code))
        init_datas[code]['textnav']=self.socket.input_text_value('textnav_%s' % code)
        init_datas[code]['titre']=self.socket.input_text_value('titrepage_%s' % code)

    new_Page(self,init_datas)
    
    self.datas.my_session.set_new_url(self.path)
    redirect_ok(self.socket,self.datas)
Example #13
0
def edit_page_form(self):
    _=self.datas._
    if not check_edit(self.datas,self.socket):
        return

    inputslang=u''
    name=name_from_path(self.path)
    urllangdefault=name

    for code in self.config.langues:
        l=tablangtrad[code][self.datas.my_session.langue]
    
        inputslang+=u"<br /><br />%s %s : <br />" % (_('Information en '),l) 

        if self.id!=0:
            try:
                urllang=self.glob.objets[self.id]['names'][code]
            except:
                urllang=''
            inputslang+=u"""<div class="label">%s</div> : <input type="text" name="urlpage_%s" value="%s"/>
                            <br />""" % (_('Identifiant pour url '), code, urllang )
            textnav=self.get_propriete('textnav_%s' % code,'')
            if type(textnav)==type(''):
                textnav=stou(textnav)
            inputslang+=u"""<div class="label">%s</div> : <input type="text" name="textnav_%s" value="%s"/>
                            <br />""" % (_('Text Navigation'),code,textnav )


        titre=stou(self.get_propriete('titre_%s' % code,''))

        inputslang+=u"""
              <div class="label">%s</div> : <input type="text" name="titrepage_%s" value="%s"/><br />
              """ % ( _('Titre'),code,titre)

    template=u"""
%s :
<form action="%s/edit_page" method="POST" id="panneauform" >
%s 
<div id="div_valid" class="invisible">
<input type="button" value="%s" onClick="document.forms.panneauform.submit();">
</div>
</form>
""" % (_('Editer les proprietes de la page'), self.path,inputslang,_('Valider'))
    self.socket.send_datas(template)
Example #14
0
    def edit_ok(self):
        _=self.datas._
        if not check_edit(self.datas,self.socket):
            self.socket.send_datas(_('connectez vous...'))
            return

        text_modif={}
        for code in self.config.langues:
            namefile = self.path+'.%s.txt' % code
            text=self.socket.input_text_value('text_%s' % code)
            oldtext=self.get_text_lang(code)
            if text!=oldtext:
                text_modif[code]=text

        change_Text(self.glob,self.fs_svn,self.id,text_modif)
                    
        urlparent='/'.join(self.path.split('/')[:-1])
        self.datas.my_session.set_new_url(urlparent)
        redirect_ok(self.socket,self.datas)
Example #15
0
def ajoute_text_form(self):
    _=self.datas._
    if not check_edit(self.datas,self.socket):
        self.socket.send_datas(_('connectez vous...'))
        return
    baseurl=self.datas.url_base+self.path

    f=add_Text_Form(self.datas,self.config) % tpl_placement(self.datas)
    j=get_js_prepare_submit()
    template="""
<form action="%s/ajoute_text" id="panneauform" method="POST">
%s
<div id="div_valid" class="invisible">
<input type="button" value="%s" onClick="%s;document.forms.panneauform.submit();">

</div>
</form>
""" % (baseurl,f, _('Ajouter ce texte'),j)
    self.socket.send_datas(template)
Example #16
0
def ajoute_galerie_element(self):

    if not check_edit(self.datas,self.socket):
        return

    pere_id=self.datas.objet_actu.id
    pere_path=self.datas.objet_actu.path

    titre = self.socket.input_text_value('titre','')
    description = self.socket.input_text_value('description','')
    fileitem_image = self.socket.input_file_item('image')
    fileitem_mini = self.socket.input_file_item('mini')
    fileitem_download = self.socket.input_file_item('download')

    if fileitem_image == None:
        self.socket.send_error(" Pas d'image ")

    new_ElementGalerie(self.fs_svn,self.socket,pere_id,pere_path,
    titre=titre,description=description,fileitem_image=fileitem_image,
    fileitem_mini=fileitem_mini,fileitem_download=fileitem_download)
Example #17
0
def ajoute_text(self):
    _=self.datas._
    if not check_edit(self.datas,self.socket):
        self.socket.send_datas(_('connectez vous...'))
        return

    pere_id=self.datas.objet_actu.id
    pere_path=self.datas.objet_actu.path
    text={}
    placement=self.socket.input_text_value('placement')

    for code in self.config.langues:
        try:
            text[code]=self.socket.input_text_value('text_%s' % code)
        except:
            text[code]=''
       

    new_Text(self.glob,self.database,self.fs_svn,self.socket,self.config,pere_id,pere_path,
              text=text,placement_wiki=placement)

    self.datas.my_session.set_new_url(self.path)
    redirect_ok(self.socket,self.datas)
Example #18
0
def edit_page(self):
    if not check_edit(self.datas,self.socket):
        return

    if self.id!=0:
        pereurl=path_pere(self.path)+'/%s'
        firstname=""
        oldnames=self.glob.objets[self.id]['names']
        newnames={}
        i=0
        for code in self.glob.langues:
            newnames[code]=check_char_idpage(self.socket.input_text_value('urlpage_%s' % code,'').strip())
            
            if i==0:
                if newnames[code]=='':
                    self.socket.send_datas('necessite url pour la page !!!')
                    return
                else:
                    namebase=newnames[code]
            else:
                if newnames[code]=='':
                    newnames[code]=namebase
        names=[]

        flagmodifbase=False
        for code in self.config.langues:
            pathpageold=pereurl % oldnames[code]
            pathpagenew=pereurl % newnames[code]
            if len(names)==0:
                if oldnames[code]!=newnames[code]: 
                    flagmodifbase=True
                    if newnames[code] in oldnames.values():
                        for c in oldnames:
                            if oldnames[c]==newnames[code]:
                                oldnames[c]=None
                                pass
                                #self.fs_svn.trash(pathpagenew)
                    else:
                        while (self.fs_svn.exist(pathpagenew)):
                            (pathpagenew,newnames[code])=new_name_file(pathpagenew)
                    pass
                    #self.fs_svn.move(pathpageold,pathpagenew)
            else:
                if flagmodifbase or oldnames[code]!=newnames[code]:
                    if pathpageold!=None and not oldnames[code] in names:
                        pass
                        #self.fs_svn.trash(pathpageold)
                    if not newnames[code] in names:
                        newlink=pereurl % names[0]
                        while (self.fs_svn.exist(pathpagenew)):
                            (pathpagenew,newnames[code])=new_name_file(pathpagenew)
                        pass
                        #self.fs_svn.add_link(newlink,pathpagenew)
                
            names.append(newnames[code])

        self.rename(newnames)


        newlink=pereurl % names[0]
        

        self.datas.my_session.set_new_url(newlink)
    else:
        self.datas.my_session.set_new_url('')

        
    for code in self.config.langues:
        if self.id!=0:
            textnav=self.socket.input_text_value('textnav_%s' % code,'').strip()
            if textnav=='':
                textnav=newnames[code]
            self.set_propriete('textnav_%s' % code,textnav)
        titre=self.socket.input_text_value('titrepage_%s' % code,'').strip()
        self.set_propriete('titre_%s' % code,titre)

    self.glob.reinit(self.database,self.id)

    redirect_ok(self.socket,self.datas)
Example #19
0
 def includes(self):
     if check_edit(self.datas, self.socket, False):
         return [("js", "palette.js"), ("css", "palette")]
     else:
         return []
Example #20
0
 def includes(self):
     if check_edit(self.datas,self.socket,False):
         return [('js','editeurtext.js'),
                 ('css','editeurtext')]
     else:
         return []