La potencia de la cooperación en la plaza global

Genealogía de una acampada y su multiplicación. Cooperación emergente.

Todo empezó el 15M, y quizá antes, con esa cocción a fuego lento que algunos le han llamado indignación, otros crisis económica, política y social. Y en el caso de una ciudad media como Terrassa, todo ha transcurrido a velocidades vertiginosas, superando cualquier expectativa a medida que las horas pasaban , los hechos se sucedían y la potencia iba creciendo. Con este texto queremos apuntar algunos elementos y reflexiones en medio de este torbellino, para intentar extraer algunas ideas que puedan servir para el debate que se esta gestando en la cantidad de espacios tomados por la gente, donde atravesamos lo imposible, porque se abren escenarios donde se puede pensar y hacer, mas allá de lo ahora conocido, vivido e imaginado.

Durante estos apasionantes días, la ciudadanía, sin interlocutores ni representantes, ha tomado la palabra en las plazas, ya bautizadas como “plazas del 15 de mayo”. Cuanta más gente se ha ido acercando, mayor ha sido la participación en los debates, los grupos de trabajo, las comisiones, las asambleas. Esta multiplicación ha sido exponencial desde el miércoles, día en el que empezó #acampadatrs, coincidiendo con el desafío a una Junta Electoral Central incapaz de comprender ese derecho que teóricamente deben defender, la democracia.

La autoorganización y el poder de las gentes. Cooperación de los cuerpos.

Después del largo invierno del que venimos, donde horizontes mucho menos ambiciosos eran absolutamente impensables, todas hemos dejado atrás viejos fantasmas para empezar un proceso de construcción de lo común. El cual empieza por la solidaridad de los transeúntes, donde todos quieren de alguna manera u otra, dejar su granito en esta revolución cercana, que todos quieren vivir, contribuyendo con comida, materiales, conocimientos, habilidades y todo cuanto puedan ofrecer; para estar de alguna manera presentes en lo que hoy ya se ha convertido en memoria colectiva. La cooperación está presente como responsabilidad colectiva, cerebro común puesto a trabajar, desde la urgencia y la necesidad del momento que ya vislumbra hoy aires frescos y nuevos escenarios posibles.

Cuando “todo camina solo”, es cuando te das cuenta de la potencia de la cooperación ¿Quién ha hecho esto? ¿Y de dónde sale? Y es que la autoorganización es absolutamente efectiva en la medida en que cada una encuentra su espacio donde estar y donde hacer, aprendiendo en cada momento sobre el proceso, y mejorándolo en su fase de maduración. Un proceso complejo, que se hace apetecible como afirmación: “sí se puede”. Pero también aparecen límites procesales de dicha potencia que requieren la invención de nuevas formas de autogobierno en las plazas y continuar abriendo espacios donde la gente no sólo está tomando la palabra, también está responsabilizándose de hacer lo que dice y deseando vivirlo.

De la nada veloces aprendizajes colectivos, después de varios días de puesta en escena alguien decía: “hoy somos todos jóvenes, ya que todos tenemos mucho que aprender”. Es lo que vemos en la plaza día a día, una multiplicación horizontal de la autoformación. Sobre la complejidad de la toma de decisiones, sobre la organización del común, sobre las diferencias, sobre lo que significa compartir, sobre la gestión de las cosas de todos y todas, sobre cómo la política se recupera en la plaza, sobre el empoderamiento colectivo, sobre la democracia real.

Entre la plaza y la red. Cooperación y nuevos medios.

“Un Tahrir en cada barrio”, es la frase que cuelga de un balcón de la ciudad. Con la certeza de que las personas que habitamos estos días la calle somos parte de una plaza global, conectada con Sol, y con plaza Cataluña, y con el resto de plazas del mundo, pero también con la permanente retroalimentación de las herramientas tecnopolíticas que te permiten estar en la plaza sin estar, organizarnos, comunicarnos y seguir viviendo un continuo feedback con la imaginación colectiva. Que la red y la plaza están en simbiosis permanente multiplica también su potencia.

Para los que venimos del software libre, esta movilización deviene continuamente código abierto. Todos los contenidos son open data: manifiestos, declaraciones, actas. Todos los espacios de toma de decisión son abiertos en la plaza, y en los foros, y en facebook, y en los pads, y en las webs, y en los blogs, y en la cantidad de herramientas inventadas estos días. La revuelta también es abierta porque es retransmitida en directo 24 horas por los streamings, a través de los hashtags de twitter, de los canales IRC, de las miles de fotos y vídeos que se suben cada hora dando cuerpo a lo que debe ser la revuelta más bien documentada de la historia, donde la comunidad genera los contenidos, con licencias libres, de todas y para todas. También el código de los procesos organizativos continuamente se copia de una plaza a otra, adaptándose a las necesidades singulares de cada lugar, trabajando en permanente revisión colectiva, y modificando sus partes para nuevos prototipos para cada una de las realidades.

Estos días somos testigo y parte de la toma de la red, de la reapropiación de las herramientas, de la viralidad maquínica de un movimiento en red, global, que nos debe permitir entender y pensar sobre la potencia de las plazas en su dimensión conectada. Por otro lado, es destacable la potencia de la red en la comprensión de los nuevos procesos que ya hoy se están abriendo. Por destacar algunos de los más importantes: la creación de nuevas plataformas que deben y pueden permitir afinar el trabajo y distribuirlo para superar los límites de la actual organización. Lo que está claro es que el proceso está abierto y la transmisión de aprendizajes entre la plaza y la red es permanente.

Democracia real en la plaza global

