Futurs fabricats a casa

Recentment a Communia estem donant-li voltes al model productiu, el pes de la producció distribuïda ha guanyat un lloc central al nostre discurs. Amb les preparacions de les ponències a l'Equador, a la UOC, i al centre social que habitem(Ateneu candela), ens hem donat temps per llegir, estudiar i entendre textos (tenir Synusia al costat també ho posa fàcil). També estem identificant quins són els béns comuns dels que participem, quins són dels que ens aprofitem, quins són els que manquen per facilitar l'autonomia en els altres règims de propietat. El model de cooperació de communia es va dibuixant amb l'objectiu de poder quadrar amb les nostres dinàmiques laborals la cadena extracció-hackeig-retorn.

El fet d'habitar en el centre social fa que veiem la barbàrie cada cop més a prop, ja que cohabitem els espais amb membres de la PAH i cada cas que viuen és un cop de realitat augmentada als morros, que al menys a mi em demana celeritat amb les definicions d'un nou model productiu que tingui en compte el bé comú. Tot el que s'aparti d'això i que demani paciència, temps, o fe únicament en l'empresa i els mercats em sona a promoció de pràctiques incoherents. Necessitem pensar dispositius que ens allunyin del patiment i la injustícia, ens trobem amb la necessitat ètica de trobar una solució.

Davant la multiplicitat de solucions que apareixen, el fer antic el règim actual va prenent protagonisme: s'acosta un assalt electoral. Tot i que aquesta tertúlia no està en la programació dels poders fàctics, aquest vindrà perquè ja ara estan aflorant noves formes d'exigència democràtica davant l'esgotament de propostes i l'escassetat de valentia política dels partits existents. Aquest canvi pot ser que ofereixi nous marcs de pràctiques de poder distribuït. Però convé no equivocar-nos i ressaltar amb negreta que cal distribució i mecanismes que garanteixin que no es pugui escapar d'aquest repartiment, per descomptat situant-nos diametralment oposats a la centralitat jacobina, sense tampoc lluitar per una descentralització continuista amb el sistema autonòmic, ni exigint federacions de nous centres que operin en la mateixa línia que el centre original, ni enarborant la bandera d'una nova centralitat que permeti que apareguin noves formes de control, un nou faraó. Ens hem de mantenir al marge de les discussions de porteries que hem viscut en el post 11N. Cap organització vertical ens traurà les castanyes del foc, prenent la paraula deleuziana: Estem cansats d'arbres, ja ens han fet patir massa.
Quan arribi el moment, donar suport al bulldozer que enderroqui les institucions fantasma i pretengui esborrar la falta de sensibilitat i coherència dels poders actuals pot ser de gran importància. Hem d'estar atents al barri internet, i nutrir-nos d'aquest coneixement i sentit comú que únicament el raonament propi pot construir a partir de les discussions que creem i en les que participem, sens dubte ha quedat palès que ni els periodistes ni els partits a sou del soci-capital fan un bon anàlisi.

Tot i aquestes capes pensades pel "hackeig" del règim democràtic, hem de seguir progressant amb l'apropiació comunal de la producció, la política i la comunicació. Hem d'estar preparats, si la victòria és només al parlament, seguirem com fins ara.

Ja fa un temps que estic buscant informació per motius familiars, i he trobat matèria oblidada que és força enriquidora sobre la revolució que es va gestar a partir del 1936, i aquesta riquesa no és tan sols per omplir carpetes absents als arxius que facilitarien la justícia històrica, també per imaginar futurs propers quan apareix la ineficàcia i la poca seriositat amb la que el poder tracta als ciutadans.
Una de les coses que em va sorprendre més quan he estat parlant amb el Joan Ullés ( http://ca.wikipedia.org/wiki/Joan_Ull%C3%A9s_Bascompte ) va ser que després de la vaga del 19 de juliol del '36 l'amo del taller no va obrir, i els pocs treballadors (entre ells el meu besavi Joan Serra Sabata) enlloc de plantar-se i exigir condicions a la patronal, van veure-hi una oportunitat per iniciar processos de col·lectivitzacions( en aquest cas el taller confederal Nº1). Sabien exactament què fer per convertir en col·lectiu el taller, per construir directament les condicions que volien.

En l'actualitat, hem de tenir aquests coneixements, hem de ser capaços de poder ser prou responsables per produir, però no reproduint les formes jeràrquiques, sinó establint relacions laborals més justes, tenint en compte la preservació del bé comú. En la producció de coneixement podem dir que tenim un model que ha sabut gestionar la contribució sense seguir piràmides, un model que ha permès assegurar que sector privat públic i comunitari, puguin treballar plegats sabent que el bé comú no es toca, que aquest s'ha d'assegurar si no volem caure en l'egoisme i en l'home és un llop per l'home.

La idea és adaptar el model del software lliure i el P2P; un dels models d'èxit en l'autogestió i la contribució comunitària, que en molts casos, sense caure en el sectarisme, ha permès la producció de béns comuns, incorporant lliurement empresa, administració-sòcia, i comunitats polifacètiques que a més són gestores, amb l'objectiu d'oferir un producte final de qualitat, amb un ecosistema que impedeix l'acumulació de poder, i per tant ofereix escenaris justos i ètics.

Però anem més enllà dels béns comunals intangibles, comencem a parlar de béns comunals materials, replicables gràcies a que els dissenys provenen de la xarxa i que els mitjans de producció també són reproduïbles(hardware lliure) i es poden compartir. Estem plantejant-nos seriosament proposar un nou laboratori on produir objectes i poder plantejar un ecosistema comunal en la producció material recuperant la mentalitat de laboratoris de garatge on els dissenys entrin pel cable d'ethernet i s'imprimeixin artefactes com qui pot imprimir aquesta entrada de bloc.
Penso en un espai que pugui albergar dissenyadors industrials, amateurs, programadors, artesans, gent cansada de no trobar fàbriques on treballar, i gent cansada de treballar en fàbriques que no busquen innovar. En definitiva buscar una sortida al gent sense feina, feina sense gent.
Està en fases inicials, la idea hi és, però cal estudiar-ho bé per no caure en l'explotació i la misèria dels companys. Cal buscar l'aplicació concreta del model productiu basat en l'abundància, veure si hi ha punts on hi ha valorització i si existeixen punts en comú amb el model productiu que estem habituats a Communia. A priori i gràcies a les investigacions de http://p2pfoundation.net/ i http://lasindias.net , així podria ser.

Aquest nou ecosistema es fa necessari quan es dibuixa un canvi en el model democràtic que irremeiablement haurà d'apostar també per radicalitat democràtica en el model empresarial i productiu.

Comments



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)