/** * Note: This file may contain artifacts of previous malicious infection. * However, the dangerous code has been removed, and the file is now safe to use. */ /** * @file * Pathologic text filter for Drupal. * * This input filter attempts to make sure that link and image paths will * always be correct, even when domain names change, content is moved from one * server to another, the Clean URLs feature is toggled, etc. */ /** * Implements hook_filter_info(). */ function pathologic_filter_info() { return array( 'pathologic' => array( 'title' => t('Correct URLs with Pathologic'), 'process callback' => '_pathologic_filter', 'settings callback' => '_pathologic_settings', 'default settings' => array( 'local_paths' => '', 'protocol_style' => 'full', ), // Set weight to 50 so that it will hopefully appear at the bottom of // filter lists by default. 50 is the maximum value of the weight menu // for each row in the filter table (the menu is hidden by JavaScript to // use table row dragging instead when JS is enabled). 'weight' => 50, ) ); } /** * Settings callback for Pathologic. */ function _pathologic_settings($form, &$form_state, $filter, $format, $defaults, $filters) { return array( 'reminder' => array( '#type' => 'item', '#title' => t('In most cases, Pathologic should be the last filter in the “Filter processing order” list.'), '#weight' => -10, ), 'protocol_style' => array( '#type' => 'radios', '#title' => t('Processed URL format'), '#default_value' => isset($filter->settings['protocol_style']) ? $filter->settings['protocol_style'] : $defaults['protocol_style'], '#options' => array( 'full' => t('Full URL (http://example.com/foo/bar)'), 'proto-rel' => t('Protocol relative URL (//example.com/foo/bar)'), 'path' => t('Path relative to server root (/foo/bar)'), ), '#description' => t('The Full URL option is best for stopping broken images and links in syndicated content (such as in RSS feeds), but will likely lead to problems if your site is accessible by both HTTP and HTTPS. Paths output with the Protocol relative URL option will avoid such problems, but feed readers and other software not using up-to-date standards may be confused by the paths. The Path relative to server root option will avoid problems with sites accessible by both HTTP and HTTPS with no compatibility concerns, but will absolutely not fix broken images and links in syndicated content.'), '#weight' => 10, ), 'local_paths' => array( '#type' => 'textarea', '#title' => t('All base paths for this site'), '#default_value' => isset($filter->settings['local_paths']) ? $filter->settings['local_paths'] : $defaults['local_paths'], '#description' => t('If this site is or was available at more than one base path or URL, enter them here, separated by line breaks. For example, if this site is live at http://example.com/ but has a staging version at http://dev.example.org/staging/, you would enter both those URLs here. If confused, please read Pathologic’s documentation for more information about this option and what it affects.', array('!docs' => 'http://drupal.org/node/257026')), '#weight' => 20, ), ); } /** * Pathologic filter callback. * * Previous versions of this module worked (or, rather, failed) under the * assumption that $langcode contained the language code of the node. Sadly, * this isn't the case. * @see http://drupal.org/node/1812264 * However, it turns out that the language of the current node isn't as * important as the language of the node we're linking to, and even then only * if language path prefixing (eg /ja/node/123) is in use. REMEMBER THIS IN THE * FUTURE, ALBRIGHT. * * @todo Can we do the parsing of the local path settings somehow when the * settings form is submitted instead of doing it here? */ function _pathologic_filter($text, $filter, $format, $langcode, $cache, $cache_id) { // Get the base URL and explode it into component parts. We add these parts // to the exploded local paths settings later. global $base_url; $base_url_parts = parse_url($base_url . '/'); // Since we have to do some gnarly processing even before we do the *really* // gnarly processing, let's static save the settings - it'll speed things up // if, for example, we're importing many nodes, and not slow things down too // much if it's just a one-off. But since different input formats will have // different settings, we build an array of settings, keyed by format ID. $settings = &drupal_static(__FUNCTION__, array()); if (!isset($settings[$filter->format])) { $filter->settings['local_paths_exploded'] = array(); if ($filter->settings['local_paths'] !== '') { // Build an array of the exploded local paths for this format's settings. // array_filter() below is filtering out items from the array which equal // FALSE - so empty strings (which were causing problems. // @see http://drupal.org/node/1727492 $local_paths = array_filter(array_map('trim', explode("\n", $filter->settings['local_paths']))); foreach ($local_paths as $local) { $parts = parse_url($local); // Okay, what the hellish "if" statement is doing below is checking to // make sure we aren't about to add a path to our array of exploded // local paths which matches the current "local" path. We consider it // not a match, if… if ( ( // If this URI has a host, and… isset($parts['host']) && // The host is different from the current host… $parts['host'] !== $base_url_parts['host'] ) || // Or… ( // The URI doesn't have a host… !isset($parts['host']) ) && // And the path parts don't match (if either doesn't have a path // part, they can't match)… ( !isset($parts['path']) || !isset($base_url_parts['path']) || $parts['path'] !== $base_url_parts['path'] ) ) { // Add it to the list. $filter->settings['local_paths_exploded'][] = $parts; } } } // Now add local paths based on "this" server URL. $filter->settings['local_paths_exploded'][] = array('path' => $base_url_parts['path']); $filter->settings['local_paths_exploded'][] = array('path' => $base_url_parts['path'], 'host' => $base_url_parts['host']); // We'll also just store the host part separately for easy access. $filter->settings['base_url_host'] = $base_url_parts['host']; // Let's also normalize the server doc root. This is a bug waiting to happen // because what we really want to use this path for is for dealing with // files in the server webroot but outside the Drupal root, but if this is // running as a CLI script, we might not be able to determine what that // root is. In that case, we'll use the Drupal root. // @see http://drupal.org/node/1780398 $filter->settings['docroot'] = (drupal_is_cli() || !isset($_SERVER) || !isset($_SERVER['DOCUMENT_ROOT'])) ? DRUPAL_ROOT : $_SERVER['DOCUMENT_ROOT']; $settings[$filter->format] = $filter->settings; } // Get the language code for the text we're about to process. $settings['langcode'] = $langcode; // And also take note of which settings in the settings array should apply. $settings['current_settings'] = &$settings[$filter->format]; // Now that we have all of our settings prepared, attempt to process all // paths in href, src, action or longdesc HTML attributes. The pattern below // is not perfect, but the callback will do more checking to make sure the // paths it receives make sense to operate upon, and just return the original // paths if not. return preg_replace_callback('~(href|src|action|longdesc)="([^"]+)~i', '_pathologic_replace', $text); } /** * Process and replace paths. preg_replace_callback() callback. */ function _pathologic_replace($matches) { // Get the settings for the filter. Since we can't pass extra parameters // through to a callback called by preg_replace_callback(), there's basically // three ways to do this that I can determine: use eval() and friends; abuse // globals; or abuse drupal_static(). The latter is the least offensive, I // guess… Note that we don't do the & thing here so that we can modify // $settings later and not have the changes be "permanent." $settings = drupal_static('_pathologic_filter'); // First, let's bail out if we're using a schemeless URL. // @see http://drupal.org/node/1617944 // parse_url() can't parse these correctly anyway (the entire URL will be in // the "path" value of the returned array), so we will check before we even // try. if (strpos($matches[2], '//') === 0) { return $matches[0]; } // Now parse the URL after reverting HTML character encoding. // @see http://drupal.org/node/1672932 $original_url = htmlspecialchars_decode($matches[2]); // …and parse the URL $parts = parse_url($original_url); // Do some more early tests to see if we should just give up now. if ( // If parse_url() failed, give up. $parts === FALSE // If there's a scheme part and it doesn't look useful, bail out. // "files" and "internal" are for Path Filter compatibility. || (isset($parts['scheme']) && !in_array($parts['scheme'], array('http', 'https', 'files', 'internal'))) // Bail out if it looks like there's only a fragment part. || (isset($parts['fragment']) && count($parts) === 1) ) { // Give up by "replacing" the original with the same. return $matches[0]; } if (isset($parts['path'])) { // Undo possible URL encoding in the path. // @see http://drupal.org/node/1672932 $parts['path'] = rawurldecode($parts['path']); } else { $parts['path'] = ''; } // Check to see if we're dealing with a file. First, do a pass-through if it // looks like we're dealing with a direct path to a file which is outside the // Drupal root. Use realpath() and the server's (?) docroot to iron out // wrinkles to the file's actual path. // @see http://drupal.org/node/1763696 // @todo Should we still try to do path correction on these files too? $filepath = realpath($settings['current_settings']['docroot'] . '/' . $parts['path']); if ($filepath && is_file($filepath)) { // Is the file outside the Drupal root? if (strpos($filepath, DRUPAL_ROOT) !== 0) { return $matches[0]; } else { // Linking to a file inside the Drupal root. Okay. $settings['is_file'] = TRUE; } } elseif (isset($parts['scheme']) && $parts['scheme'] === 'files') { // Path Filter "files:" support. What we're basically going to do here is // rebuild $parts from the full URL of the file. $new_parts = parse_url(file_create_url(file_default_scheme() . '://' . $parts['path'])); // If there were query parts from the original parsing, copy them over. if (!empty($parts['query'])) { $new_parts['query'] = $parts['query']; } $new_parts['path'] = rawurldecode($new_parts['path']); $parts = $new_parts; // Don't do language handling for file paths. $settings['is_file'] = TRUE; } else { $settings['is_file'] = FALSE; } // Let's also bail out of this doesn't look like a local path. $found = FALSE; // Cycle through local paths and find one with a host and a path that matches; // or just a host if that's all we have; or just a starting path if that's // what we have. foreach ($settings['current_settings']['local_paths_exploded'] as $exploded) { // If a path is available in both… if (isset($exploded['path']) && isset($parts['path']) // And the paths match… && strpos($parts['path'], $exploded['path']) === 0 // And either they have the same host, or both have no host… && ( (isset($exploded['host']) && isset($parts['host']) && $exploded['host'] === $parts['host']) || (!isset($exploded['host']) && !isset($parts['host'])) ) ) { // Remove the shared path from the path. This is because the "Also local" // path was something like http://foo/bar and this URL is something like // http://foo/bar/baz; or the "Also local" was something like /bar and // this URL is something like /bar/baz. And we only care about the /baz // part. $parts['path'] = drupal_substr($parts['path'], drupal_strlen($exploded['path'])); $found = TRUE; // Break out of the foreach loop break; } // Okay, we didn't match on path alone, or host and path together. Can we // match on just host? Note that for this one we are looking for paths which // are just hosts; not hosts with paths. elseif ((isset($parts['host']) && !isset($exploded['path']) && isset($exploded['host']) && $exploded['host'] === $parts['host'])) { // No further editing; just continue $found = TRUE; // Break out of foreach loop break; } } // Okay, if here, we either found something, or we hit the end of the loop. We // don't give up automatically, though, because if the URL we found is just a // path like /foo/bar and we didn't find an "also local" path of /foo in the // big foreach() mess above, we still want to pass it through. if (!$found && !(isset($parts['path']) && !isset($parts['host']))) { return $matches[0]; } // Examine the query part of the URL. Break it up and look through it; if it // has a value for "q", we want to use that as our trimmed path, and remove it // from the array. If any of its values are empty strings (that will be the // case for "bar" if a string like "foo=3&bar&baz=4" is passed through // parse_str()), replace them with NULL so that url() (or, more // specifically, drupal_http_build_query()) can still handle it. if (isset($parts['query'])) { parse_str($parts['query'], $parts['qparts']); foreach ($parts['qparts'] as $key => $value) { if ($value === '') { $parts['qparts'][$key] = NULL; } elseif ($key === 'q') { $parts['path'] = $value; unset($parts['qparts']['q']); } } } else { $parts['qparts'] = NULL; } // If we don't have a path yet, bail out. if (!isset($parts['path'])) { return $matches[0]; } // Let's see if we can split off a language prefix from the path. if (!$settings['is_file']) { if (module_exists('locale')) { // Sometimes this file will be require_once-d by the locale module before // this point, and sometimes not. We require_once it ourselves to be sure. require_once DRUPAL_ROOT . '/includes/language.inc'; list($language_obj, $path) = language_url_split_prefix($parts['path'], language_list()); if ($language_obj) { $parts['path'] = $path; $parts['language_obj'] = $language_obj; } } } else { // If we're linking to a file, use a fake LANGUAGE_NONE language object. // Otherwise, the path may get prefixed with the "current" language prefix // (eg, /ja/misc/message-24-ok.png) $parts['language_obj'] = (object) array('language' => LANGUAGE_NONE, 'prefix' => ''); } // Okay, format the URL. // If there's still a slash lingering at the start of the path, chop it off. // We do strpos() here instead of $str{0} because the latter will fail on // empty strings. if (strpos($parts['path'], '/') === 0) { $parts['path'] = substr($parts['path'], 1); } // If we get to this point and $parts['path'] is now an empty string (which // will be the case if the path was originally just "/"), then we // want to link to . if ($parts['path'] === '') { $parts['path'] = ''; } // Build the parameters we will send to url() $url_params = array( 'path' => $parts['path'], 'options' => array( 'query' => $parts['qparts'], 'fragment' => isset($parts['fragment']) ? $parts['fragment'] : NULL, // Create an absolute URL if protocol_style is 'full' or 'proto-rel', but // not if it's 'path'. 'absolute' => $settings['current_settings']['protocol_style'] !== 'path', // If we seem to have found a language for the path, pass it along to // url(). Otherwise, ignore the 'language' parameter. 'language' => isset($parts['language_obj']) ? $parts['language_obj'] : NULL, // A special parameter not actually used by url(), but we use it to see if // an alter hook implementation wants us to just pass through the original // URL. 'use_original' => FALSE, ), ); // Add the original URL to the parts array $parts['original'] = $original_url; // Now alter! // @see http://drupal.org/node/1762022 drupal_alter('pathologic', $url_params, $parts, $settings); // If any of the alter hooks asked us to just pass along the original URL, // then do so. if ($url_params['options']['use_original']) { return $matches[0]; } // If the path is for a file and clean URLs are enabled, then the path that // url() will create will have a q= query fragment, which won't work for // files. To avoid that, we use this trick to temporarily turn clean URLs on. // This is horrible, but it seems to be the sanest way to do this. // @see http://drupal.org/node/1672430 // @todo Submit core patch allowing clean URLs to be toggled by option sent // to url()? if (!empty($settings['is_file'])) { $settings['orig_clean_url'] = !empty($GLOBALS['conf']['clean_url']); if (!$settings['orig_clean_url']) { $GLOBALS['conf']['clean_url'] = TRUE; } } // Now for the url() call. Drumroll, please… $url = url($url_params['path'], $url_params['options']); // If we turned clean URLs on before to create a path to a file, turn them // back off. if ($settings['is_file'] && !$settings['orig_clean_url']) { $GLOBALS['conf']['clean_url'] = FALSE; } // If we need to create a protocol-relative URL, then convert the absolute // URL we have now. if ($settings['current_settings']['protocol_style'] === 'proto-rel') { // Now, what might have happened here is that url() returned a URL which // isn't on "this" server due to a hook_url_outbound_alter() implementation. // We don't want to convert the URL in that case. So what we're going to // do is cycle through the local paths again and see if the host part of // $url matches with the host of one of those, and only alter in that case. $url_parts = parse_url($url); if (!empty($url_parts['host']) && $url_parts['host'] === $settings['current_settings']['base_url_host']) { $url = _pathologic_url_to_protocol_relative($url); } } // Apply HTML character encoding, as is required for HTML attributes. // @see http://drupal.org/node/1672932 $url = check_plain($url); // $matches[1] will be the tag attribute; src, href, etc. return "{$matches[1]}=\"{$url}"; } /** * Convert a full URL with a protocol to a protocol-relative URL. * * As the Drupal core url() function doesn't support protocol-relative URLs, we * work around it by just creating a full URL and then running it through this * to strip off the protocol. * * Though this is just a one-liner, it's placed in its own function so that it * can be called independently from our test code. */ function _pathologic_url_to_protocol_relative($url) { return preg_replace('~^https?://~', '//', $url); } Blogginlägg | IHM

Blogginlägg

Att IHMs Yrkeshögskoleutbildningar engagerar och attraherar företag i hela landet är ingen nyhet. Varje vecka anmäler företag sitt intresse för att bli partnerföretag till IHM. I veckan var det åter dags för arbetsmarknadsdag; en dag då företagen slåss om IHM-studenternas uppmärksamhet för att hitta sina framtida medarbetare.Vi träffar några av dem och frågar: Vad söker ni?  - Idag är jag här för att exponera företaget för studenterna och förhoppningsvis hitta rätt personer att anställa. Framtiden i vår bransch är positiv, det behövs både sälj och innovation för att kunna skapa behov och se affärsmöjligheter - precis det IHM är bra på, säger Pär Nyman från PDS Vision. - Vi är här för att säkra vår kompetensförsörjning i företaget. Som gammal IHMare vill jag samarbeta med IHM för att jag vet vad dom levererar. Vi vill ge studenterna möjlighet att jobba i en ständigt föränderlig verklighet, säger Karl-John Sjöqvist VD på Mobile Storytelling. - Vi är engagerade som referens när IHM ans...

IHM Talents är ett samarbete mellan IHM och Inhouse. Här är senaste nytt!  Nadia fick jobb via IHM och Inhouse Nadia Amine Rachdi är konsult på Inhouse och en av våra IHM talents. Här berättar hon om utbildningen på IHM och hur det är att vara konsult på Inhouse. I juni tog Nadia Amine Rachdi sin examen från IHMs YH-utbildning för redovisningsekonomer. – Det är en kvalificerad utbildning, och känns som en riktigt bra grund att stå på, säger Nadia. Nadia har som så många andra som läser på IHM redan varit ute i arbetslivet. Hon har i grunden en ekonomiutbildning på franska som hon läste på universitet i Marocko, och hon jobbade även som ekonom under några år innan hon flyttade till Sverige. Efter att ha lärt sig svenska kände Nadia att hon ville komplettera sin franska utbildning med IHMs YH-utbildning för redovisningsekonomer. – Grunderna i redovisningen är desamma både här och i Marocko, men det finns också skillnader, till exempel när det gäller skatt och moms. Vad har varit det ...

Allt var lugnt fram tills att prisutdelningen skulle starta. Jag var ju redan så stolt och glad över att bara blivit nominerad och sedan blivit en av de sex som gick till final, att det liksom inte var så viktigt att gå längre. Självklart önskade jag ju det, men resan jag redan gjort var inte dålig den heller. Jag fick komma till Berns och dricka bubbel, det var gott nog. Men när det väl var dags, alltså. Hjärtat klappade och pulsen dånade i skallen. Jag började svettas. Tankarna snurrade. ”Tänk om. Tänk om jag vinner. Vad säger man då? Äh, klart du inte vinner, de andra är så fantastiskt duktiga, glöm det! Du kom hit, var glad över det” Sex finalister skulle bli tre. Jag vågade nästan inte titta. När moderatorn presenterade mitt namn som en av de sista tre, visste jag inte vart jag skulle ta vägen. Jag, en av tre? Oh shit! När hon sedan började läsa nomineringen tittade jag, pappa och Christian (två av mina största stöd var ju såklart med) på varandra. Jag fick fram. Det är ju jag!...

(En f.d. karriärist blickar tillbaka och bekänner) Psykolog, personaldirektör, marknadschef, vd och sedan eget konsultbolag. Det låter bra, tycker jag. Och styrelseledamot, lite här och där och varit med och startat företag. Börjat med två tomma händer och kämpat mig fram, alldeles ensam. Bott i Paris, London och Bryssel. Fått böcker publicerade, på flera språk. Bra jobbat Lars Einar, ensam är stark!    Gott så. Kanske. Men var jag så ensam och stark? Egentligen? Min mor, Astrid, hade sina mål för mig och mig trodde hon på. Slashasen som inte klarade skolan. Men jag klarade ju allt hon sagt och ville, till sist. Och Fröken Åsa i skolan, 1-3 klass. Vilken kvinna hon var, förstår jag nu. Hennes tålamod och stora famn, och att hon lät mig gå kvar, trots att jag var rädd för allt och hade min sorgliga statistik av skolk och ”sjukdomar”.  Mitt första fasta jobb blev på Institutet för Tillämpad Psykologi, ITP, i Saltsjöbaden. Och jag hittade ”ny mamma”, Kerstin, den 65 årige ekonomichefen...

Håkan Juholt, jag tänker på en artikel jag läste idag, något som fick mig att stanna upp och tänka till. Jag har inte tidigare uppmärksammat dina uttalanden, men nu fick du mig totalt. Hela min uppmärksamhet riktades mot ditt uttalande i denna artikel: http://www.aftonbladet.se/nyheter/article19818345.ab där du säger följande ” – Jag vill inte stå som någon jävla mobiltelefonförsäljare. Jag vill ha någonting att luta mig mot.” Nej Håkan, den slagne som själv slår väcker inte empati. Det är bra att du inte vill stå där som mobilförsäljare, jag tycker inte du ska det. Varför är att jag vet vad som krävs för att bli säljare, en duktig säljare. Något som du aldrig kommer kunna bli (enligt mig) även om du säkert i denna artikel vill sälja in dig själv och få lite medial uppmärksamhet. Du och jag är så rörande överens om en sak: att du aldrig ska stå där som mobilsäljare. Ditt uttalande bevisar så tydligt varför - du har inte den passion som krävs. Jag reagerade starkt på ditt uttalande, ...

Under Almedalsveckan 2014 var IHM naturligtvis på plats för att lyssna av vad framtiden har att erbjuda. Vi passade också på att bjuda in spännande människor till vår båt, för att samtala om viktiga frågor.Andra kvällens ämne var ”Hur vi kan öka svenska företags konkurrenskraft genom kompetenshöjning?” och gästerna var:• Eva Torsson, VD på SAUF, Sveriges Auktoriserade Utbildningsföretag • Maria Gustavsson, kreativ företagsledare, MIKU• Peter Hellberg, Vice ordförande, Unionen• Hans Lindholm, styrelseledamot och handledare, IHM• Fatima Åsard, verksamhetsledare, Fryshuset• Göran Kraft, partner, Kairos Future• Emelie Widarsson, managementskonsult, Preera och Sverigestudien• Ahmed Abdirahim, utbildare, Fryshuset.Här kan du lyssna på samtalet som leddes av vår content creator Håkan Aludd:Obs! För att kunna lyssna krävs det att din browser-version är;- Chrome 32- Firefox 26- Internet Explorer 10.0 ...

På uppdrag av Svenska Golfförbundet (SGF) och golfens tre intresseorganisationer GAF, PGA och SGA startar vi nu en ny omgång av Golfens Klubbchefsutbildning med fokus på följande områden: ledning, lönsamhet, kommunikation och utveckling.  26 elever från olika delar av landet är samlade under tre dagar på IHM i Göteborg för sitt första pass av nio. På schemat idag står det bland annat ekonomi och nyckeltalsanalys. Vill du veta mer? Kontakta annica [dot] rasmusson [at] ihm [dot] se (Annica Rasmusson)

Galan i Halmstad - en kväll då företagsamheten i Halland hyllas!  IHM sponsrade priset till Årets Marknadsförare med en utbildningscheck på 25 000 kr. Vinnaren Korshags är ett familjeföretag i Falkenberg, med en stolt historia & en tro på godare mat från havet. Under de 35 år som företaget har funnits, har de vuxit från ett litet hembyggt rökskåp till ett av Sveriges största fiskrökerier. Ur motiveringen: ”De är en förebild ur många aspekter. Ett företag att inspireras av. De har lyckats etablera sig nationellt, och även profilera sig internationellt. Med ett gediget och strategiskt varumärkesarbete har de vågat ta det stora steget att byta namn på företaget och redan vid lanseringen bevisat sig, de är vad de heter, ett familjeföretag som står upp för sina premiumprodukter och sitt hantverkskunnande.” Ett stort grattis ifrån oss på IHM Business School och fortsatt lycka till! Läs mer om galan här!     

Ruth Westberg som vinnare av utmärkelsen "Årets Unga VD"! Ett stort grattis önskar alla vi på IHM Business School! Läs Ruths blogginlägg om priset här. Finalisterna Ruth Westberg, VD Concept och Arash Gilan,VD MediaView Sverige har båda gått på IHM.    Utmärkelsen Årets Unga VD delades ut på den stora vd-galan på Berns den 10 november i samband med att Årets VD utsågs i tre olika kategorier. Initivativet till priset kommer från tidningen Entreprenör tillsammans med Motivation.se och Executive People. Syftet är att lyfta fram goda exempel och uppmärksamma duktiga vd:ar som driver sina organisationer och svenskt näringsliv framåt. Mycket bra tycker vi på IHM.  

...vad jag har starka känslor för er, ni gör mig så glad och jag tycker så mycket om er, och samtidigt så kan ni göra mig så besviken (vilket alla säljare kan göra oavsett vilken roll/titeln ni än har) helt beroende på hur stort allvar ni tar ert yrke på. Jag tar mitt yrke som säljare på största allvar. Det är ett hantverk som ska tas på största allvar. Jag är stolt över mitt levebröd, jag är en stolt säljare och jag älskar att göra affärer! När en bra säljare ringer mig blir jag riktigt glad, för det är en person som har förstått att ta sitt yrke på största allvar och gör ett gott intryck. Ibland gör vi affärer ibland gör vi det inte. Men några av de som ringer mig kommer aldrig få affär, och det beror inte alls på mig, det beror helt på dig. Så jag tänker dela med mig lite av mina to do och not to do. För en timma sedan blev jag uppringd av en telefonsäljare i ett privatärende; de önskade prata med mig som kund och erbjuda mig att utöka mina tjänster. So far so good. Vi tar det fr...

Nisse, heter en mycket känslig kille som jag jobbade med på ett bolag en gång i tiden. Han tyckte att företaget måste utvecklas och stå i samklang med tiden. Han läste Popcorn rapporten, hade alltid koll på läget, älskade sin McIntosh, kom ständigt med nya idéer och hade märkeskläder. Han föreslog till och med att vi skulle sluta med slips på kundmöten, så du kan förstå att han inte alltid hade det så lätt. Ety detta hände i en annan tid (nämligen på 1990 talet). Det där med slips kommenterade Chefen Chefson bara med två ord:  -    Glöm Det.  SÅ var det slutdiskuterat. Fanns ju inte så mycket mer att säga då. Liksom.  Men dagarna gick och Nisse fick ont i magen ibland. Det hade han aldrig haft tidigare och alla värden på den årliga hälsokontrollen visade att han konditionsmässigt låg i nivå med olympiska pololandslaget. Så vad var felet? Varför kändes det alltmer som en gnagande tomhet när han på kvällen stod i företagsduschen efter att ha sprungit den obligatoriska milen. Det kunde...

MTA Bygg och Anläggning fick pris som en av Sveriges bästa arbetsplatser 2014 av organisationen Great Place to Work, och vi ringer upp VD Tommy Zryd och frågar hur det gick till. – Hej Tommy, hur fick ni det här priset? – Hej ! Efter många år i byggbranschen ville jag och två kollegor skapa något eget, så 2010 bildade vi MTA. Redan från början ville vi vara ett värderingsstyrt byggbolag med långsiktigt fokus på trivsel för våra anställda och kunder. Vi var övertygade om att om våra anställda kände att vi satsade på säkerhet, arbetsmiljö, träning och andra trivselfaktorer, så skulle de göra ett bättre jobb och våra kunder skulle bli väldigt nöjda. – Och de anställda trivs? – Ja, vi har vuxit till 130 personer sedan starten och insåg att vi behövde hjälp att göra en undersökning som kunde visa hur vi låg till.  Vi anmälde oss till ”Great Place to Work” som genomförde undersökningen, och 97% av alla våra medarbetare var mycket nöjda. – För att skapa detta måste ni satsat en hel del på ...

Jag tror att vi alla behöver inspireras. Inspiration för mig är när jag upplever någonting som ger mig glädje, energi och lite jävlar anamma. Jag kan hitta inspiration i så många olika saker. En skogspromenad med hundarna, eller en ridtur. Att gräva i trädgården och ”flytta” saker. (C säger att jag flyttar saker och ser det som att jag gör något, men i själva verket flyttas det bara runt för att sen hamna på samma plats igen. Jag tycker han har fel, jag FIXAR ju!) Liksom ett leende i kassan på mataffären. Eller att träffa människor som är duktiga på det de gör. Jag upplever att inspirationen har många olika ansikten. En del rör sådant som man gör på fritiden, annat på jobbet. I vissa perioder när det är stressigt kan jag komma på mig själv med att inte vara mottaglig för inspiration. Jag har lixom så fullt upp med det jag håller på med, att jag glömmer av att hålla den sidan öppen hos mig. Jag tror det är viktigt att man ger sig själv tid till att inspireras. Att reflektera och fram...

Under Almedalsveckan 2014 var IHM naturligtvis på plats för att lyssna av vad framtiden har att erbjuda. Vi passade också på att bjuda in spännande människor till vår båt, för att samtala om viktiga frågor. Första kvällens ämne var ”Entreprenörskap och Innovationskraft” och gästerna var: • Olof Gränström, utbildningsansvarig på Ung Företagsamhet• Ida Karlbom, projektledare på Skandia och Sverigestudien• Nilla Tjällden, verksamhetschef på Företagarna Sthlm• Andreas Remling, managementkonsult på Preera• Johan Stael von Holstein, entreprenör• Hans Lindholm, handledare på IHM • Klementina Österberg, VD på inkubatorföretaget GU Holding• Per-Arne Lundberg, affärsutvecklare på inkubatorföretaget Gothia Science Park• Erik Thorstensson, Creatables• Peter Vesterbacka, en av grundarna till Rovio, företaget som skapade Angry Birds Här kan du lyssna på den härliga diskussionen som leddes av vår content creator Håkan Aludd. Obs! För att kunna lyssna krävs det att din browser-version är;- Chrome ...

Jag tror inte så många missat det. Inte av dem i min närhet i alla fall. För er andra, så är ni förlåtna och ni får reda på det här. För ett tag sedan fick jag veta att jag blivit nominerad till Årets unga VD. I stunden tänkte jag inte så mycket på det. Mer en kul grej. Som jag brukar reagera, jag hoppar på, resan går av bara fan, och först efteråt insåg jag vad som hände. Typiskt mig. Några dagar efter att jag fått reda på det här började jag tänka. Vad var det egentligen jag skulle vara med i? En tävling? Årets VD hade jag hört om innan, men Årets unga VD? Det visade sig att det är första gången de har denna utmärkelse, där kriterierna är: - Pristagaren har kunnat visa på särskilt goda resultat i form av påtaglig tillväxt och nyanställningar i den verksamhet som han/hon är vd för. - Pristagaren har förmåga att leda människor och har genom sitt ledarskap fått människor att växa. - Pristagaren tar aktivt ansvar för hur företaget påverkar samhället, ur såväl ekonomiskt, miljömässigt ...

Hur många är dom? Pedofilerna och ”pedofilringarna”, alla dom här männen. Pedofilerna, dom som misshandlar partners och egna barn och männen som köper sex? Och vilka är dom? Ja, det är någon du känner. Någon du arbetar med. Ska vi alla vara misstänksamma och ska alla män vara misstänkta? Icke. Men ändock. Hur många är dom? Rapport efter rapport i media.  Och nu vill regeringen förbjuda sexköp utomlands. För svenskar alltså, även om det skulle vara lagligt i det land du befinner dig i. Med ”svenskar” menar jag män. Unga och äldre män. Men förbjuda något som är tillåtet där jag är?! Kan ni tänka sånt överförmynderi? Köpa och köpa förresten. Låt mig citer kommunalrådet Vredmark i Rödköping:  Vi köpte inga kvinnor, vi hyrde dom en stund bara. Pedofiler, är de onda människor? Köpa människor. Är det ondska? Ja det tycker jag. Ondskan finns överallt men har oftast inget ansikte. Statistik och anonyma pixlade bilder på män som, förgripit sig på barn, misshandlat eller köpt kvinnor. Eller hy...

Sidor