Y al final volvemos al principio, a ese efecto viral y multiplicador de estos últimos días, donde se forman nuevos campamentos, se desplazan y se extienden por nuevas plazas emergentes. Las plazas vuelven a ser hoy espacios conquistados por la multitud de ciudadanos y ciudadanas que ya han tomado la palabra y no la van a dejar nunca más en manos de otros. Porque la plazas han sido y seguirán siendo nuestros altavoces y la red nuestro amplificador, el multiplicador de potencia de lo que encarnan los cuerpos, cooperación para la construcción de un nuevo orden constituyente.

Seguimos experimentando en estos laboratorios que nos hemos inventado, volvemos a pensar en lo imposible, para desafiar el estado de las cosas, para reconstruir entre todas un futuro robado, y para ejercer eso por lo que el 15M nos llevó hasta aquí: una democracia real que nos permita recuperar y conquistar nuevos derechos para todas. No sabemos como vamos a seguir, pero ya nos lo estamos preguntando. Y aunque #soloeselprincipio y las dificultades serán importantes en el largo camino que nos queda por recorrer, tenemos los conocimientos, las herramientas, la potencia, y un campo enorme de posibilidades para seguir caminando juntas. Y una mera certeza: sabemos que lo haremos.

Arnau Monty, participante de #acampadatrs

Plaza 15 de mayo, Terrassa, 23 de mayo de 2011

Font: Madrilonia
Enllaç original: http://madrilonia.org/?p=2288

Add new comment

The content of this field is kept private and will not be shown publicly.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.

Semantic linkbacks

