Index: quintagroup.plonegooglesitemaps/trunk/quintagroup/plonegooglesitemaps/skins/plonegooglesitemaps/getNotAddableTypes.py =================================================================== --- quintagroup.plonegooglesitemaps/trunk/quintagroup/plonegooglesitemaps/skins/plonegooglesitemaps/getNotAddableTypes.py (revision 1616) +++ quintagroup.plonegooglesitemaps/trunk/quintagroup/plonegooglesitemaps/skins/plonegooglesitemaps/getNotAddableTypes.py (revision 1616) @@ -0,0 +1,12 @@ +## Script (Python) "getNotAddableTypes" +##bind container=container +##bind context=context +##bind namespace= +##bind script=script +##bind subpath=traverse_subpath +##parameters= +##title= +## +# customize this script to filter addable portal types based on +# context, the current user or other criteria +return ('Favorite','Sitemap') Index: quintagroup.plonegooglesitemaps/trunk/quintagroup/plonegooglesitemaps/skins/plonegooglesitemaps/gsm_create_verify_file.cpy =================================================================== --- quintagroup.plonegooglesitemaps/trunk/quintagroup/plonegooglesitemaps/skins/plonegooglesitemaps/gsm_create_verify_file.cpy (revision 1616) +++ quintagroup.plonegooglesitemaps/trunk/quintagroup/plonegooglesitemaps/skins/plonegooglesitemaps/gsm_create_verify_file.cpy (revision 1616) @@ -0,0 +1,25 @@ +## Script (Python) "create_verify_file" +##bind container=container +##bind context=context +##bind namespace= +##bind script=script +##bind subpath=traverse_subpath +##parameters=verify_filename +##title=Create file for verification +## + +from Products.CMFCore.utils import getToolByName +from quintagroup.plonegooglesitemaps.utils import BadRequestException +portal = getToolByName(context, 'portal_url').getPortalObject() +try: + portal.manage_addFile(verify_filename,title='Verification File') + portal[verify_filename].manage_addProperty('CreatedBy','quintagroupt.plonegooglesitemaps','string') +except BadRequestException: + pass +else: + props = getToolByName(context,'portal_properties').googlesitemap_properties + vfiles = list(props.getProperty('verification_filenames',[])) + vfiles.append(verify_filename) + props.manage_changeProperties(verification_filenames = vfiles) + +return state.set(portal_status_message = 'Plone Google Sitemap updated.') Index: quintagroup.plonegooglesitemaps/trunk/quintagroup/plonegooglesitemaps/skins/plonegooglesitemaps/gsm_create_verify_file.cpy.metadata =================================================================== --- quintagroup.plonegooglesitemaps/trunk/quintagroup/plonegooglesitemaps/skins/plonegooglesitemaps/gsm_create_verify_file.cpy.metadata (revision 1616) +++ quintagroup.plonegooglesitemaps/trunk/quintagroup/plonegooglesitemaps/skins/plonegooglesitemaps/gsm_create_verify_file.cpy.metadata (revision 1616) @@ -0,0 +1,14 @@ +# +# $$ +# +[default] +title=Create verify file + +[security] +View=0:Authenticated + +[validators] + +[actions] +action.success=traverse_to:string:prefs_gsm_verification +action.failure=traverse_to:string:prefs_gsm_verification Index: quintagroup.plonegooglesitemaps/trunk/quintagroup/plonegooglesitemaps/skins/plonegooglesitemaps/gsm_edit_settings.cpy =================================================================== --- quintagroup.plonegooglesitemaps/trunk/quintagroup/plonegooglesitemaps/skins/plonegooglesitemaps/gsm_edit_settings.cpy (revision 1616) +++ quintagroup.plonegooglesitemaps/trunk/quintagroup/plonegooglesitemaps/skins/plonegooglesitemaps/gsm_edit_settings.cpy (revision 1616) @@ -0,0 +1,68 @@ +## Script (Python) "gsm_edit_settings" +##bind container=container +##bind context=context +##bind namespace= +##bind script=script +##bind subpath=traverse_subpath +##bind state=state +##parameters= +##title=Configure Plone Google Sitemap +## + +from Products.CMFCore.utils import getToolByName +from quintagroup.plonegooglesitemaps.utils import ping_google + +portal_url = getToolByName(context,'portal_url') +portalURL = portal_url() +portal = portal_url.getPortalObject() +req = context.REQUEST +message = "" + +def addSMByType(parent, sm_type, sm_id): + new_id = portal.invokeFactory(id=sm_id, type_name="Sitemap", sitemapType=sm_type) + sm = getattr(portal, new_id) + if sm: + sm.markCreationFlag() + return new_id + return None + +if req.get('form.button.AddContent', False): + new_id = addSMByType(portal, 'content', 'sitemap.xml') + if new_id: + return req.RESPONSE.redirect("%s/%s/edit" % (portalURL, new_id)) + else: + message = "Can't create content sitemap" +elif req.get('form.button.AddMobile', False): + new_id = addSMByType(portal, 'mobile', 'mobile-sitemap.xml') + if new_id: + return req.RESPONSE.redirect("%s/%s/edit" % (portalURL, new_id)) + else: + message = "Can't create mobile sitemap" +elif req.get('form.button.AddNews', False): + new_id = addSMByType(portal, 'news', 'news-sitemap.xml') + if new_id: + return req.RESPONSE.redirect("%s/%s/edit" % (portalURL, new_id)) + else: + message = "Can't create news sitemap" +else: + smselected = req.get('smselected', []) + + if req.get('form.button.Delete', False): + portal.manage_delObjects(ids=smselected[:]) + message = "Succesfully deleted: %s" % smselected + + elif req.get('form.button.Ping', False): + pinged = [] + message = "Google pinged. It will review your sitemap as soon as it will be able to. Processed: %s" + for sm_id in smselected: + try: + ping_google(portalURL, sm_id) + except: + message = "Cannot contact Google. Try again in a while. But pinged for: %s" + break + else: + pinged.append(sm_id) + message = message % pinged + +return state.set(next_action='traverse_to:string:prefs_gsm_settings', + portal_status_message = message) Index: quintagroup.plonegooglesitemaps/trunk/quintagroup/plonegooglesitemaps/skins/plonegooglesitemaps/prefs_gsm_overview.cpt =================================================================== --- quintagroup.plonegooglesitemaps/trunk/quintagroup/plonegooglesitemaps/skins/plonegooglesitemaps/prefs_gsm_overview.cpt (revision 1616) +++ quintagroup.plonegooglesitemaps/trunk/quintagroup/plonegooglesitemaps/skins/plonegooglesitemaps/prefs_gsm_overview.cpt (revision 1616) @@ -0,0 +1,138 @@ + + +
+Congratulations, you've installed Plone Google Sitemaps product from + Quintagroup.
+ + +http://example.com/sitemaps.xml
+