This site uses semantic webmentions to interact between sites and build federated conversations.
Twig context array(16)
'items' => array(0)
'information' => Drupal\Core\StringTranslation\TranslatableMarkup(5)
  • contents
  • Available methods (14)
  • protected string -> string(96) "This site uses semantic webmentions to interact between sites and build federate…"
    This site uses semantic webmentions to interact between sites and build federated conversations.
    protected translatedMarkup -> string(96) "This site uses semantic webmentions to interact between sites and build federate…"
    This site uses semantic webmentions to interact between sites and build federated conversations.
    protected options -> array(0)
    protected stringTranslation -> Drupal\Core\StringTranslation\TranslationManager(4)
    • contents
    • Available methods (10)
    • protected translators -> array(1)
      '30' => array(1)
      Drupal\Core\StringTranslation\Translator\CustomStrings(4)
      • contents
      • Available methods (6)
      • protected settings -> Drupal\Core\Site\Settings(2)
        *DEPTH TOO GREAT*
        protected translations -> array(1)
        *DEPTH TOO GREAT*
        protected _serviceIds -> array(0)
        public _serviceId -> string(32) "string_translator.custom_strings"
      • public __construct(Drupal\Core\Site\Settings $settings)
        Constructs a CustomStrings object.
        
        @param \Drupal\Core\Site\Settings $settings
        The settings read only object.
        
        Defined in .../core/lib/Drupal/Core/StringTranslation/Translator/CustomStrings.php:31
        public __sleep()
        {@inheritdoc}
        
        Defined in .../core/lib/Drupal/Core/DependencyInjection/DependencySerializationTrait.php:22
        public __wakeup()
        {@inheritdoc}
        
        Defined in .../core/lib/Drupal/Core/DependencyInjection/DependencySerializationTrait.php:46
        public getStringTranslation($langcode, $string, $context)
        {@inheritdoc}
        
        Inherited from Drupal\Core\StringTranslation\Translator\StaticTranslation
        Defined in .../core/lib/Drupal/Core/StringTranslation/Translator/StaticTranslation.php:33
        public reset()
        {@inheritdoc}
        
        Inherited from Drupal\Core\StringTranslation\Translator\StaticTranslation
        Defined in .../core/lib/Drupal/Core/StringTranslation/Translator/StaticTranslation.php:48
        protected getLanguage($langcode)
        {@inheritdoc}
        
        Defined in .../core/lib/Drupal/Core/StringTranslation/Translator/CustomStrings.php:39
      protected sortedTranslators -> array(1)
      Drupal\Core\StringTranslation\Translator\CustomStrings(4)
      • contents
      • Available methods (6)
      • protected settings -> Drupal\Core\Site\Settings(2)
        • contents
        • Available methods (9)
        • Static class properties (1)
        • private storage -> array(9)
          *DEPTH TOO GREAT*
          public _serviceId -> string(8) "settings"
        • public static get($name, $default = NULL) -> mixed
          Returns a setting.
          
          Settings can be set in settings.php in the $settings array and requested
          by this function. Settings should be used over configuration for read-only,
          possibly low bootstrap configuration that is environment specific.
          
          @param string $name
          The name of the setting to return.
          @param mixed $default
          (optional) The default value to use if this setting is not set.
          
          @return mixed
          The value of the setting, the provided default if not set.
          
          Defined in .../core/lib/Drupal/Core/Site/Settings.php:86
          public static getAll() -> array
          Returns all the settings. This is only used for testing purposes.
          
          @return array
          All the settings.
          
          Defined in .../core/lib/Drupal/Core/Site/Settings.php:96
          public static getApcuPrefix($identifier, $root, $site_path = "") -> string
          Generates a prefix for APCu user cache keys.
          
          A standardized prefix is useful to allow visual inspection of an APCu user
          cache. By default, this method will produce a unique prefix per site using
          the hash salt. If the setting 'apcu_ensure_unique_prefix' is set to FALSE
          then if the caller does not provide a $site_path only the Drupal root will
          be used. This allows WebTestBase to use the same prefix ensuring that the
          number of APCu items created during a full test run is kept to a minimum.
          Additionally, if a multi site implementation does not use site specific
          module directories setting apcu_ensure_unique_prefix would allow the sites
          to share APCu cache items.
          
          @param $identifier
          An identifier for the prefix. For example, 'class_loader' or
          'cache_backend'.
          
          @return string
          The prefix for APCu user cache keys.
          
          Defined in .../core/lib/Drupal/Core/Site/Settings.php:172
          public static getHashSalt() -> string
          Gets a salt useful for hardening against SQL injection.
          
          @return string
          A salt based on information in settings.php, not in the database.
          
          @throws \RuntimeException
          
          Defined in .../core/lib/Drupal/Core/Site/Settings.php:140
          public static getInstance() -> \Drupal\Core\Site\Settings
          Returns the settings instance.
          
          A singleton is used because this class is used before the container is
          available.
          
          @return \Drupal\Core\Site\Settings
          
          @throws \BadMethodCallException
          Thrown when the settings instance has not been initialized yet.
          
          Defined in .../core/lib/Drupal/Core/Site/Settings.php:51
          public static initialize($app_root, $site_path, &$class_loader)
          Bootstraps settings.php and the Settings singleton.
          
          @param string $app_root
          The app root.
          @param string $site_path
          The current site path.
          @param \Composer\Autoload\ClassLoader $class_loader
          The class loader that is used for this request. Passed by reference and
          exposed to the local scope of settings.php, so as to allow it to be
          decorated with Symfony's ApcClassLoader, for example.
          
          @see default.settings.php
          
          Defined in .../core/lib/Drupal/Core/Site/Settings.php:114
          public __construct(array $settings)
          Constructor.
          
          @param array $settings
          Array with the settings.
          
          Defined in .../core/lib/Drupal/Core/Site/Settings.php:35
          public __sleep()
          Prevents settings from being serialized.
          
          Defined in .../core/lib/Drupal/Core/Site/Settings.php:67
          private __clone()
          Protects creating with clone.
          
          Defined in .../core/lib/Drupal/Core/Site/Settings.php:61
        • private $instance :: Drupal\Core\Site\Settings(2) *RECURSION*
        protected translations -> array(1)
        'ca' => array(0)
        protected _serviceIds -> array(0)
        public _serviceId -> string(32) "string_translator.custom_strings"
      • public __construct(Drupal\Core\Site\Settings $settings)
        Constructs a CustomStrings object.
        
        @param \Drupal\Core\Site\Settings $settings
        The settings read only object.
        
        Defined in .../core/lib/Drupal/Core/StringTranslation/Translator/CustomStrings.php:31
        public __sleep()
        {@inheritdoc}
        
        Defined in .../core/lib/Drupal/Core/DependencyInjection/DependencySerializationTrait.php:22
        public __wakeup()
        {@inheritdoc}
        
        Defined in .../core/lib/Drupal/Core/DependencyInjection/DependencySerializationTrait.php:46
        public getStringTranslation($langcode, $string, $context)
        {@inheritdoc}
        
        Inherited from Drupal\Core\StringTranslation\Translator\StaticTranslation
        Defined in .../core/lib/Drupal/Core/StringTranslation/Translator/StaticTranslation.php:33
        public reset()
        {@inheritdoc}
        
        Inherited from Drupal\Core\StringTranslation\Translator\StaticTranslation
        Defined in .../core/lib/Drupal/Core/StringTranslation/Translator/StaticTranslation.php:48
        protected getLanguage($langcode)
        {@inheritdoc}
        
        Defined in .../core/lib/Drupal/Core/StringTranslation/Translator/CustomStrings.php:39
      protected defaultLangcode -> string(2) "ca"
      public _serviceId -> string(18) "string_translation"
    • public __construct(Drupal\Core\Language\LanguageDefault $default_language)
      Constructs a TranslationManager object.
      
      @param \Drupal\Core\Language\LanguageDefault $default_language
      The default language.
      
      Defined in .../core/lib/Drupal/Core/StringTranslation/TranslationManager.php:52
      public addTranslator(Drupal\Core\StringTranslation\Translator\TranslatorInterface $translator, $priority = 0) -> $this
      Appends a translation system to the translation chain.
      
      @param \Drupal\Core\StringTranslation\Translator\TranslatorInterface $translator
      The translation interface to be appended to the translation chain.
      @param int $priority
      The priority of the logger being added.
      
      @return $this
      
      Defined in .../core/lib/Drupal/Core/StringTranslation/TranslationManager.php:66
      public formatPlural($count, $singular, $plural, array $args = array(), array $options = array())
      {@inheritdoc}
      
      Defined in .../core/lib/Drupal/Core/StringTranslation/TranslationManager.php:152
      public getStringTranslation($langcode, $string, $context)
      {@inheritdoc}
      
      Defined in .../core/lib/Drupal/Core/StringTranslation/TranslationManager.php:92
      public reset()
      {@inheritdoc}
      
      Defined in .../core/lib/Drupal/Core/StringTranslation/TranslationManager.php:169
      public setDefaultLangcode($langcode)
      Sets the default langcode.
      
      @param string $langcode
      A language code.
      
      Defined in .../core/lib/Drupal/Core/StringTranslation/TranslationManager.php:162
      public translate($string, array $args = array(), array $options = array())
      {@inheritdoc}
      
      Defined in .../core/lib/Drupal/Core/StringTranslation/TranslationManager.php:109
      public translateString(Drupal\Core\StringTranslation\TranslatableMarkup $translated_string)
      {@inheritdoc}
      
      Defined in .../core/lib/Drupal/Core/StringTranslation/TranslationManager.php:116
      protected doTranslate($string, array $options = array()) -> string
      Translates a string to the current language or to a given language.
      
      @param string $string
      A string containing the English text to translate.
      @param array $options
      An associative array of additional options, with the following elements:
      - 'langcode': The language code to translate to a language other than
      what is used to display the page.
      - 'context': The context the source string belongs to.
      
      @return string
      The translated string.
      
      Defined in .../core/lib/Drupal/Core/StringTranslation/TranslationManager.php:134
      protected sortTranslators() -> \Drupal\Core\StringTranslation\Translator\TranslatorInterface[]
      Sorts translators according to priority.
      
      @return \Drupal\Core\StringTranslation\Translator\TranslatorInterface[]
      A sorted array of translator objects.
      
      Defined in .../core/lib/Drupal/Core/StringTranslation/TranslationManager.php:79
    protected arguments -> array(0)
  • public __construct($string, array $arguments = array(), array $options = array(), Drupal\Core\StringTranslation\TranslationInterface $string_translation = NULL)
    Constructs a new class instance.
    
    When possible, use the
    \Drupal\Core\StringTranslation\StringTranslationTrait $this->t(). Otherwise
    create a new \Drupal\Core\StringTranslation\TranslatableMarkup object
    directly.
    
    Calling the trait's t() method or instantiating a new TranslatableMarkup
    object serves two purposes:
    - At run-time it translates user-visible text into the appropriate
    language.
    - Static analyzers detect calls to t() and new TranslatableMarkup, and add
    the first argument (the string to be translated) to the database of
    strings that need translation. These strings are expected to be in
    English, so the first argument should always be in English.
    To allow the site to be localized, it is important that all human-readable
    text that will be displayed on the site or sent to a user is made available
    in one of the ways supported by the
    @link https://www.drupal.org/node/322729 Localization API @endlink.
    See the @link https://www.drupal.org/node/322729 Localization API @endlink
    pages for more information, including recommendations on how to break up or
    not break up strings for translation.
    
    @section sec_translating_vars Translating Variables
    $string should always be an English literal string.
    
    $string should never contain a variable, such as:
    @code
    new TranslatableMarkup($text)
    @endcode
    There are several reasons for this:
    - Using a variable for $string that is user input is a security risk.
    - Using a variable for $string that has even guaranteed safe text (for
    example, user interface text provided literally in code), will not be
    picked up by the localization static text processor. (The parameter could
    be a variable if the entire string in $text has been passed into t() or
    new TranslatableMarkup() elsewhere as the first argument, but that
    strategy is not recommended.)
    
    It is especially important never to call new TranslatableMarkup($user_text)
    or t($user_text) where $user_text is some text that a user entered -- doing
    that can lead to cross-site scripting and other security problems. However,
    you can use variable substitution in your string, to put variable text such
    as user names or link URLs into translated text. Variable substitution
    looks like this:
    @code
    new TranslatableMarkup("@name's blog", array('@name' => $account->getDisplayName()));
    @endcode
    Basically, you can put placeholders like @name into your string, and the
    method will substitute the sanitized values at translation time. (See the
    Localization API pages referenced above and the documentation of
    \Drupal\Component\Render\FormattableMarkup::placeholderFormat()
    for details about how to safely and correctly define variables in your
    string.) Translators can then rearrange the string as necessary for the
    language (e.g., in Spanish, it might be "blog de @name").
    
    @param string $string
    A string containing the English text to translate.
    @param array $arguments
    (optional) An associative array of replacements to make after
    translation. Based on the first character of the key, the value is
    escaped and/or themed. See
    \Drupal\Component\Render\FormattableMarkup::placeholderFormat() for
    details.
    @param array $options
    (optional) An associative array of additional options, with the following
    elements:
    - 'langcode' (defaults to the current language): A language code, to
    translate to a language other than what is used to display the page.
    - 'context' (defaults to the empty context): The context the source
    string belongs to.
    @param \Drupal\Core\StringTranslation\TranslationInterface $string_translation
    (optional) The string translation service.
    
    @throws \InvalidArgumentException
    Exception thrown when $string is not a string.
    
    @see \Drupal\Component\Render\FormattableMarkup::placeholderFormat()
    @see \Drupal\Core\StringTranslation\StringTranslationTrait::t()
    
    @ingroup sanitization
    
    Defined in .../core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:137
    public __sleep()
    Magic __sleep() method to avoid serializing the string translator.
    
    Defined in .../core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:212
    public __toString()
    Implements the magic __toString() method.
    
    Defined in .../core/lib/Drupal/Component/Utility/ToStringTrait.php:13
    public count() -> int
    Returns the string length.
    
    @return int
    The length of the string.
    
    Defined in .../core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:236
    public getArguments() -> mixed[]
    Gets all arguments from this translated string.
    
    @return mixed[]
    The array of arguments.
    
    Defined in .../core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:187
    public getOption($name) -> mixed
    Gets a specific option from this translated string.
    
    @param string $name
    Option name.
    
    @return mixed
    The value of this option or empty string of option is not set.
    
    Defined in .../core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:167
    public getOptions() -> mixed[]
    Gets all options from this translated string.
    
    @return mixed[]
    The array of options.
    
    Defined in .../core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:177
    public getUntranslatedString() -> string
    Gets the untranslated string value stored in this translated string.
    
    @return string
    The string stored in this wrapper.
    
    Defined in .../core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:154
    public jsonSerialize() -> string
    Returns a representation of the object for use in JSON serialization.
    
    @return string
    The safe string content.
    
    Inherited from Drupal\Component\Render\FormattableMarkup
    Defined in .../core/lib/Drupal/Component/Render/FormattableMarkup.php:112
    public render() -> string
    Renders the object as a string.
    
    @return string
    The translated string.
    
    Defined in .../core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:197
    protected static placeholderEscape($value) -> string
    Escapes a placeholder replacement value if needed.
    
    @param string|\Drupal\Component\Render\MarkupInterface $value
    A placeholder replacement value.
    
    @return string
    The properly escaped replacement value.
    
    Inherited from Drupal\Component\Render\FormattableMarkup
    Defined in .../core/lib/Drupal/Component/Render/FormattableMarkup.php:258
    protected static placeholderFormat($string, array $args) -> string
    Replaces placeholders in a string with values.
    
    @param string $string
    A string containing placeholders. The string itself is expected to be
    safe and correct HTML. Any unsafe content must be in $args and
    inserted via placeholders.
    @param array $args
    An associative array of replacements. Each array key should be the same
    as a placeholder in $string. The corresponding value should be a string
    or an object that implements
    \Drupal\Component\Render\MarkupInterface. The value replaces the
    placeholder in $string. Sanitization and formatting will be done before
    replacement. The type of sanitization and formatting depends on the first
    character of the key:
    - @variable: When the placeholder replacement value is:
    - A string, the replaced value in the returned string will be sanitized
    using \Drupal\Component\Utility\Html::escape().
    - A MarkupInterface object, the replaced value in the returned string
    will not be sanitized.
    - A MarkupInterface object cast to a string, the replaced value in the
    returned string be forcibly sanitized using
    \Drupal\Component\Utility\Html::escape().
    @code
    $this->placeholderFormat('This will force HTML-escaping of the replacement value: @text', ['@text' => (string) $safe_string_interface_object));
    @endcode
    Use this placeholder as the default choice for anything displayed on
    the site, but not within HTML attributes, JavaScript, or CSS. Doing so
    is a security risk.
    - %variable: Use when the replacement value is to be wrapped in <em>
    tags.
    A call like:
    @code
    $string = "%output_text";
    $arguments = ['%output_text' => 'text output here.'];
    $this->placeholderFormat($string, $arguments);
    @endcode
    makes the following HTML code:
    @code
    <em class="placeholder">text output here.</em>
    @endcode
    As with @variable, do not use this within HTML attributes, JavaScript,
    or CSS. Doing so is a security risk.
    - :variable: Return value is escaped with
    \Drupal\Component\Utility\Html::escape() and filtered for dangerous
    protocols using UrlHelper::stripDangerousProtocols(). Use this when
    using the "href" attribute, ensuring the attribute value is always
    wrapped in quotes:
    @code
    // Secure (with quotes):
    $this->placeholderFormat('<a href=":url">@variable</a>', [':url' => $url, '@variable' => $variable]);
    // Insecure (without quotes):
    $this->placeholderFormat('<a href=:url>@variable</a>', [':url' => $url, '@variable' => $variable]);
    @endcode
    When ":variable" comes from arbitrary user input, the result is secure,
    but not guaranteed to be a valid URL (which means the resulting output
    could fail HTML validation). To guarantee a valid URL, use
    Url::fromUri($user_input)->toString() (which either throws an exception
    or returns a well-formed URL) before passing the result into a
    ":variable" placeholder.
    
    @return string
    A formatted HTML string with the placeholders replaced.
    
    @ingroup sanitization
    
    @see \Drupal\Core\StringTranslation\TranslatableMarkup
    @see \Drupal\Core\StringTranslation\PluralTranslatableMarkup
    @see \Drupal\Component\Utility\Html::escape()
    @see \Drupal\Component\Utility\UrlHelper::stripDangerousProtocols()
    @see \Drupal\Core\Url::fromUri()
    
    Inherited from Drupal\Component\Render\FormattableMarkup
    Defined in .../core/lib/Drupal/Component/Render/FormattableMarkup.php:188
    protected _die()
    For test purposes, wrap die() in an overridable method.
    
    Defined in .../core/lib/Drupal/Component/Utility/ToStringTrait.php:31
    protected getStringTranslation() -> \Drupal\Core\StringTranslation\TranslationInterface
    Gets the string translation service.
    
    @return \Drupal\Core\StringTranslation\TranslationInterface
    The string translation service.
    
    Defined in .../core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:222
'linkbacks' => NULL
'theme_hook_original' => string(26) "semantic_linkbacks_counter"
'attributes' => Drupal\Core\Template\Attribute(1)
  • contents
  • Available methods (17)
  • Iterator contents (0)
  • protected storage -> array(0)
  • public __clone()
    Implements the magic __clone() method.
    
    Defined in .../core/lib/Drupal/Core/Template/Attribute.php:315
    public __construct($attributes = array())
    Constructs a \Drupal\Core\Template\Attribute object.
    
    @param array $attributes
    An associative array of key-value pairs to be converted to attributes.
    
    Defined in .../core/lib/Drupal/Core/Template/Attribute.php:80
    public __toString()
    Implements the magic __toString() method.
    
    Defined in .../core/lib/Drupal/Core/Template/Attribute.php:285
    public addClass() -> $this
    Adds classes or merges them on to array of existing CSS classes.
    
    @param string|array ...
    CSS classes to add to the class attribute array.
    
    @return $this
    
    Defined in .../core/lib/Drupal/Core/Template/Attribute.php:170
    public getIterator()
    {@inheritdoc}
    
    Defined in .../core/lib/Drupal/Core/Template/Attribute.php:324
    public hasClass($class) -> bool
    Checks if the class array has the given CSS class.
    
    @param string $class
    The CSS class to check for.
    
    @return bool
    Returns TRUE if the class exists, or FALSE otherwise.
    
    Defined in .../core/lib/Drupal/Core/Template/Attribute.php:273
    public jsonSerialize() -> string
    Returns a representation of the object for use in JSON serialization.
    
    @return string
    The safe string content.
    
    Defined in .../core/lib/Drupal/Core/Template/Attribute.php:341
    public offsetExists($name)
    {@inheritdoc}
    
    Defined in .../core/lib/Drupal/Core/Template/Attribute.php:158
    public offsetGet($name)
    {@inheritdoc}
    
    Defined in .../core/lib/Drupal/Core/Template/Attribute.php:89
    public offsetSet($name, $value)
    {@inheritdoc}
    
    Defined in .../core/lib/Drupal/Core/Template/Attribute.php:98
    public offsetUnset($name)
    {@inheritdoc}
    
    Defined in .../core/lib/Drupal/Core/Template/Attribute.php:151
    public removeAttribute() -> $this
    Removes an attribute from an Attribute object.
    
    @param string|array ...
    Attributes to remove from the attribute array.
    
    @return $this
    
    Defined in .../core/lib/Drupal/Core/Template/Attribute.php:219
    public removeClass() -> $this
    Removes argument values from array of existing CSS classes.
    
    @param string|array ...
    CSS classes to remove from the class attribute array.
    
    @return $this
    
    Defined in .../core/lib/Drupal/Core/Template/Attribute.php:244
    public setAttribute($attribute, $value) -> $this
    Sets values for an attribute key.
    
    @param string $attribute
    Name of the attribute.
    @param string|array $value
    Value(s) to set for the given attribute key.
    
    @return $this
    
    Defined in .../core/lib/Drupal/Core/Template/Attribute.php:205
    public storage()
    Returns the whole array.
    
    Defined in .../core/lib/Drupal/Core/Template/Attribute.php:331
    public toArray() -> array
    Returns all storage elements as an array.
    
    @return array
    An associative array of attributes.
    
    Defined in .../core/lib/Drupal/Core/Template/Attribute.php:303
    protected createAttributeValue($name, $value) -> \Drupal\Core\Template\AttributeValueBase
    Creates the different types of attribute values.
    
    @param string $name
    The attribute name.
    @param mixed $value
    The attribute value.
    
    @return \Drupal\Core\Template\AttributeValueBase
    An AttributeValueBase representation of the attribute's value.
    
    Defined in .../core/lib/Drupal/Core/Template/Attribute.php:113
'title_attributes' => Drupal\Core\Template\Attribute(1)
  • contents
  • Available methods (17)
  • Iterator contents (0)
  • protected storage -> array(0)
  • public __clone()
    Implements the magic __clone() method.
    
    Defined in .../core/lib/Drupal/Core/Template/Attribute.php:315
    public __construct($attributes = array())
    Constructs a \Drupal\Core\Template\Attribute object.
    
    @param array $attributes
    An associative array of key-value pairs to be converted to attributes.
    
    Defined in .../core/lib/Drupal/Core/Template/Attribute.php:80
    public __toString()
    Implements the magic __toString() method.
    
    Defined in .../core/lib/Drupal/Core/Template/Attribute.php:285
    public addClass() -> $this
    Adds classes or merges them on to array of existing CSS classes.
    
    @param string|array ...
    CSS classes to add to the class attribute array.
    
    @return $this
    
    Defined in .../core/lib/Drupal/Core/Template/Attribute.php:170
    public getIterator()
    {@inheritdoc}
    
    Defined in .../core/lib/Drupal/Core/Template/Attribute.php:324
    public hasClass($class) -> bool
    Checks if the class array has the given CSS class.
    
    @param string $class
    The CSS class to check for.
    
    @return bool
    Returns TRUE if the class exists, or FALSE otherwise.
    
    Defined in .../core/lib/Drupal/Core/Template/Attribute.php:273
    public jsonSerialize() -> string
    Returns a representation of the object for use in JSON serialization.
    
    @return string
    The safe string content.
    
    Defined in .../core/lib/Drupal/Core/Template/Attribute.php:341
    public offsetExists($name)
    {@inheritdoc}
    
    Defined in .../core/lib/Drupal/Core/Template/Attribute.php:158
    public offsetGet($name)
    {@inheritdoc}
    
    Defined in .../core/lib/Drupal/Core/Template/Attribute.php:89
    public offsetSet($name, $value)
    {@inheritdoc}
    
    Defined in .../core/lib/Drupal/Core/Template/Attribute.php:98
    public offsetUnset($name)
    {@inheritdoc}
    
    Defined in .../core/lib/Drupal/Core/Template/Attribute.php:151
    public removeAttribute() -> $this
    Removes an attribute from an Attribute object.
    
    @param string|array ...
    Attributes to remove from the attribute array.
    
    @return $this
    
    Defined in .../core/lib/Drupal/Core/Template/Attribute.php:219
    public removeClass() -> $this
    Removes argument values from array of existing CSS classes.
    
    @param string|array ...
    CSS classes to remove from the class attribute array.
    
    @return $this
    
    Defined in .../core/lib/Drupal/Core/Template/Attribute.php:244
    public setAttribute($attribute, $value) -> $this
    Sets values for an attribute key.
    
    @param string $attribute
    Name of the attribute.
    @param string|array $value
    Value(s) to set for the given attribute key.
    
    @return $this
    
    Defined in .../core/lib/Drupal/Core/Template/Attribute.php:205
    public storage()
    Returns the whole array.
    
    Defined in .../core/lib/Drupal/Core/Template/Attribute.php:331
    public toArray() -> array
    Returns all storage elements as an array.
    
    @return array
    An associative array of attributes.
    
    Defined in .../core/lib/Drupal/Core/Template/Attribute.php:303
    protected createAttributeValue($name, $value) -> \Drupal\Core\Template\AttributeValueBase
    Creates the different types of attribute values.
    
    @param string $name
    The attribute name.
    @param mixed $value
    The attribute value.
    
    @return \Drupal\Core\Template\AttributeValueBase
    An AttributeValueBase representation of the attribute's value.
    
    Defined in .../core/lib/Drupal/Core/Template/Attribute.php:113
'content_attributes' => Drupal\Core\Template\Attribute(1)
  • contents
  • Available methods (17)
  • Iterator contents (0)
  • protected storage -> array(0)
  • public __clone()
    Implements the magic __clone() method.
    
    Defined in .../core/lib/Drupal/Core/Template/Attribute.php:315
    public __construct($attributes = array())
    Constructs a \Drupal\Core\Template\Attribute object.
    
    @param array $attributes
    An associative array of key-value pairs to be converted to attributes.
    
    Defined in .../core/lib/Drupal/Core/Template/Attribute.php:80
    public __toString()
    Implements the magic __toString() method.
    
    Defined in .../core/lib/Drupal/Core/Template/Attribute.php:285
    public addClass() -> $this
    Adds classes or merges them on to array of existing CSS classes.
    
    @param string|array ...
    CSS classes to add to the class attribute array.
    
    @return $this
    
    Defined in .../core/lib/Drupal/Core/Template/Attribute.php:170
    public getIterator()
    {@inheritdoc}
    
    Defined in .../core/lib/Drupal/Core/Template/Attribute.php:324
    public hasClass($class) -> bool
    Checks if the class array has the given CSS class.
    
    @param string $class
    The CSS class to check for.
    
    @return bool
    Returns TRUE if the class exists, or FALSE otherwise.
    
    Defined in .../core/lib/Drupal/Core/Template/Attribute.php:273
    public jsonSerialize() -> string
    Returns a representation of the object for use in JSON serialization.
    
    @return string
    The safe string content.
    
    Defined in .../core/lib/Drupal/Core/Template/Attribute.php:341
    public offsetExists($name)
    {@inheritdoc}
    
    Defined in .../core/lib/Drupal/Core/Template/Attribute.php:158
    public offsetGet($name)
    {@inheritdoc}
    
    Defined in .../core/lib/Drupal/Core/Template/Attribute.php:89
    public offsetSet($name, $value)
    {@inheritdoc}
    
    Defined in .../core/lib/Drupal/Core/Template/Attribute.php:98
    public offsetUnset($name)
    {@inheritdoc}
    
    Defined in .../core/lib/Drupal/Core/Template/Attribute.php:151
    public removeAttribute() -> $this
    Removes an attribute from an Attribute object.
    
    @param string|array ...
    Attributes to remove from the attribute array.
    
    @return $this
    
    Defined in .../core/lib/Drupal/Core/Template/Attribute.php:219
    public removeClass() -> $this
    Removes argument values from array of existing CSS classes.
    
    @param string|array ...
    CSS classes to remove from the class attribute array.
    
    @return $this
    
    Defined in .../core/lib/Drupal/Core/Template/Attribute.php:244
    public setAttribute($attribute, $value) -> $this
    Sets values for an attribute key.
    
    @param string $attribute
    Name of the attribute.
    @param string|array $value
    Value(s) to set for the given attribute key.
    
    @return $this
    
    Defined in .../core/lib/Drupal/Core/Template/Attribute.php:205
    public storage()
    Returns the whole array.
    
    Defined in .../core/lib/Drupal/Core/Template/Attribute.php:331
    public toArray() -> array
    Returns all storage elements as an array.
    
    @return array
    An associative array of attributes.
    
    Defined in .../core/lib/Drupal/Core/Template/Attribute.php:303
    protected createAttributeValue($name, $value) -> \Drupal\Core\Template\AttributeValueBase
    Creates the different types of attribute values.
    
    @param string $name
    The attribute name.
    @param mixed $value
    The attribute value.
    
    @return \Drupal\Core\Template\AttributeValueBase
    An AttributeValueBase representation of the attribute's value.
    
    Defined in .../core/lib/Drupal/Core/Template/Attribute.php:113
'title_prefix' => array(0)
'title_suffix' => array(0)
'db_is_active' => boolTRUE
'is_admin' => boolFALSE
'logged_in' => boolFALSE
'user' => Drupal\Core\Session\AccountProxy(4)
  • contents
  • Available methods (17)
  • Static class properties (2)
  • protected account -> Drupal\Core\Session\AnonymousUserSession(8)
    • contents
    • Available methods (15)
    • Static class properties (2)
    • protected uid -> integer0
      protected roles -> array(1)
      string(9) "anonymous"
      protected access -> NULL
      public name -> string(0) ""
      protected preferred_langcode -> NULL
      protected preferred_admin_langcode -> NULL
      protected mail -> NULL
      protected timezone -> NULL
    • public __construct()
      Constructs a new anonymous user session.
      
      Intentionally don't allow parameters to be passed in like UserSession.
      
      Defined in .../core/lib/Drupal/Core/Session/AnonymousUserSession.php:15
      public getAccountName()
      {@inheritdoc}
      
      Inherited from Drupal\Core\Session\UserSession
      Defined in .../core/lib/Drupal/Core/Session/UserSession.php:164
      public getDisplayName()
      {@inheritdoc}
      
      Inherited from Drupal\Core\Session\UserSession
      Defined in .../core/lib/Drupal/Core/Session/UserSession.php:171
      public getEmail()
      {@inheritdoc}
      
      Inherited from Drupal\Core\Session\UserSession
      Defined in .../core/lib/Drupal/Core/Session/UserSession.php:180
      public getLastAccessedTime()
      {@inheritdoc}
      
      Inherited from Drupal\Core\Session\UserSession
      Defined in .../core/lib/Drupal/Core/Session/UserSession.php:194
      public getPreferredAdminLangcode($fallback_to_default = true)
      {@inheritdoc}
      
      Inherited from Drupal\Core\Session\UserSession
      Defined in .../core/lib/Drupal/Core/Session/UserSession.php:144
      public getPreferredLangcode($fallback_to_default = true)
      {@inheritdoc}
      
      Inherited from Drupal\Core\Session\UserSession
      Defined in .../core/lib/Drupal/Core/Session/UserSession.php:131
      public getRoles($exclude_locked_roles = false)
      {@inheritdoc}
      
      Inherited from Drupal\Core\Session\UserSession
      Defined in .../core/lib/Drupal/Core/Session/UserSession.php:92
      public getTimeZone()
      {@inheritdoc}
      
      Inherited from Drupal\Core\Session\UserSession
      Defined in .../core/lib/Drupal/Core/Session/UserSession.php:187
      public getUsername()
      {@inheritdoc}
      
      Inherited from Drupal\Core\Session\UserSession
      Defined in .../core/lib/Drupal/Core/Session/UserSession.php:157
      public hasPermission($permission)
      {@inheritdoc}
      
      Inherited from Drupal\Core\Session\UserSession
      Defined in .../core/lib/Drupal/Core/Session/UserSession.php:105
      public id()
      {@inheritdoc}
      
      Inherited from Drupal\Core\Session\UserSession
      Defined in .../core/lib/Drupal/Core/Session/UserSession.php:85
      public isAnonymous()
      {@inheritdoc}
      
      Inherited from Drupal\Core\Session\UserSession
      Defined in .../core/lib/Drupal/Core/Session/UserSession.php:124
      public isAuthenticated()
      {@inheritdoc}
      
      Inherited from Drupal\Core\Session\UserSession
      Defined in .../core/lib/Drupal/Core/Session/UserSession.php:117
      protected getRoleStorage() -> \Drupal\user\RoleStorageInterface
      Returns the role storage object.
      
      @return \Drupal\user\RoleStorageInterface
      The role storage object.
      
      Inherited from Drupal\Core\Session\UserSession
      Defined in .../core/lib/Drupal/Core/Session/UserSession.php:204
    • constant ANONYMOUS_ROLE :: string(9) "anonymous"
      constant AUTHENTICATED_ROLE :: string(13) "authenticated"
    protected id -> integer0
    protected initialAccountId -> NULL
    public _serviceId -> string(12) "current_user"
  • public getAccount()
    {@inheritdoc}
    
    Defined in .../core/lib/Drupal/Core/Session/AccountProxy.php:58
    public getAccountName()
    {@inheritdoc}
    
    Defined in .../core/lib/Drupal/Core/Session/AccountProxy.php:133
    public getDisplayName()
    {@inheritdoc}
    
    Defined in .../core/lib/Drupal/Core/Session/AccountProxy.php:140
    public getEmail()
    {@inheritdoc}
    
    Defined in .../core/lib/Drupal/Core/Session/AccountProxy.php:147
    public getLastAccessedTime()
    {@inheritdoc}
    
    Defined in .../core/lib/Drupal/Core/Session/AccountProxy.php:161
    public getPreferredAdminLangcode($fallback_to_default = true)
    {@inheritdoc}
    
    Defined in .../core/lib/Drupal/Core/Session/AccountProxy.php:119
    public getPreferredLangcode($fallback_to_default = true)
    {@inheritdoc}
    
    Defined in .../core/lib/Drupal/Core/Session/AccountProxy.php:112
    public getRoles($exclude_locked_roles = false)
    {@inheritdoc}
    
    Defined in .../core/lib/Drupal/Core/Session/AccountProxy.php:84
    public getTimeZone()
    {@inheritdoc}
    
    Defined in .../core/lib/Drupal/Core/Session/AccountProxy.php:154
    public getUsername()
    {@inheritdoc}
    
    Defined in .../core/lib/Drupal/Core/Session/AccountProxy.php:126
    public hasPermission($permission)
    {@inheritdoc}
    
    Defined in .../core/lib/Drupal/Core/Session/AccountProxy.php:91
    public id()
    {@inheritdoc}
    
    Defined in .../core/lib/Drupal/Core/Session/AccountProxy.php:77
    public isAnonymous()
    {@inheritdoc}
    
    Defined in .../core/lib/Drupal/Core/Session/AccountProxy.php:105
    public isAuthenticated()
    {@inheritdoc}
    
    Defined in .../core/lib/Drupal/Core/Session/AccountProxy.php:98
    public setAccount(Drupal\Core\Session\AccountInterface $account)
    {@inheritdoc}
    
    Defined in .../core/lib/Drupal/Core/Session/AccountProxy.php:44
    public setInitialAccountId($account_id)
    {@inheritdoc}
    
    Defined in .../core/lib/Drupal/Core/Session/AccountProxy.php:168
    protected loadUserEntity($account_id) -> \Drupal\Core\Session\AccountInterface|null
    Load a user entity.
    
    The entity manager requires additional initialization code and cache
    clearing after the list of modules is changed. Therefore it is necessary to
    retrieve it as late as possible.
    
    Because of serialization issues it is currently not possible to inject the
    container into the AccountProxy. Thus it is necessary to retrieve the
    entity manager statically.
    
    @see https://www.drupal.org/node/2430447
    
    @param int $account_id
    The id of an account to load.
    
    @return \Drupal\Core\Session\AccountInterface|null
    An account or NULL if none is found.
    
    Defined in .../core/lib/Drupal/Core/Session/AccountProxy.php:195
  • constant ANONYMOUS_ROLE :: string(9) "anonymous"
    constant AUTHENTICATED_ROLE :: string(13) "authenticated"
'directory' => string(22) "themes/planet_founding"
  • Directory (4.00K)
  • drwxr-x---
'#cache' => array(1)
'contexts' => array(1)
string(16) "user.permissions"
'theme_hook_suggestions' => array(0)